Vite currently uses esbuild for dev and Rollup for production. Rolldown will replace both with one Rust bundler.
What Is Rolldown?
Rolldown is a Rust port of Rollup, designed to be the unified bundler for Vite. Built by the Vite team, it aims to match Rollup's plugin API while being 10-100x faster.
// rolldown.config.js — same API as Rollup
export default {
input: 'src/index.js',
output: {
dir: 'dist',
format: 'esm'
}
}
npx rolldown -c rolldown.config.js
Rollup Plugin Compatibility
import resolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
export default {
input: 'src/index.js',
plugins: [
resolve(), // Rollup plugins work!
commonjs() // Same plugin API
],
output: { dir: 'dist', format: 'esm' }
}
Why Rolldown Matters
1. One bundler for dev and prod — Vite currently uses esbuild (dev) + Rollup (prod). Different tools = different behaviors = bugs that only appear in production. Rolldown is one tool for both.
2. Speed — Rust + parallelization = 10-100x faster than JavaScript-based Rollup.
3. Rollup compatibility — same plugin API means the entire Rollup ecosystem transfers.
4. Vite integration — when stable, Rolldown becomes Vite's default bundler. Millions of projects benefit automatically.
Current Status
Rolldown is in active development by the Vite core team. It already passes most of Rollup's test suite. The goal is:
- Phase 1: CLI bundler (available now)
- Phase 2: Vite integration
- Phase 3: Full Rollup plugin compatibility
The Vite Ecosystem's Future
Current: Vite → esbuild (dev) + Rollup (prod)
Future: Vite → Rolldown (both dev and prod)
One pipeline. One set of behaviors. Much faster.
Building JavaScript tooling? Check out my developer tools or email spinov001@gmail.com.
Top comments (0)