8月7日、Node.jsはv22.6.0をリリースした。このバージョンにはいくつかの注目すべき新機能が含まれている。
本記事は、以下のエキスパートに監修していただきました:
古川陽介さん(Japan Node.js Association代表理事)
実験的なTypeScriptサポート
Node.jsは、初期的なTypeScriptサポートのために--experimental-strip-types
フラグを導入した。この機能は、TypeScript特有の構文を変換することなく.tsファイルから型注釈を削除する。現在の制限として以下の点がある。
- インライン型注釈のみサポートし、enumやnamespaceなどの機能はサポートしていない。
- importおよびrequire文に明示的なファイル拡張子が必要である。(
import x from 'x.ts'
) - 実行時エラーを避けるため、型インポートには
type
キーワードの使用を強制する(※) node_modules
内のTypeScriptファイルにはデフォルトで無効である。
※監修者による補足:import type { MyType } from ".foo.ts"
のように、type import での型の指定を強制するということ。import { MyType } from ".foo.ts"
のように、普通のシンボルとして持ってくることもTypeScriptはできるが、これだと type なのか普通のシンボルなのかわからないので、 型をimportするときは必ずtypeをつける必要がある
Experimental Network Inspectionサポート
このアップデートでは、Node.jsでのネットワーク検査の初期サポートも導入されている。この機能は現時点では実験的なものであり、使用するには--experimental-network-inspection
フラグを有効にする必要がある。この機能を有効にすると、JavaScriptアプリケーション内で発生するネットワーク活動を検査できる。
ネットワーク検査を使用するには、以下のコマンドでNode.jsアプリケーションを起動する。
$ node --inspect-wait --experimental-network-inspection index.js
現時点では、ネットワーク検査機能は開発中であり、今後のアップデートで機能が拡張される予定だ。
- httpおよびhttpsモジュールに限定されている。
- Chrome DevToolsのNetworkタブとの連携は、Node.jsチームからChromiumチームに対して行われた機能要求が対応されるまで利用できない。
詳細はNode.js — Node v22.6.0 (Current)を参照していただきたい。