フロントエンド・ビルドツールViteの開発チームは、Vite 3.0から5ヶ月を経てVite 4.0を先日リリースした。この新バージョンは、Rollup 2.0から3.0へのブレークアップが動機となっている。Vite 4.0ではRustベースのバンドラーであるSWCのサポートも追加され何十倍も高速化されたとしている。
Vite 4.0はビルド時にRollup 3.0を使用するようになった。Rollup 3.0はその数週間前のViteConf 2022で発表された。ViteConf 2022は、Viteエコシステムの主要な参加者を集めた。Vite 2.0以降Viteはフレームワークにとらわれないビルドツールとなっている。その結果、他の多くの開発者ツール、ライブラリ、フレームワークがViteをサポートするようになった。 例えば、Storybook、Astro、Nuxt、SvelteKit、Solid Start、Hydrogen、Laravel、Qwik City、その他である。
パートナーの協力のもと、ロールアップ3によるビルドタイムでパワーアップしたVite 4のリリースを発表できることを嬉しく思う。この新しいメジャーバージョンへのスムーズなアップグレードができるよう、パートナー企業のみなさんと協力してきた。
Rollup 3 は Rollup 2 とほぼ互換性があるが、カスタムの rollupOptions
を使っている開発者は問題が発生するかもしれないので、 Rollup migration guide を参照して config をアップグレードしてほしい。
Vite 4.0 は dotenv
と dotenv-expand
のバージョンもアップグレードしている (dotenv
と dotenv-expand
の changelog を参照してほしい)。dotenv
の新バージョンは、特定の文字(例えば、バックティック)を含む名前を引用符で囲むことを開発者に要求する、破壊的な変更を引き継いでいる。
-VITE_APP=ab#cd`ef
+VITE_APP="ab#cd`ef"
最近リリースされた Next,JS 13 には、Webpack に代わる、まだアルファ版の Rust ベースの新しい Turbopack が含まれており、Vite よりも桁違いに高速であると主張している。Turbopackは、Webpackの代替となるRustベースのバンドルソフトで、まだアルファ版であるSWCを使用することにより、速度が向上したと主張している。SWC は、Vite 3.0 で使用されていた Babel の 20 倍の速度であると主張している。Vite 4.0では、SWCのサポートが追加され、この差を縮めることができるはずだ。とViteチームは説明する。
SWCは今やBabelの成熟した代替品であり、特にReactプロジェクトの文脈ではそうだ。SWCのReact Fast Refreshの実装はBabelよりもずっと高速で、プロジェクトによっては、より良い代替品になった。Vite 4 からは、Reactプロジェクト向けに、トレードオフの異なる 2 つのプラグインが利用できる。私たちは、どちらのアプローチも現時点でサポートする価値があると考えており、今後も両方のプラグインの改良を検討していく予定だ。
開発者は、新バージョンに関連する変更点の詳細なリストについては、移行ガイドおよびリリースノートを参照してほしい。ViteはMITオープンソースライセンスの下で配布されている。コントリビュートは歓迎されるが、Viteのコントリビューションガイドに従わなければならない。