Vite's React plugin adds native Rust React Compiler, 2.4x faster builds

Following the oxc team's August 4, 2026 release of official support for a Rust-based React Compiler, a developer switched a 1,036-file React Router codebase, Outlyne (a website builder), over to it. Version 6.1.0 of the @vitejs/plugin-react package added experimental native React Compiler support, turned on by passing { compiler: true } to the plugin in a Vite config. Projects that cannot use the Vite React plugin, such as those running React Router in framework mode, can instead use a separate package, @acusti/vite-plugin-react-compiler.
The compiler portion of the author's build got about 17.6x faster: for the 1,036-file codebase, that step dropped from 14.3 seconds under the Babel-based compiler to 0.81 seconds with the native version, measured single-threaded. Boshen, the oxc project lead, said in a preliminary benchmark that the native compiler runs more than 10 times faster than Babel. Because compilation is only one part of a build, the overall improvement was smaller: the author's full build went from 22.1 seconds to 9.3 seconds, about 2.4x faster.
Beyond speed, the newer compiler fixes JavaScript-support gaps that existed in the original Babel-based React Compiler 1.0. It now handles any conditional logic inside try/catch blocks, which used to be a common blocker; reassigning a destructured component prop that then gets used in a nested closure; and computed object property keys. Fixing these gaps expanded compiler compatibility in the author's app by seven functions: five thanks to the try/catch fix and two thanks to the computed-key fix. Two patterns still make the compiler skip a component or hook: a throw statement inside a try block, and logical assignment operators (??=, &&=, ||=).
The author also pointed to a toolchain-consistency benefit. After adopting Oxlint's React Compiler support while still on an older compiler version, they filed a bug report that turned out to be wrong: the mismatch was caused only by Oxlint and the build running different versions of the oxc-transform-react package, v0.145.0 versus v0.144.0. With linter and build now pinned to the same native compiler version, that class of false alarm goes away.
Switching an existing Vite plus React setup on Vite v8 or later means dropping the @rolldown/plugin-babel dependency, installing oxc-transform-react, and passing { compiler: true } to the react() plugin instead of wiring up the Babel preset. For React Router projects in framework mode, the equivalent move is dropping vite-plugin-babel, babel-plugin-react-compiler and @babel/preset-typescript in favor of the single @acusti/vite-plugin-react-compiler package.
Key facts
- Following oxc's August 4, 2026 release of official Rust React Compiler support, a developer switched a 1,036-file React Router codebase (Outlyne, a website builder) to it.
- The compiler step of the build got about 17.6x faster, from 14.3s to 0.81s single-threaded, while the whole build went from 22.1s to 9.3s, about 2.4x faster.
- Oxc project lead Boshen said in a preliminary benchmark that the native compiler runs more than 10 times faster than Babel.
- The newer compiler fixes gaps present in the Babel-based React Compiler 1.0, including try/catch conditional logic and computed object property keys, adding seven previously unsupported functions in the author's app.
- Vite's @vitejs/plugin-react v6.1.0 added experimental native support via
{ compiler: true }; projects on React Router framework mode can use the separate @acusti/vite-plugin-react-compiler instead.
Why it matters
Build speed and CI cost are a growing pain point as AI-assisted coding raises the pace of change to a codebase. Cutting the compiler step by an order of magnitude, and the whole build by roughly half, means real CI-minute savings and a faster feedback loop for teams already on the React Compiler. It also marks the official React Compiler toolchain moving from a Babel plugin to a native Rust implementation maintained by the oxc project.
Who it affects
Teams building React apps with Vite, either directly through @vitejs/plugin-react or via React Router in framework mode, who have adopted or are considering the React Compiler. It also affects anyone using Oxlint's React Compiler lint rule, since keeping linter and build on the same compiler version removes a source of mismatched results between the two.
How to use it
On Vite v8 or later, add { compiler: true } to the react() plugin call in vite.config.js, install oxc-transform-react, and remove @rolldown/plugin-babel along with the Babel preset wiring. For React Router in framework mode, replace vite-plugin-babel, babel-plugin-react-compiler and @babel/preset-typescript with the @acusti/vite-plugin-react-compiler package, which also accepts custom compiler config through a compiler option. The support is still labeled experimental.
How solid is it
The numbers come from one developer's account of switching a single codebase, 1,036 files, a website builder called Outlyne, not an independent benchmark suite. The source gives no hardware or CPU details beyond noting the 0.81s figure is single-threaded, and it gives no multi-threaded numbers. Boshen's more than 10 times figure is explicitly described as a preliminary benchmark from the oxc team itself. The underlying oxc support was released only on August 4, 2026, and the Vite plugin's native mode is still marked experimental.
Risks and caveats
The large multiplier applies only to the compiler portion of the build, not the full build, which improved by a smaller though still real 2.4x. Two coding patterns, a throw statement inside a try block and logical assignment operators (??=, &&=, ||=), still make the compiler skip a component or hook, so the migration is not fully gap-free. The feature remains experimental, and the source is a single adopter's blog post rather than official Vite or React documentation.
“It is more than 10 times faster than Babel in our preliminary benchmark.”
— Boshen, oxc project lead