概要
Node.js 22.18.0(LTS 'Jod')がリリース。 TypeScriptファイルの型情報除去(type stripping)がデフォルト有効化。 多数の依存ライブラリの更新やバグ修正を実施。 新機能・改善点やドキュメントの調整が含まれる。 一部機能は実験的で今後変更の可能性あり。
Node.js 22.18.0 'Jod' (LTS) 主な変更点
-
TypeScript型情報除去(type stripping)デフォルト有効化
- TypeScriptファイル を追加設定なしで直接実行可能。
- 例:
node file.tsでTypeScriptファイルを実行、 型情報は自動的に除去。 - 一部サポートされない構文あり、詳細は公式ドキュメント参照。
- 実験的機能 のため、将来的に仕様変更の可能性。
- 無効化は
--no-experimental-strip-typesフラグで対応。
-
依存ライブラリのアップデート
- amaro、sqlite、npm、googletest、minimatch、acorn、simdjson、zlibなどを最新バージョンへ更新。
- セキュリティやパフォーマンス向上、バグ修正。
-
ESM/モジュールシステムの改善
import.meta.mainの実装。- TypeScriptサポート関連のエラーメッセージ改善。
- Coreモジュールのスキーマ変換やCJS/ESMローダーの強化。
-
ファイルシステム(fs)・パーミッション・その他APIの改善
- AsyncIteratorによるfs-eventsバースト処理の正確な対応。
- パーミッションモデルのspawn時フラグ伝播強化。
- readBigIntsオプションのsqlite接続レベル対応。
- 新API
fileURLToPathBufferの追加。
-
Worker/REPL/テスト関連の拡張
- Workerのasync disposableサポート。
- REPLのevalエラー・タブ補完バグ修正。
- テストの安定性向上や新たな既知の問題テスト追加。
-
ドキュメント・メタデータの更新
- Watchモード関連フラグのドキュメント追加。
- コラボレーター・連絡先情報の更新。
- 各種APIドキュメントの修正・安定性マーカーの統一。
-
バグ修正・内部最適化
- メモリリークや誤ったタイムアウト処理の修正。
- 内部API・ビルド関連のクリーンアップ。
- 既存コードのリファクタリングとコメントの整理。
TypeScript型情報除去の詳細
-
TypeScriptファイルをNode.jsで直接実行可能
- 追加ツールや設定不要。
- 型情報は実行時に自動除去され、 JavaScriptとして評価。
-
制限事項
- 一部のTypeScript構文は未対応。
- 詳細や既知の制限は公式ガイド参照。
-
実験的機能
- 仕様が今後変更される可能性。
- 安定運用が必要な場合は
--no-experimental-strip-typesで無効化を推奨。
その他の注目機能・改善点
- import.meta.main の実装により、モジュールのエントリーポイント判定が容易化。
- AsyncIterator によるfsイベントバーストの正確な処理。
- Workerスレッド のasync disposable対応でリソース管理が容易に。
- readBigInts オプションでsqliteの大きな整数値も正確に扱えるように。
- fileURLToPathBuffer APIでファイルURL→Buffer変換が簡単に。
ドキュメント・開発フローの強化
- watchモード 関連フラグの詳細ドキュメント化。
- コラボレーターや連絡先、API安定性マーカーなどの情報整理。
- テストの安定性向上と自動化強化。
このリリースは、 TypeScriptユーザー や モダンなNode.js開発者 にとって大きな利便性向上をもたらす内容。 詳細はNode.js公式リリースノートや各種ドキュメント参照。