Vite 8 and Rolldown: What Changed and How to Upgrade

Vite 8 replaces esbuild and Rollup with one Rust bundler, Rolldown. Here is what changed, the Node.js requirement, the new options, what Vite 8.1 added, and a safe way to upgrade.

Ask ChatGPTAsk Claude
Cover with the title Vite 8 and Rolldown and a plate showing 8.0, stable March 12 2026, one Rust bundler, Node 20.19+ or 22.12+
On this page
  1. What changed in Vite 8?
  2. How fast is it?
  3. Which Node.js version do I need?
  4. Will my config break?
  5. What new options does Vite 8 add?
  6. What did Vite 8.1 add?
  7. How do I upgrade safely?
  8. What should I check before upgrading?
  9. Key takeaways

If your project builds with Vite, version 8 is the biggest change to the tool in years: it drops esbuild and Rollup and uses one Rust-based bundler called Rolldown. It reached stable on March 12, 2026, and Vite 8.1 followed on June 23, 2026.

Speed figures below are the ones the Vite team publishes in its announcements.

Sources: Announcing Vite 8 and Announcing Vite 8.1.

What changed in Vite 8?#

Before, Vite used esbuild in development and Rollup for production builds. Vite 8 replaces both with Rolldown, a single Rust-based bundler, and uses Oxc for parsing, transforming and minifying. Rolldown is the successor to the earlier rolldown-vite preview package. The team says plugin compatibility is kept.

AreaVite 8
BundlerRolldown (replaces esbuild and Rollup)
Compiler toolchainOxc
Node.js20.19+ or 22.12+
Lightning CSSNow a normal dependency, not optional
Install sizeAbout 15 MB larger than Vite 7

The extra 15 MB is roughly 10 MB from lightningcss and 5 MB from the larger Rolldown binary. Lightning CSS moved from an optional peer dependency to a regular one to give better CSS minification out of the box.

How fast is it?#

The announcement says Rolldown is up to 10-30x faster than Rollup in its benchmarks. It also quotes real projects:

Bar chart of build time reductions after Rolldown: Beehiiv 64 percent, Ramp 57 percent, Mercedes-Benz.io up to 38 percent

Linear is quoted as going from 46s to 6s for production builds. These are reported numbers from the Vite team and its users. Test your own project before promising anyone a speedup.

Which Node.js version do I need?#

Node.js 20.19+ or 22.12+, the same as Vite 7. Those versions support require(esm) without a flag, which is what lets Vite ship as ESM only. If you are choosing a runtime line anyway, see Node 24 vs Node 26.

Will my config break?#

Often it will not. The announcement says a compatibility layer converts existing esbuild and rollupOptions configuration into Rolldown and Oxc equivalents, so many projects need no config changes. The post itself does not list breaking changes, so read the migration guide it links before you upgrade.

What new options does Vite 8 add?#

  • devtools to enable Vite Devtools.
  • resolve.tsconfigPaths for TypeScript path aliases. It is off by default and has a small performance cost.
  • Built-in emitDecoratorMetadata support, so you no longer need an external plugin.
  • .wasm?init imports now work in SSR.
  • server.forwardConsole sends browser console logs and errors to the terminal, and turns on automatically when a coding agent is detected.

@vitejs/plugin-react v6 uses Oxc for the React Refresh transform and no longer depends on Babel. React Compiler users get a reactCompilerPreset helper that works with @rolldown/plugin-babel. Version 5 of the plugin still works with Vite 8. If you use the compiler, React Compiler in Next.js covers the idea from the Next side.

What did Vite 8.1 add?#

Released June 23, 2026. The post reports 41.6 million weekly downloads for Vite 8.

FeatureDetail
Bundled dev mode (experimental)--experimental-bundle or experimental.bundledDev: true
Chunk import map (experimental)build.chunkImportMap, does not work with experimental.renderBuiltUrl
Wasm ESMimport { add } from './add.wasm'
Lightning CSScss.transformer: 'lightningcss'
Glob matchingcaseSensitive: false for import.meta.glob
HTML assetshtml.additionalAssetSources

For bundled dev mode, the post reports about 15x faster startup and 10x faster full page reloads in a test app with 10,000 React components. It focuses on the browser side and basic plugins, so third-party plugins may not work. The team is considering making Lightning CSS the default in the next major release.

How do I upgrade safely?#

Four step upgrade path: Vite 7, rolldown-vite, Vite 8, check the build

The official advice for large or complex projects is to switch from vite to the rolldown-vite package on Vite 7 first. That isolates any Rolldown-specific problems from the version bump. Then upgrade to Vite 8.

npm install vite@latest
pnpm add vite@latest
yarn add vite@latest
bun add vite@latest

Then run a production build and your tests, and compare the output size. If you also lint with a Rust tool, Oxlint vs ESLint is a good companion read.

What should I check before upgrading?#

Read the official Vite migration guide for the full list of renamed and removed options before you upgrade. The performance numbers come from the Vite team's announcement, so measure your own build time before and after the switch. Vite 8.1 features marked experimental can still change.

Key takeaways#

  • Vite 8 uses Rolldown as one bundler instead of esbuild plus Rollup.
  • You need Node.js 20.19+ or 22.12+.
  • Expect about 15 MB more install size.
  • Many configs convert automatically; read the migration guide anyway.
  • Try rolldown-vite on Vite 7 first for big projects.
  • Vite 8.1 bundled dev mode is experimental.

Questions

Comments

No comments yet. Questions, corrections and your own results are all welcome.

Be kind and stay on topic. No name needed: leave it blank and you post under an anonymous name that stays yours. Links get nofollow; spam is removed. Your email is never shown and is only used for reply notifications you ask for. Privacy