Welcome to another edition of What’s new in ViteLand! Every month, we recap the project updates for Vite, Vitest, Oxc, Rolldown and what’s happening in our community.
Oxlint: Type-Aware Linting & Custom JS Plugins
Oxlint is meant to be a full-fledged linting replacement that runs at native speed. In other words, it has to cover existing linting rules, plugins, and use cases. Otherwise, users will need both Oxlint and another linter. This month, Oxlint made 2 big progress updates towards being a comprehensive replacement:
Type-aware linting released. Type-aware linting has been a big feature gap for native linters because they require reading multiple files to infer type, which negates performance gains. However, Oxlint was able to maintain fast performance by building on TypeScript’s native Go port and
tsgolint. The official preview of Oxlint’s type-aware linting supports 40 type-aware rules, includingno-floating-promises.Custom JS plugins support roadmap. Oxlint’s custom JS plugin support is a "have my cake and eat it too" solution that provides an ESLint-compatible API and fast performance. After months of researching and prototyping, the team has found a way to run existing ESLint plugins from NPM and offer an ESLint-compatible API for custom rules and plugins. In the future, almost all ESLint plugins will work with Oxlint without modification, while maintaining the strong performance characteristics that Oxlint is known for.
Project Updates
Vite
- React Server Component support in Vite has landed via
@vitejs/plugin-rsc. The goal is to offer a unified solution for every vite-based React framework. @vitejs/plugin-reactversion 5 has been released. It now integrates@vitejs/plugin-react-oxcdirectly whenrolldown-viteis detected, so no different plugin is needed anymore.- Nobody wants their source code leaked or stolen. Due to a dev server vulnerability in various tools (including Vite), this was a real threat. Read Sapphi's retrospective blog post and find out more of the process of responding it and fixing it in the whole JS ecosystem.
- Plugin Hooks for
vite-plugin-pwa(and other Vite plugins) are in place now, speeding them up when usingrolldown-vite.
Vitest
- Vitest now supports visual regression testing in the last v4 beta. Another feature that the browser mode unlocks.
- Faster tests are always better! And the v4 beta improves that too by reducing Vitest's time to start by 25% on average.
- Vitest's experimental programmatic API can now parse test files instead of running them to collect tests. This is especially useful for third-party providers and enables faster filtering in the future.
Rolldown
- Rolldown-Vite enables native plugins out of the box. After improving them behind a native flag, and resolving all ecosystem-ci issues, the first set is considered stable enough to be enabled by default, giving all builds a speed boost without the need for any configuration.
- Dead Code Elimination and treeshaking is key for a small bundle. In the recent Rolldown versions, multiple improvements have been made to keep your bundle size even lower.
- Including the
inlineConstfeature, which inlines imported constant values during bundling (instead of referencing them). It reduces bundle size and improves runtime performance due to fewer variable lookups. This optimization will be applied by default fromversion 1.0.0-beta.35on.
- Including the
- Rolldown now has a top-level
tsconfigoption. You can point it to your project's tsconfig path, allowing the resolver to respect aliases fromcompilerOptions.pathsand setting defaults for transform settings. This supersedes the previously introducedresolve.tsconfigFilenameoption. - Our first case study is out: Read how PLAID Inc. moved to Rolldown and decreased their build times by 97%
Oxc
- Not only the Rolldown team worked on ensuring smaller bundles. Oxc's minifier now runs dead code elimination multiple times, similar to Rollup. This can reduce the bundle size even further, while only adding minimal overhead.
- If you are using React and
styled-components, your builds can become even faster as Oxc now supports most of its features as native transform. It can be easily enabled in Rolldown too as this example shows. - Working on the performance of
tsgolintcan benefit everyone! Team member Cameron sent multiple PRs to thetypescript-gorepository to improve its performance in various cases, helping the whole ecosystem.
Upcoming Events
Stay tuned for these exciting events where VoidZero team members will be sharing insights and giving talks:
- Sep 10: Vue Paris. Alex presents on Oxc and Rolldown at the community meetup.
- Sep 18–19: SquiggleConf 2025. VoidZero is sponsoring, and Alex speaks about Rolldown.
Win a ticket until Sep 5th by trying out Oxlint! - Sep 23: PragVue. Alex gives the keynote and talks about modern tooling.
- Oct 2: JetBrains JavaScript Day. Want to know more about faster builds with fewer headaches? Then join Alex's talk.
- Oct 9–10: ViteConf 2025. The first in-person ViteConf with talks from many of the VoidZero team!
- Oct 14–16: JSConf North America. Evan shares insights on overcoming challenges in building faster JavaScript tooling.
- Oct 25: VueFes Japan. Evan gives the event's keynote, Hiroshi prepared a deep dive into Vitest, and Yuji shares his OSS journey with Oxc.
From the Community
- Evan You joined the Stack Overflow podcast for an episode to talk about VoidZero's mission and beyond that
- Storybook partners with Vitest to improve their component testing workflow.
- Syntax covered
rolldown-vitein their latest Web Dev News episode. - PLAID Inc. created a technical deep dive article about their migration from Rollup to Rolldown. Definitely worth a read, and worth migrating!
- Filip Sobol benchmarked all major bundlers and compared the results to their versions 10 months ago. For Rolldown with
oxc-minify, the bundle size improved by 18%, cutting down 463 KiB. tsupis not actively maintained anymore. Luckily you can switch totsdowneasily with a simple command.- ccusage creator ryoppippi shares his final JavaScript stack for building CLIs in 2025, including
tsdownand Rolldown. - Tim Benniks started to work on AI instructions that help migrating your TypeScript library over to the Vite toolchain
- Building tools on top of Oxc is becoming more common: Meet Devup UI, a zero runtime CSS-in-JS library
- Vite is the shared infrastructure of the web. In the last recap, Vite surpassing webpack's download numbers was mentioned. Theo Browne made a video about it, shares his history with Webpack and Vite and explains "why Vite has won".
- More and more meta frameworks support
rolldown-viteout of the box: After SvelteKit, Nuxt also joined the ranks with their PR. - Another Ecosystem CI turns green! Qwik's test are no passing in
rolldown-vite's ecosystem CI, meaning it is fully compatible with the rolldown-powered Vite version. - Do you remember that GitLab achieved 2.6x faster builds by using
rolldown-vite? Now, with all native plugins enabled, their build time got reduced by 7x, from 2.5 minutes of Vite to 22s withrolldown-vite. That is also 43x faster than their existing Webpack build. - After running their own implementation for a while, the React-based framework Waku migrated over to Vite's official React Server Components plugin and the Environment API.
- Curious about building your own Vite plugin? Alem Tuziak made a video about how he implemented the TanStack Devtools Vite plugin and explained his process.




