Vite 7.0が来たぞ

に公開

https://vite.dev/blog/announcing-vite7

2025年6月24日に7.0がリリースされたので個人的に目に留まった内容を簡単にまとめておきます。
因みにViteは現在毎週3100万回ダウンロードされており、前回のメジャーリリース(7か月前)と比較すると、週辺りのダウンロード数が1400万回増えているらしいです。

Rust製の次世代バンドラーが登場

これまでRollupと言うバンドラーが使用されてきましたがVoidZeroチームが1年ほどかけてRolldownと言う新たなRust製のバンドラーを開発しました。
現時点では標準バンドラーではないですがrolldown-viteパッケージを使えば、Rolldownをバンドラーとして使用可能です。
将来的にはこのRolldownがViteの標準バンドラーになる予定だぞうです。

Node.js V18のサポートを終了

Node.js V18 は2025年4月末にサポート終了となる為それに合わせてViteもサポートを終了するとのことです。
今後はNode.js V20.19+ もしくは V22.12+ が必須となりました。
また、7.0からはViteは完全にESMのみとなったそうです。CJSのrequire()で読み込む様な形式は非推奨となりました。(後方互換性はあるそうです)

デフォルトのブラウザターゲットが広く利用可能なベースラインに変更

これまでES Modulesをサポートするブラウザすべてをビルド対象としていましたが7.0からは、Google/Baselineプロジェクトのwidely availableに準拠したブラウザがデフォルトターゲットになります。

ブラウザ 旧バージョン 新バージョン(Vite 7以降)
Chrome 87 107
Edge 88 107
Firefox 78 104
Safari 14.0 16.0

Vitestは3.2からサポート

そのままですが7.0は2025年6月2日にリリースされたVitest 3.2からサポートされるそうです。
Vitestのリリースノート興味ある方は覗いてみて下さい。
https://vitest.dev/blog/vitest-3-2.html

Vite7.0への移行

6系から7.0への移行はスムーズにアップデートできるそうです。SassレガシーAPIサポートやsplitVendorChunkPluginのような、すでに非推奨となっている機能は削除されており、プロジェクトに影響を与えることはないとのこと。アップグレードする前に、移行ガイドがあるのでそれを確認してくれとのことです。
https://ja.vite.dev/guide/migration.html

変更点の詳細な内容を知りたい方はこちらに全て載っています。

https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md

Discussion