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

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

» 2023年11月06日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 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.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。