I run Vite on almost everything. Astro sites, Nuxt projects, a small group of libraries I maintain on the side. The build tool is the part of the stack I think about least, because it just works.
So when the thing under all of that changes twice in three months, I read the release notes properly.
Here is what actually changed, what breaks, and the part that made developers argue for a week straight.
For Five Years, Vite Ran on Two Bundlers
When Vite launched, it made a pragmatic bet. esbuild for the dev server, because it is fast. Rollup for production, because its output is well optimized. Two tools, two jobs.
It worked. But it had a cost. Two bundlers meant two configs, two sets of quirks, and output that could drift between dev and prod. You tuned one, and the other behaved slightly differently.
Vite 8 ends the split. It shipped on March 12 with a single bundler called Rolldown, written in Rust, with the Rollup plugin API on top. Under Rolldown sits Oxc, a Rust parser and transformer that does the TypeScript and JSX work Babel used to do.
One language. One pipeline. Dev and prod finally agree.
This Is a Pattern, Not a One-Off
esbuild (Go) made webpack look slow. Bun did the same to Node for some workloads. Biome replaced Prettier and ESLint and runs many times faster. Now Rolldown does it to Rollup and esbuild at the same time.
Every time a core JavaScript tool gets rewritten in a compiled language, the same thing happens. The speed jump is large enough to make the old version look broken.
The interesting part is not the speed. It is the compatibility.
These Rust tools do not ask you to relearn your stack. Rolldown speaks the Rollup plugin API. Biome follows ESLint and Prettier conventions. The migration is designed to be boring, and boring is the point.
The Numbers, With a Grain of Salt
The headline figure is real. Linear cut its production build from 46 seconds to 6. Vite reports builds 10 to 30 times faster than the old Rollup path. Other large projects report 3x to 8x.
I treat these like any benchmark. Your build is not Linear's build.
A small marketing site will not see a 40 second drop, because it never had a 40 second build in the first place. The gains land hardest where you were already hurting: big dependency graphs, slow CI, painful full reloads. If your build finishes in four seconds today, this is a nice-to-have, not a rescue.
Still, the scale matters. Vite sits around 130 million weekly downloads. Changing its bundler changes a large slice of the web's tooling in a single release.
What Actually Breaks
This is the part the launch posts skip. Most projects upgrade with a version bump. Some do not. Here is what I would check before touching production.
Plugins that call transformWithEsbuild will fail. esbuild is no longer bundled. You move to transformWithOxc, or you install esbuild yourself as a peer dependency.
A few more sharp edges:
-
build.rollupOptionsis renamed tobuild.rolldownOptions - CJS interop behaves differently in some setups
- Yarn PnP projects have reported friction
The safe path is two steps, not one. First, swap vite for the rolldown-vite package while you are still on Vite 7:
# step 1: stay on Vite 7, swap the bundler underneath
npm install rolldown-vite@latest
# run your build, check plugins, diff the output
npm run build
Then, once that is green, take the major:
# step 2: upgrade to Vite 8
npm install vite@8
This separates the bundler change from the major version change. If something breaks, you know which one did it.
Real wins, real edges. Not magic.
Then Cloudflare Bought the Whole Thing
Now the part that lit up Hacker News.
On June 4, Cloudflare acquired VoidZero, the company Evan You founded to build this toolchain. Vite, Vitest, Rolldown, and Oxc all come with it. The whole team joins Cloudflare. Evan You stays in charge of the open-source roadmap.
The pledges are what you would expect. The projects stay MIT-licensed and vendor-neutral. No Cloudflare-only features land in core Vite. Cloudflare put one million dollars into an independent Vite ecosystem fund for maintainers outside both companies.
I also read the why. Evan You was honest that VoidZero had a money problem: huge adoption, no clear revenue. The team had tried a mixed license model, and was already building a Vite-native deploy platform on top of Cloudflare before the talks (SiliconANGLE has the details). The acquisition solves the funding question in one move.
The Part Worth Arguing About
Here is what makes me pause, and it is not the build tool.
This is the second time in six months Cloudflare has bought its way into foundational web tooling. It acquired the Astro team earlier this year, with the same promises: open source, MIT, portable, governed in the open.
So one company now sits very close to Vite, Vitest, Rolldown, Oxc, and Astro. The license is open. The governance is open. The pledges read well. But influence is not the same as control, and the influence here is real.
I am not waving a flag about it. Cloudflare has kept its hands off so far, and putting money behind maintainers is genuinely good news. But "trust us, it stays neutral" is a promise, not a guarantee. The healthy move is to keep watching, not to panic.
Open source has always run on trust. This just concentrates more of it in one place.
Should You Upgrade?
For most projects: yes, and soon.
- The migration is usually a version bump, with a compatibility shim covering most plugins
- The speed gain is free once you are on it
- Staying on the old pipeline is slowly turning into a CI tax
But move like an adult about it:
- Test
rolldown-vitein a branch first, then take Vite 8 - Check any plugin that touches
transformWithEsbuildorrollupOptions - If you run Yarn PnP, budget extra time
The Rust toolchain is here, it is faster, and the upgrade is less painful than most majors. The ownership question is a separate one. Adopt the tool on its merits, and keep an eye on who steers it.
So my take is simple. Try it. Give it a chance in a throwaway branch this week, before you have an opinion about it.
Faster builds are the easy win. But a single Rust pipeline that owns the whole thing opens a better question, and it is the one I actually care about.
If one tool now controls parsing, transforming, and bundling end to end, shouldn't our bundles be getting smaller too? That is the part I want to see next. Tell me in the comments if you are seeing it already.
Top comments (1)
This is interesting! Given Vite's reliance on `