Skip to content

Commit 0b02572

Browse files
committed
docs: vite 8 beta announcement
1 parent 346432c commit 0b02572

File tree

4 files changed

+124
-22
lines changed

4 files changed

+124
-22
lines changed

blog/announcing-vite8-beta.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
---
2+
title: 'Vite 8 Beta: The Rolldown-powered Vite'
3+
author:
4+
name: The Vite Team
5+
date: 2025-12-03
6+
sidebar: false
7+
head:
8+
- - meta
9+
- property: og:type
10+
content: website
11+
- - meta
12+
- property: og:title
13+
content: Announcing Vite 8 Beta
14+
- - meta
15+
- property: og:image
16+
content: https://vite.dev/og-image-announcing-vite8-beta.webp
17+
- - meta
18+
- property: og:url
19+
content: https://vite.dev/blog/announcing-vite8-beta
20+
- - meta
21+
- property: og:description
22+
content: Vite 8 Beta Release Announcement
23+
- - meta
24+
- name: twitter:card
25+
content: summary_large_image
26+
---
27+
28+
# Vite 8 Beta: The Rolldown-powered Vite
29+
30+
_December 3, 2025_
31+
32+
![Vite 8 Beta Announcement Cover Image](/og-image-announcing-vite8-beta.webp)
33+
34+
TL;DR: The first beta of Vite 8, powered by [Rolldown](https://rolldown.rs/), is now available. Vite 8 ships significantly faster production builds and unlocks future improvement possibilities. You can try the new release by upgrading `vite` to version `8.0.0-beta.0` and reading the [migration guide](/guide/migration).
35+
36+
---
37+
38+
We're excited to release the first beta of Vite 8. This release unifies the underlying toolchain and brings better consistent behaviors, alongside significant build performance improvements. Vite now uses [Rolldown](https://rolldown.rs/) as its bundler, replacing the previous combination of esbuild and Rollup.
39+
40+
## A new bundler for the web
41+
42+
Vite previously relied on two bundlers to meet differing requirements for development and production builds:
43+
44+
1. esbuild for fast compilation during development
45+
2. Rollup for bundling, chunking, and optimizing production builds
46+
47+
This approach lets Vite focus on developer experience and orchestration instead of reinventing parsing and bundling. However, maintaining two separate bundling pipelines introduced inconsistencies: separate transformation pipelines, different plugin systems and a growing amount of glue code to keep bundling behavior aligned between development and production.
48+
49+
To solve this, [VoidZero team](https://voidzero.dev) has built **Rolldown**, the next-generation bundler with the goal to be used in Vite. It is designed for:
50+
51+
- **Performance**: Rolldown is written in Rust and operates at native speed. It matches esbuild’s performance level and is [**10–30× faster than Rollup**](https://github.com/rolldown/benchmarks).
52+
- **Compatibility**: Rolldown supports the same plugin API as Rollup and Vite. Most Vite plugins work out of the box with Vite 8.
53+
- **More Features**: Rolldown unlocks more advanced features for Vite, including full bundle mode, more flexible chunk split control, module-level persistent cache, Module Federation, and more.
54+
55+
## Unifying the toolchain
56+
57+
The impact of Vite’s bundler swap goes beyond performance. Bundlers leverage parsers, resolvers, transformers, and minifiers. Rolldown uses Oxc, another project led by VoidZero, for these purposes.
58+
59+
**That makes Vite the entry point to an end-to-end toolchain maintained by the same team: The build tool (Vite), the bundler (Rolldown) and the compiler (Oxc).**
60+
61+
This alignment ensures behavior consistency across the stack, and allows us to rapidly adopt and align with new language specifications as JavaScript continues to evolve. It also unlocks a wide range of improvements that previously couldn’t be done by Vite alone. For example, we can leverage Oxc’s semantic analysis to perform better tree-shaking in Rolldown.
62+
63+
## How Vite migrated to Rolldown
64+
65+
The migration to a Rolldown-powered Vite is a foundational change. Therefore, our team took deliberate steps to implement it without sacrificing stability or ecosystem compatibility.
66+
67+
First, a separate `rolldown-vite` package was [released as a technical preview](https://voidzero.dev/posts/announcing-rolldown-vite). This allowed us to work with early adopters without affecting the stable version of Vite. Early adopters benefited from Rolldown’s performance gains while providing valuable feedback. Highlights:
68+
69+
- Linear's production build times were reduced from 46s to 6s
70+
- Mercedes-Benz.io cut their build time down by up to 38%
71+
- Beehiiv reduced their build time by 64%
72+
73+
Next, we set up a test suite for validating key Vite plugins against `rolldown-vite`. This CI job helped us catch regressions and compatibility issues early, especially for frameworks and meta-frameworks such as SvelteKit, react-router and Storybook.
74+
75+
Lastly, we built a compatibility layer to help migrate developers from Rollup and esbuild options to the corresponding Rolldown options.
76+
77+
As a result, there is a smooth migration path to Vite 8 for everyone.
78+
79+
## Migrating to Vite 8 Beta
80+
81+
Since Vite 8 touches the core build behavior, we focused on keeping the configuration API and plugin hooks unchanged. We created a [migration guide](/guide/migration) to help you upgrade.
82+
83+
There are two available upgrade paths:
84+
85+
1. **Direct Upgrade:** Update `vite` in `package.json` and run the usual dev and build commands.
86+
2. **Gradual Migration:** Migrate from Vite 7 to the `rolldown-vite` package, and then to Vite 8. This allows you to identify incompatibilities or issues isolated to Rolldown without other changes to Vite. (Recommended for larger or complex projects)
87+
88+
> [!IMPORTANT]
89+
> If you are relying on specific Rollup or esbuild options, you might need to make some adjustments to your Vite config. Please refer to the [migration guide](/guide/migration) for detailed instructions and examples.
90+
> As with all non-stable, major releases, thorough testing is recommended after upgrading to ensure everything works as expected. Please make sure to report any [issues](https://github.com/vitejs/rolldown-vite/issues).
91+
92+
## Additional Features in Vite 8
93+
94+
In addition to shipping with Rolldown, Vite 8 comes with:
95+
96+
- **Built-in tsconfig `paths` support:** Developers can enable it by setting [`resolve.tsconfigPaths`](/config/shared-options.md#resolve-tsconfigpaths) to `true`. This feature has a small performance cost and is not enabled by default.
97+
- **`emitDecoratorMetadata` support:** Vite 8 now has built-in automatic support for TypeScript's [`emitDecoratorMetadata` option](https://www.typescriptlang.org/tsconfig/#emitDecoratorMetadata). See the [Features](/guide/features.md#emitdecoratormetadata) page for more details.
98+
99+
## Looking Ahead
100+
101+
Speed has always been a defining feature for Vite. The integration with Rolldown and, by extension, Oxc means JavaScript developers benefit from Rust’s speed. Upgrading to Vite 8 should result in performance gains simply from using Rust.
102+
103+
We are also excited to ship Vite’s Full Bundle Mode soon, which drastically improves Vite’s dev server speed for large projects. Preliminary results show 3× faster dev server startup, 40% faster full reloads, and 10× fewer network requests.
104+
105+
Another defining Vite feature is the plugin ecosystem. We want JavaScript developers to continue extending and customizing Vite in JavaScript, the language they’re familiar with, while benefiting from Rust’s performance gains. Our team is collaborating with VoidZero team to accelerate JavaScript plugin usage in these Rust-based systems.
106+
107+
Upcoming optimizations that are currently experimental:
108+
109+
- [**Raw AST transfer**](https://github.com/oxc-project/oxc/issues/2409). Allow JavaScript plugins to access the Rust-produced AST with minimal overhead.
110+
- [**Native MagicString transforms**](https://rolldown.rs/in-depth/native-magic-string#native-magicstring). Simple custom transforms with logic in JavaScript but computation in Rust.
111+
112+
## **Connect with us**
113+
114+
If you've tried Vite 8 beta, then we'd love to hear your feedback! Please report any issues or share your experience:
115+
116+
- **Discord**: Join our [community server](https://chat.vite.dev/) for real-time discussions
117+
- **GitHub**: Share feedback on [GitHub discussions](https://github.com/vitejs/vite/discussions)
118+
- **Issues**: Report issues on the [rolldown-vite repository](https://github.com/vitejs/rolldown-vite/issues) for bugs and regressions
119+
- **Wins**: Share your improved build times in the [rolldown-vite-perf-wins repository](https://github.com/vitejs/rolldown-vite-perf-wins)
120+
121+
We appreciate all reports and reproduction cases. They help guide us towards the release of a stable 8.0.0.

guide/migration.md

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,5 @@
11
# v7 からの移行
22

3-
## 新機能
4-
5-
::: tip 一時的なセクション
6-
7-
このセクションは安定版リリース前にリリース記事に移動されます。
8-
9-
:::
10-
11-
### 組み込み tsconfig `paths` サポート
12-
13-
Vite 8 は、[Oxc Resolver](https://oxc.rs/docs/guide/usage/resolver) をベースに、TypeScript の `paths` オプションの組み込みサポートを実装しました。この機能にはわずかなパフォーマンスコストがあり、[TypeScript チームからは推奨されていません](https://www.typescriptlang.org/tsconfig/#paths:~:text=Note%20that%20this%20feature%20does%20not%20change%20how%20import%20paths%20are%20emitted%20by%20tsc%2C%20so%20paths%20should%20only%20be%20used%20to%20inform%20TypeScript%20that%20another%20tool%20has%20this%20mapping%20and%20will%20use%20it%20at%20runtime%20or%20when%20bundling.)ので、デフォルトでは有効になっていません。`resolve.tsconfigPaths``true` に設定することで有効にできます。
14-
15-
最も近い親ディレクトリーにある `tsconfig.json` が使用されます。`tsconfig.json` の解決に関する詳細は、[機能ページ](/guide/features#typescript-compiler-options)を参照してください。
16-
17-
### `emitDecoratorMetadata` サポート
18-
19-
Vite 8 は、[Oxc Transformer](https://oxc.rs/docs/guide/usage/transformer) をベースに、TypeScript の [`emitDecoratorMetadata` オプション](https://www.typescriptlang.org/tsconfig/#emitDecoratorMetadata)の組み込みサポートを実装しました。この機能は、`tsconfig.json``emitDecoratorMetadata``true` に設定されている場合、自動的に有効になります。
20-
21-
この変換にはいくつかの制限があります。デコレーターメタデータの完全なサポートには TypeScript コンパイラーによる型推論が必要ですが、これはサポートされていません。詳細は [Oxc Transformer のドキュメント](https://oxc.rs/docs/guide/usage/transformer/typescript#decorators)を参照してください。
22-
233
## デフォルトブラウザーターゲットの変更
244

255
`build.target``'baseline-widely-available'` のデフォルトブラウザー値がより新しいブラウザーバージョンに更新されました:

public/_redirects

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ https://ja.vitejs.dev/* https://ja.vite.dev/:splat 301!
77
/guide/api-vite-environment.html /guide/api-environment 301
88
/guide/comparisons /guide/why#how-vite-relates-to-other-unbundled-build-tools 301
99
/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 301
10-
11-
# short links
1210
/guide/rolldown https://v7.vite.dev/guide/rolldown 301
1311
/guide/rolldown.html https://v7.vite.dev/guide/rolldown 301
12+
13+
# short links
14+
/rolldown /guide/rolldown 301
270 KB
Loading

0 commit comments

Comments
 (0)