Fork me on GitHub

2023-10-31のJS: Next.js 14、MSW 2、Node.js 21.1.0

Edit on GitHub 編集履歴を見る

JSer.info #667 - Next.js 14がリリースされました。

Node.js 16のサポート終了、next exportコマンドを非推奨化、next/imagedomainsオプションを非推奨化などの変更が含まれています。
また、Server ActionsのStable化、Metadata APIの改善が含まれています。
実験的な機能として<Suspense>を使ったPartial Prerenderingのサポートが追加されています。

今回のリリースに合わせて、Next.jsのチュートリアルも新しいものが公開されています。


HTTPリクエストのモックライブラリであるMSW 2.0がリリースされています。

Node.js 16のサポート終了、APIのシグネチャーの変更、ブラウザ向けのAPIをmsw/browserへ移動などの破壊的な変更が含まれています。
APIの変更範囲は多いですが、マイグレーションガイドも合わせて公開されています。

また、ReadableStream/FormDataのモックをサポートなども追加されています。


Node.js 21.1.0がリリースされました。

Ambiguous fileがESMかを判定する--experimental-detect-moduleフラグの追加されています。
詳しくは、次の記事で解説しています。

また、vm.Scriptのバグの修正が修正されています。
この問題はNode.js 16.11.0+以降で起きていて、主にJestでメモリが確保され続けるためクラッシュする問題が発生してました。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Next.js 14 | Next.js

nextjs.org/blog/next-14

Next.js ReleaseNote

Next.js 14リリース。
Node.js 16のサポート終了、next exportコマンドを非推奨化、next/imagedomainsオプションを非推奨化。
Server ActionのStable化、Metadata APIの改善。
実験的な機能として<Suspense>を使ったPartial Prerenderingのサポートなど


Astro 3.4: Page Partials | Astro

astro.build/blog/astro-340/

astro ReleaseNote

Astro 3.4リリース。
page componentをpartial pageとして利用できるpartialオプションをサポート、画像最適化のパフォーマンス改善。
実験的な機能としてDev Overlayを追加など


Release Release v1.6.0 · axios/axios

github.com/axios/axios/releases/tag/v1.6.0

HTTP library ReleaseNote security

axios v1.6.0リリース。
X-XSRF-TOKENというCookieが設定されている時に、withCredentialsオプションが有効だと、別オリジンに対するリクエストにもX-XSRF-TOKENの値が送信される脆弱性の修正


Release v8.10.0 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v8.10.0

pnpm ReleaseNote

pnpm v8.10.0リリース。
supportedArchitecturesで複数のアーキテクチャを指定できるように。
ホスト環境とDocker環境に両方のアーキテクチャのバイナリをインストール際などに利用できる。


Introducing MSW 2.0 - Mock Service Worker

mswjs.io/blog/introducing-msw-2.0

JavaScript testing library ReleaseNote

MSW 2.0リリース。
Node.js 16のサポート終了、APIのシグネチャーの変更、ブラウザ向けのAPIをmsw/browserへ移動。
ReadableStream/FormDataのモックをサポートなど


Node v21.1.0 (Current) | Node.js

nodejs.org/en/blog/release/v21.1.0

nodejs ReleaseNote

Node.js v21.1.0リリース。
Ambiguous fileがESMかを判定する--experimental-detect-moduleフラグの追加、Jestでのメモリリークの原因となっていたvm.Scriptのバグの修正など


Release v30.0.0-alpha.1 · jestjs/jest

github.com/jestjs/jest/releases/tag/v30.0.0-alpha.1

jest ReleaseNote

Jest v30.0.0-alpha.1リリース。
mts/ctsをデフォルトでサポート、fake timerの改善、SnapshotでError Causeをサポート、Prettier 3のサポートなど


アーティクル


JavaScriptビルドツールの整理 各ツールの機能と依存関係

zenn.dev/nakaakist/articles/86457bf2908379

vite parcel webpack rspack Next.js bundler article

Vite/Parcel/webpack/Rspack/Turbopack/Next.js/Rollup/esbuild/SWC/Bun/Babel/Terser の特徴と依存関係について。


Deprecation of formatting rules - ESLint - Pluggable JavaScript Linter

eslint.org/blog/2023/10/deprecating-formatting-rules/

ESLint article

ESLint v8.53.0でスタイル系のルール(スペースやセミコロンなどを扱うルール)は、非推奨となる。
マイグレーション先としてスタイル系のルールをメンテナンスするESLint StylisticやPrettierなどのツールの利用を推奨している。


Announcing WinterJS

wasmer.io/posts/announcing-winterjs-service-workers

JavaScript WebAssembly ServiceWorker article

WinterCG仕様に準拠したJavaScript Runtime。
SpiderMonkeyをRuntimeとして使い、Service Workers APIを実装している。
WasmerのWASIX準拠にしている。


developer.chrome.com/ja/blog/cookie-countdown-2023oct/

Chrome article

Chromeの3rd party Cookieの廃止と代替Proposalについて


スライド、動画関係


JavaScript JIT compiler - YouTube

www.youtube.com/playlist?list=PLMOpZvQB55bcTsXzRcBjHJJb52OGWwNjr

JavaScript C++ video

LadybirdのJavaScriptエンジンであるLibJSにJITを実装していく動画シリーズ。


Vue Fes Japan 2023 資料 X ポストまとめ

zenn.dev/punkshiraishi/scraps/bf3829dc79466b

Vue Conference slide

Vue Fes Japan 2023のスライドまとめ


ソフトウェア、ツール、ライブラリ関係


joshmarinacci/node-pureimage: Pure JS implementation of the HTML Canvas 2D drawing API

github.com/joshmarinacci/node-pureimage

nodejs JavaScript library

Pure JavaScriptなNode.js向けCanvas APIの実装ライブラリ。


この記事へ修正リクエストをする
JSer.info Slackに参加する