Welcome to another edition of Tales from the Void!
Regularly, we recap the project updates for Void, Vite+, Vite, Vitest, Rolldown, Oxc, and what’s happening in our community.
Well-Integrated, Not Stitched Together
In March we came closer to realizing our vision of a unified toolchain:
- Oxlint JS plugins let you run your existing ESLint plugins.
- Vite 8 now ships with Rolldown as its bundler, meaning every Vite user runs on Oxc under the hood.
- Vite+ takes it further by combining Vite, Vitest, tsdown, Oxlint, and Oxfmt into a single CLI.
With all of that shipping in one month, it's worth stepping back and talking about what ties it together.
Most JavaScript toolchains are independent tools plumbed together. Each parses your code separately, each has its own config, and they often conflict with each other. Your linter disagrees with your formatter, your bundler doesn't understand your test setup, and you end up debugging the gaps between tools instead of shipping features.
Our tools take a different approach. Rolldown, Oxlint, and Oxfmt share a common foundation: one parser, one resolver, and one module interop layer provided by Oxc. Vite is powered by Rolldown, so the whole stack benefits from the shared core and works together seamlessly. Every further improvement to Oxc benefits the entire tooling suite and those improvements come with significant performance gains across the board.
Good integration leads to good compatibility. The biggest mistake in building a new generation of tools is to ignore the existing ecosystem. By prioritizing compatibility with existing tools, migration and adoption become much easier. That's why:
- Rolldown supports Rollup's plugin API,
- Oxfmt is 100% conformant with Prettier's formatting rules, and
- Oxlint can run existing ESLint plugins significantly faster, with zero code changes.
Thanks to Vite+, you get all of this as a single CLI and can focus on your app instead of wiring your toolchain together.
Project Updates
Void
Void was announced: Evan You presented the new deployment platform built for Vite applications. Run void deploy and Void builds, provisions, and deploys your app. Need a database, auth, or AI inference? Import the SDK and Void provisions it automatically from your code. Sign up for the early access to be among the first to try it out.
Vite+
- Vite+ is now fully open-sourced under MIT license. A single
vpbinary that combines Vite, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown with built-in task running, caching, and monorepo support. - First post-launch updates already shipped: Svelte template, tab completion, Linux musl support, and more.
- Vite+ now supports Bun as package manager in addition to pnpm, npm, and Yarn.
- Vite Task (
vp run) has a new--parallelflag to run multiple tasks in parallel.
Vite
- Vite 8 has been released, bringing major architectural improvements with Rolldown as the new bundler.
- Subsequent Vite patch versions 8.0.1 and 8.0.2 and 8.0.3 shipped with early bug fixes based on community feedback.
- The Vite React plugin major version 6 is now available, coming with Vite 8 support and without Babel by default, reducing its install size.
Vitest
- Vitest 4.1 is now stable with first-class Vite 8 support from day one and a bunch of new features, including async leak detection, test tags, and more.
- Planning for Vitest 5 has started! Share your feedback and thoughts in the GitHub discussion.
- In the future you can integrate a custom version control provider via
experimental.vcsProviderfor better change detection in Vitest.
Rolldown
- DCE-only minification and smart constant inlining now enabled by default, allowing smaller bundles without extra config.
- Full filesystem watcher landed in WASM builds enabling proper watch mode in browser-based tooling. In collaboration with StackBlitz, watcher support was also brought to WebContainer environments.
- Better
new URL()detection withimport.meta.urlwhich leads to more reliable static asset handling. - You can now omit source content from sourcemaps for smaller output files via
output.sourcemapExcludeSources. - Bundle analyzer outputs LLM-friendly markdown, which can be sent directly to your agent for an efficient analysis.
Oxc
- Oxlint JS Plugins Alpha shipped, bringing near-100% ESLint plugin compatibility with up to 100x faster linting.
- New React rules added to Oxlint to discourage legacy patterns:
react/no-clone-elementandreact/no-react-children. - Oxlint and Oxfmt both support dynamic configs: If you don't use Vite+ already, you can now utilize
oxlint.config.tsoroxfmt.config.tsfor maximum flexibility in your linting and formatting rules. - New
reportUnusedDisableDirectivesoption catches unnecessary lint disable comments when using Oxlint. - Oxfmt added GraphQL template literal formatting and improved Vue SFC support.
- Oxfmt can now format your JSDoc comments for a consistent documentation style.
- "Did you mean?" suggestions now appear for undefined variable names, catching typos earlier.
Upcoming Events
To catch talks and presentations from VoidZero team members, see the following events where they will present:
- Catch Jim aka. overlookmotel at CityJS London running from April 15th to 17th.
- Laravel Live Japan 2026 will feature a talk from Alexander Lichter on VoidZero's unified toolchain vision on May 26th.
- Alexander Lichter will join enterJS 2026 in Mannheim, Germany on June 16th.
From The Community
- Boshen shared the story of his involvement from Rome all the way to Vite+
- Listen to the new SyntaxFM podcast episode about Vite+ and find out what Scott, Wes, and CJ think about the new toolchain.
- The Syntax crew also discussed our upcoming Void platform in their recent video.
- npmx.dev launched in alpha, a fast, modern npm registry browser built on top of Vite and using Vite+.
- Alvaro Saburido tried to migrate Tres.js over to Vite+ and recorded his experience.
- James Long discussed Oxfmt, Prettier, and opinionated code formatting on the Software Engineering Daily podcast.
- Krzysztof Sordyl shared practical experiences with Vitest's async leak detection feature.
- Analog migrated from ESLint to Oxlint with type-aware linting support.
- Anthropic migrated Claude to TanStack Start + Vite.
- Nuno Maduro tried out Vite+ live on stream and shared his experience with the migration.
- Elise Patrikainen gave a talk about the future of The JavaScript toolchain, sharing the latest updates on VoidZero tooling and the vision behind it at React Paris.
- Syntax's StateOfJS review covered Vite, Vitest, Oxlint, and the broader ecosystem.
- A community writer published their perspective on the Void platform and vendor lock-in.
- Erik Hanchett wrote about replacing his entire frontend toolchain with Vite+.
- The author of PostCSS moved their open source projects to Oxfmt and Oxlint.
- Cloudflare saves 3.75 days compute per day by switching from ESLint to Oxlint




