Since its first release, Vite has run two bundlers. esbuild handled development because it was fast, and Rollup handled production because its output was good. Most of the time you didn't notice. Now and then a bug appeared in one and not the other, and you learned that your dev server and your build were different programs.
Vite 8, released on March 12, 2026, ends that split. It ships with Rolldown, a Rust bundler from the VoidZero team, as its "single, unified" bundler for both modes, and the team promises "up to 10-30x faster builds while maintaining full plugin compatibility."
Before and after
| Vite 7 | Vite 8 | |
|---|---|---|
| Dev transforms | esbuild | Oxc, through Rolldown |
| Production bundle | Rollup | Rolldown |
| CSS minification | esbuild by default, lightningcss optional | Lightning CSS built in |
| Node.js | 20.19+, 22.12+ | 20.19+, 22.12+ |
Vendor numbers
The announcement quotes production build times from companies that tested the Rolldown integration early:
- Linear, production build
- 46s → 6s
- Beehiiv build time
- −64%
- Ramp build time
- −57%
- Mercedes-Benz.io build time
- up to −38%
Linear's build got about eight times faster, and Mercedes-Benz.io cut its build time by up to 38%. The bundler is one part of a build. Type checking, image processing and custom plugins keep their own cost, and a plugin written in JavaScript still runs at JavaScript speed. Time your own build on Vite 7 before you upgrade, so you have a number to compare against.
Plugins and config
"Most existing Vite plugins work out of the box with Vite 8," the team writes, and @vitejs/plugin-react v5 stays compatible. A compatibility layer converts existing esbuild and rollupOptions settings, but both keys are on their way out: the migration guide renames build.rollupOptions to build.rolldownOptions and deprecates the esbuild option.
// vite.config.ts on Vite 8
import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [react()],
build: {
// was build.rollupOptions; the old key still maps through, deprecated
rolldownOptions: {
output: { entryFileNames: "assets/[name]-[hash].js" },
},
},
});
Still moving
At the Vite 8 launch the Rolldown project itself was still labeled a release candidate and its minifier was in alpha, so check their current status before you lean on either. On the roadmap, an experimental Full Bundle Mode targets "3x faster dev server startup" by bundling in development too, which would close the remaining gap between dev and production.
For a team on Vite 7 with an ordinary plugin list, I'd run the two-step path on a branch, rename rollupOptions, compare the bundle output with a visualizer, and ship once the diff holds no surprises.
Sources
- Vite 8.0 is out!, Vite team, March 12, 2026
- Vite 8 Beta: The Rolldown-powered Vite, Vite team
- Vite Version 8: Unified Rust-Based Bundler and Up to 30x Faster Builds, InfoQ
- Vite team boasts 10-30x faster builds with Rust-powered Rolldown, DevClass
Volodymyr Chornous

