Rolldown 1.0
Rust 製の JavaScript バンドラー Rolldown が 1.0 安定版に到達し、本番利用可能と位置づけられた。単体パッケージとしても使え、Vite 8 以降では既定のバンドラーとして組み込まれている。^1.0.0 以降はオプション名・型・プラグインフックのシグネチャを後方互換で維持し、公開 API の破壊的変更は予定されていない。experimental とマークされた機能を除く。
出力のデッドコード除去、チャンク分割、インライン化のヒューリスティックは引き続き改善され、オプション既定値も変わる可能性がある。ただし生成物のランタイム挙動は変わらないと説明されている。
性能面では Rollup 比で 10〜30 倍(プロジェクト規模が大きいほど差が広がる)、esbuild と同等の速度をうたう。Rollup 互換のプラグイン API を維持し、多くの Vite プラグインは Vite 8 上でそのまま動作する想定。フックフィルタにより条件不一致の JavaScript プラグインは Rust から JS への往復を省略でき、組み込みの replacePlugin や esmExternalRequirePlugin は JS ホップなしで差し替え可能。
最新 RC から 1.0 へのアップグレードにコード変更は不要。RC 以降では実験的な watch モードの再実装と、実験的な Native MagicString が追加されている。
import { defineConfig } from 'rolldown'
export default defineConfig({
input: 'src/main.ts',
output: { dir: 'dist' },
})Vite 8 利用者は build.rolldownOptions で Rolldown 固有のオプションを渡せる。今後は開発時も本番同様にアプリ全体をバンドルする Vite full bundle mode や、lazy barrel optimization の安定化が進行中。