Node.js Foundation、技術仕様の更新内容を公表
OpenJS FoundationはNode.js 22系の最新マイナーアップデートとなるv22.12.0を公開しました。今回のリリースでは、以前から議論されていたTypeScriptファイルの直接実行に関する実験的なサポートが導入されました。これにより、ユーザーは外部のトランスパイラやランタイムを別途インストールすることなく、amendmentを伴うフラグを指定することでTypeScriptコードの評価が可能になります。これはNode.jsが標準でモダンな開発者体験を統合しようとする姿勢を象徴する重要な一歩です。
技術的な変更点として、require()関数を用いたESモジュールの同期的な読み込み(Require ESM)の安定化が進みました。これまでNode.jsではCommonJSとESモジュールの混在環境において非同期読み込みの制約が課題となっていましたが、本バージョンでは特定の条件下でフラグなしでの動作が強化され、ライブラリ作者の移行負荷が大幅に軽減されます。また、WebSocketクライアントの実装についてもデフォルトで有効化される範囲が広がり、標準APIへの準拠がさらに進んでいます。
加えて、パフォーマンス面ではV8エンジンのマイナーアップデートが統合され、ガベージコレクションの効率化とJITコンパイルの最適化が図られました。セキュリティ面においても、実験的な権限モデルの改良が含まれており、ファイルシステムアクセスやネットワーク通信の制限をより細粒度で制御できるようになっています。既存のNode.js 22 LTSユーザーにとって、互換性を維持しつつ最新の機能を試験的に導入できる安定したアップグレードパスとなります。
Related tools
この記事に関連するおすすめツール
比較検討しやすい導入候補を優先して表示しています。一部リンクは広告・アフィリエイトを含む場合があります。
フェレット記者の用語メモ
esm
ESM(ECMAScript Modules)はJavaScriptの標準モジュールシステムで、`import`/`export`構文を使うよ。CommonJSの`require`/`module.exports`と違って、静的解析が可能でツリーシェイキングなどの最適化がしやすいのが特徴。Node.js環境でESMを使う場合、パッケージの`type`フィールド設定やファイル拡張子(`.mjs`)の扱いで混乱しやすく、特に既存のCommonJSベースのコードと混在させると、モジュールの解決順序やスコープの違いでエラーが出やすいのが落とし穴だね。
比較: CommonJS
JIT
JIT(Just-In-Time)コンパイルは、プログラム実行時にコードを機械語に変換する技術だよ。Node.jsのV8エンジンもこれを使ってJavaScriptを高速化してる。パフォーマンスチューニングで『なぜか遅い』ってなったとき、JITの最適化が効いてないケースがあるから、プロファイラでボトルネックを特定するのが重要だね。特に動的なコード生成が多いと、JITがうまく最適化できずに性能が出ないことがあるよ。
比較: AOTコンパイル
要点を短く整理して掲載しています。詳細は出典を確認してください。


