検索
ニュース

Node.jsの最新版「Node.js 21」が公開fetch/WebStreamsの安定、テストランナーでのglob実装など

Googleの「V8」JavaScriptエンジンで動作するサーバサイドJavaScript環境の最新版「Node.js 21」が公開された。

Share
Tweet
LINE
Hatena

 OpenJS Foundationは2023年10月17日(米国時間)、Googleの「V8」JavaScriptエンジンで動作するサーバサイドJavaScript環境の最新版「Node.js 21」を公開した。

 Node.js 20は2023年10月に長期サポート(LTS)に入り、Node.js 21がNode.jsの「現行」リリースラインとして置き換えられた。Node.js 21は2024年4月までの期間、Node.jsの「最新」リリースとなる。Node.js 21の主な変更点は以下の通り。

fetch/WebStreamsの安定

 fetchモジュールとWebStreamsに重要な変更が含まれており、両モジュールは、最近のアップデート後に安定版としてマークされた。この更新によりWebStreams、FormData、Headers、Request、Response、fetchに影響を及ぼす。

組み込みのWebSocketクライアント

 実験的なブラウザ互換のWebSocketが実装された。これは、「--experimental-websocket」フラグを使用して有効にできる。実験的な機能であるため、変更の対象となる可能性がある。

Node.jsテストランナーでのglob(ファイルパターンのワイルドカード)のサポート

 テストランナーは「--test」パラメータを指定する際にglobをサポートするようになった。これは、より効率的で柔軟な方法でテストを実行するためのglobを使用できることを意味する。例えば、「node --test **/*.test.js」は複数のディレクトリ全体で拡張子が「.test.js」の全てのファイルに対しテストを実行することができる。

モジュールのデフォルトを反転するフラグ「--experimental-default-type」の実装

 Node.jsで使用するデフォルトのモジュールシステムを切り替えるために新しいフラグ「--experimental-default-type」を使用できるようになった。既に明示的にESModulesやCommonJSとして定義されている入力(例えば、『package.json』の『"type"』フィールドや 『mjs/.cjs』ファイル拡張子、『--input-type』フラグで指定されているもの)には影響を与えない。

モジュールのカスタマイズフックglobalPreloadの削除

 モジュールのカスタマイズ フック「globalPreload」が削除された。OpenJS Foundationはデータをアプリケーションスレッドからカスタマイズフックに送信するためには「register」を使い、スレッド間の通信チャネルを確立するために「initialize」フックを使うよう呼びかけている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る