Skip to content

2 min read

Vite 8 — one bundler, written in Rust

Vite 8 replaces its esbuild-plus-Rollup pair with Rolldown, a single Rust bundler, for builds up to 10–30× faster with existing plugins intact.

  • vite
  • rolldown
  • javascript
  • tooling
  • release

Vite 8 shipped on March 12, and the Vite team calls it the biggest architectural change since Vite 2. Until now Vite used two bundlers: esbuild in development and Rollup for production builds. Vite 8 replaces both with Rolldown, a single bundler written in Rust.

Why one bundler matters

Two bundlers meant two sets of behaviour. A project could work in vite dev and break in vite build, because the code went through a different tool. With Rolldown in both places, dev and production run the same pipeline.

It is also much faster. The release post quotes up to 10–30× faster builds, and the production numbers it cites are real-world:

  • Linear: production builds went from 46 s to 6 s.
  • Ramp: 57% shorter build times.
  • Beehiiv: 64% shorter.
  • Mercedes-Benz.io: up to 38% shorter.

Rolldown keeps Rollup's plugin API, so most existing plugins work without changes. Rolldown itself reached 1.0 on May 7, which means its options and plugin hooks now follow semver.

Smaller things worth knowing

  • tsconfig paths built in: set resolve.tsconfigPaths: true and drop the plugin. It is off by default because it costs a little performance.
  • emitDecoratorMetadata works without an extra plugin.
  • Browser console forwarding: server.forwardConsole prints browser logs and errors in your terminal. It switches on automatically when Vite detects a coding agent.
  • Integrated devtools via the devtools option.
  • @vitejs/plugin-react v6 handles React Refresh with Oxc instead of Babel, and has a reactCompilerPreset for the React Compiler. v5 still works.

Upgrading

Node.js requirements are unchanged from Vite 7: 20.19+ or 22.12+. A compatibility layer converts existing esbuild and rollupOptions config to their Rolldown and Oxc equivalents, so many projects upgrade with no config changes.

For large projects, the Vite team suggests a two-step move: switch to the rolldown-vite package on Vite 7 first, fix anything that breaks, then upgrade to Vite 8. Read the migration guide for the full list of changes.

One trade-off: the install is about 15 MB larger than Vite 7, mostly lightningcss (now a regular dependency) and the Rolldown binary.

Bottom line

Upgrade. Faster builds alone justify it on any project bigger than a demo, and one bundler for dev and production removes a whole category of "works locally" bugs. On a large codebase, take the rolldown-vite step first so problems surface one at a time.

Contact

Building something with this?

We help teams pick the right tools and ship. Tell us what you are working on.

What should it do, who is it for, and is there a deadline?

We use your details only to reply to your enquiry. See our privacy policy.