ESモジュールをサポートした「Next.js 18」公開、Rustコンパイラも導入

 Reactフレームワーク「Next.js」開発チームは10月27日、最新のメジャーリリースとなる「Next.js 12」を公開した。過去最大のリリースとして、Rustコンパイラ、Middlewareなどが新たに導入されている。

 Next.jsは、米Vercelが開発するReactを土台とするアプリケーションフレームワーク。TypeScriptをサポートし、ゼロ設定(自動のコンパイルとバンドル)、ビルド時の事前ページレンダリング(SSG)とリクエスト時のサーバーサイドレンダリング(SSR)のハイブリッドを単一のプロジェクトで利用できるなどの特徴を備える。ライセンスはMIT License。  Next.js 12は、6月に公開されたバージョン10に続く最新版。

 最新のRustコンパイラを導入した。SWC(Speedy web compiler)をベースとし、最大3倍高速にローカルでリフレッシュし、運用向けのビルドを最大5倍高速にするなどバンドルとコンパイルを最適化するという。Babelと比較すると17倍高速にコンパイルができる。大規模なコードベースでの速度、性能の可観測性が強化され、Fast Refreshの最適化、オンデマンドのエントリの信頼性などwebpackも改善した。

 設定に対してコードを使用できるMiddlewareを導入した。fetchなど標準のWeb APIをサポートするStrictランタムを土台とするもので、リクエスト完了の前にコードを走らせることができる。リライト、リダイレクト、ヘッダの追加、ストリーミングHTMLなどでコードを改変できる。

 また、バージョン11.1で実験導入したネイティブのECMAScript(ES) Modulesのサポートが、最新版ではデフォルトとなった。URL経由でのES Modulesのインポートもサポートした。  次期React 18対応の準備も進め、サーバーサイドのストリーミング、React Server Componentsなどバージョン18で導入される機能に向けた機能を導入した。  このほか、多数の機能強化が加わっている。

Next.js
https://nextjs.org