· development · 4 min read
Vite 8 just dropped — one bundler to rule them all
Vite 8 replaces esbuild and Rollup with Rolldown, a single Rust-based bundler that delivers 10-30x faster builds. Here's why this is the biggest architectural shift since Vite 2 and what it means for your projects.

Two bundlers walk into a bar. One walks out.
Since day one, Vite has juggled two bundlers: esbuild for blazing-fast dev server compilation and Rollup for optimized production builds. It was a pragmatic bet — and it worked beautifully for years. But two pipelines meant two plugin systems, accumulating glue code, and a growing list of subtle inconsistencies between dev and prod.
Vite 8 ends that era. The new release ships Rolldown — a Rust-based bundler built by the VoidZero team — as the single, unified engine powering both development and production. This is the most significant architectural change since Vite 2.
The numbers speak for themselves
Rolldown is 10–30x faster than Rollup while matching esbuild’s raw speed. During the beta period, real-world projects reported dramatic improvements, as highlighted in the Vite 8 release notes:
- Linear: 46s → 6s production builds
- Beehiiv: 64% build time reduction
- Ramp: 57% faster
- Mercedes-Benz.io: up to 38% reduction
For smaller projects, the difference might feel marginal. For large codebases, it’s transformative.
Why Rolldown matters beyond speed
Performance is the headline, but the deeper win is consistency. A single bundler means a single plugin API, a single transformation pipeline, and no more “works in dev, breaks in prod” surprises. Rolldown uses the same plugin interface as Rollup, so most existing Vite plugins work out of the box — no rewrites needed, and the new Vite plugin registry makes it easier to discover compatible plugins.
It also unlocks capabilities that were impossible with the dual-bundler setup: full bundle mode during development, more flexible chunk splitting, module-level persistent caching, and built-in Module Federation support.
The Vite + Rolldown + Oxc stack
Vite 8 isn’t just a bundler swap. It marks the emergence of a fully integrated toolchain: Vite (build tool) + Rolldown (bundler) + Oxc (compiler). All three projects collaborate closely, ensuring consistent behavior from parsing through minification. This tight integration enables optimizations like leveraging Oxc’s semantic analysis for better tree-shaking — something that wasn’t feasible when the stack was stitched together from independent projects.
The new @vitejs/plugin-react v6 already benefits: it uses Oxc for React Refresh transforms, dropping Babel as a dependency entirely.
Other features worth noting
Beyond Rolldown, Vite 8 packs several quality-of-life improvements:
- Integrated Devtools — built-in debugging and analysis tooling via the new
devtoolsconfig option - tsconfig paths support — enable
resolve.tsconfigPathsand ditch your alias plugins - Browser console forwarding —
server.forwardConsolepipes browser logs to your terminal, which is especially useful when working with AI coding agents emitDecoratorMetadatasupport — no more external plugins for TypeScript decorators thanks to built-in support- Wasm SSR support —
.wasm?initimports now work in server-side rendering
Migrating — it’s smoother than you’d expect
Vite 8 includes a compatibility layer that auto-converts existing esbuild and rollupOptions config to their Rolldown equivalents, as described in the official migration guide. Many projects will upgrade without touching a single config line.
For complex setups, the team recommends a two-step approach: first swap vite for the rolldown-vite package on Vite 7 to isolate bundler-specific issues, then upgrade to Vite 8. Smart, and fully aligned with the guidance in the announcement.
One honest caveat: the install size grew by ~15 MB (10 MB from lightningcss becoming a default dependency, 5 MB from the Rolldown binary), a trade-off the Vite team explicitly calls out in the release post.
What’s coming next
The Rolldown foundation opens doors to some exciting experimental work:
- Full Bundle Mode — bundling during development for 3x faster dev server startup and 10x fewer network requests, currently flagged as experimental in the Vite roadmap
- Raw AST transfer — letting JS plugins access Rust-produced ASTs with minimal overhead, tracked in Oxc’s raw AST transfer discussion
- Native MagicString transforms — JS logic with Rust-powered string manipulation, detailed in Rolldown’s native MagicString docs
The bottom line
Vite has been the de facto build tool for modern web development for a while now, powering Astro, Nuxt, SvelteKit, React Router, and countless other frameworks. With Vite 8, it just got meaningfully faster and more coherent — without breaking the ecosystem.
If you’re already on Vite, upgrade. If you’re not, there’s never been a better time to start.