デフォルトで require(esm) を有効化
- Node.js 22.12.0('Jod')LTS バージョンがリリースされ、
require(esm) 機能がデフォルトで有効化された
- もはや
--experimental-require-module フラグは不要
require() を使ってネイティブ ES モジュールを読み込めるようになった
- 機能の背景:
- CommonJS(CJS)ユーザーとの互換性を維持しつつ、ES モジュール(ESM)の採用を加速するため
- プラグインコードへのネイティブ ESM サポート導入を助け、フレームワークやツールの移行プロセスを支援する
- 開発者向けの注意点:
require() で読み込む際、ERR_REQUIRE_ESM エラーはもはや発生しない
- ただし、モジュールに
top-level await が含まれる場合は ERR_REQUIRE_ASYNC_MODULE エラーが発生する可能性がある
- 警告メッセージは、モジュールが node_modules パスから読み込まれない場合に出力される
自動化されたプロセスによるリリース速度の向上
- 2023年からリリースプロセスの自動化を進めており、ここ数か月はセキュリティリリース関連の作業を自動化して効率を高めた
- 新機能:
- リリースワークフローを簡素化する
--releaseDate と --yes フラグを追加
- セキュリティリリースの変更ログに CVE-ID メタデータを自動的に含める機能を追加
- リリースポリシーの変更:
- Node.js 24 から、すべてのメジャーリリースに安定性のための1か月の「ベーキング期間」を必須で含める
セキュリティ強化
- セキュリティ報告の減少:
- 2024年10〜11月に報告されたセキュリティ問題は合計10件で、過去最低を記録
- 報告内容: スパム(1)、非該当(4)、参考用(2)、新規問題(2)、分類完了(1)
- 改善効果:
- 新しいセキュリティポリシーがシステム保護の強化に貢献
- 自動化されたワークフローにより、リリース提案、Web サイトのバナー更新、ブログ投稿の管理が簡素化された
- 追加の開発:
- 変更ログへの CVE-ID メタデータ自動追加により、セキュリティリリースの速度を改善
要点
require(esm) のデフォルト有効化は、CommonJS と ES モジュールの間のギャップを縮める重要な一歩であり、開発者がモダンで相互運用可能な JavaScript 開発をより容易に進められるようにする
- Node.js は、パフォーマンス、セキュリティ、エコシステムの柔軟性を継続的に発展させ、JavaScript 言語とプラットフォームのグローバルな影響力を強化することに貢献している
まだコメントはありません。