Vite 8 puts one bundler under development and production

A golden sunset behind a dark bank of cloud, with two trees and a fence line in silhouette along a flat horizon

Vite 8 is out, and the change underneath it is structural. Until now Vite ran two bundlers: esbuild during development and Rollup for production builds. Vite 8 replaces both with Rolldown, a single bundler written in Rust. The headline is speed, with builds up to 10 to 30 times faster. The team says most existing plugins work without changes, with a staged migration path for complex projects.

I think the speed is real and is not the point. The point is one bundler. Running two meant that development and production were never quite the same build, and every team that has used that setup for long enough has a story about something that worked locally and broke in production because the two bundlers disagreed about a module or an edge of the spec.

My view is that dev and prod drift has cost teams more hours than slow builds ever did, because a slow build costs minutes and a drift bug costs days. A single bundler does not eliminate every difference between the two environments, but it removes the largest one.

For a team on Vite, I think the upgrade is worth scheduling on that basis alone, with the migration order the team suggests: the Rolldown-based build on Vite 7 first, then 8.

Has your team hit a works-in-dev, breaks-in-prod bug that came down to the bundlers disagreeing?

Photo source: https://photos.robertstowe.com/texas