TIL when running Vitest browser mode (or plain Playwright) on Github Actions on Ubuntu, you can skip the slow "playwright install chromium" step completely by providing channel option. This makes Playwright use the pre-installed Chrome. So many projects out there that could speed their CIs with this
Vitest
@vitest.dev
Next generation testing framework powered by @vite.dev ⚡️ https://vitest.dev
@vitest.dev 5-beta.7 is out with a lot of performance improvements depending on your setup. If you are using jsdom, consider switching to vmThreads pool for x4 speedup! Are your tests now running faster? github.com/vitest-dev/v...
`vmThreads` is 30% faster in Vitest 5 for your jsdom tests. It is now a much better alternative to the default forks+jsdom. Vitest 5 also comes with a `vitest doctor` command that will find the best settings for you! As a note, browser mode also becomes ~30% faster, but for different reasons :)
How to speed up vitest: De-barrel everything so that the module graph gets smaller. Saves both processing + import time. And get rid of module mocks, which prevents many de-barelling opportunities.
I have cancelled my GitHub Sponsors account today. If you've been sponsoring me before, consider redirecting the funds to Vitest directly 💚
Sponsor @vitest-dev on GitHub Sponsors
github.com
Interested in the story behind @voidzero.dev joining @cloudflare.social? So was I! Luckily @evanyou.me, Founder & CEO of VoidZero, creator of @vuejs.org & @vite.dev, & now part of Cloudflare's #oss team, joined me to discuss. 👉 redmonk.com/videos/evan-... @redmonk.com youtube.com/shorts/98v0t...
Cloudflare's VoidZero #acquisition & #oss commitments with Evan You #startup
YouTube video by RedMonk
youtube.com
Get first access to our @vitest.dev plugin, which adds Chromatic’s visual testing and review to your browser tests. It’s built by @ariperkkio.dev, a Vitest core maintainer. It’s free to use while in beta and requires no changes to your test files. Read on for more info 🧵
🌌 Tales from the Void: Our May 2026 Recap Don't miss out on the news: 🧡 VoidZero is now part of Cloudflare ⚡ Rolldown got its first stable release 🔒 Vite security patches 🧪 Vitest going engine-agnostic 🦀 Oxfmt up to 25% faster 👀 and more from the community Full recap 👇 voidzero.dev/posts/whats-...
Tales from the Void: May 2026 Recap
Our May 2026 recap covers VoidZero joining Cloudflare, Rolldown reaching 1.0 stable, and more.
voidzero.dev
VoidZero, the team behind Vite, Vitest, Rolldown, Oxc, and Vite+, is joining Cloudflare. Vite stays open source, vendor-agnostic, and built for everyone. https://cfl.re/4dR0LYA
VoidZero is joining Cloudflare
VoidZero, the team behind Vite, Vitest, Rolldown, Oxc, and Vite+, is joining Cloudflare. Vite stays open source, vendor-agnostic, and built for everyone.
blog.cloudflare.com
VoidZero is joining Cloudflare. Our mission stays the same: to make JavaScript developers more productive than ever before. Vite, Vitest, Rolldown, Oxc, and Vite+ remain MIT-licensed. Evan and the VoidZero team will continue leading them.
Today, VoidZero joins Cloudflare. Vite remains MIT, vendor-neutral, and stewarded by the same wider team. The same goes for Vitest, Rolldown, and Oxc. Cloudflare is also committing $1M to an OSS fund to support independent development in the Vite ecosystem.
Cloudflare supports Vite's mission
The VoidZero team is joining Cloudflare. Vite remains MIT, vendor-neutral and stewarded by the same wider team.
vite.dev
We've published a Browser Mode security advisory. CDP-capable providers like Playwright Chromium with the browser API exposed to the network allowed attackers to run code on the host. Update vitest/browser to 5.0.0-beta.4, 4.1.8, or 3.2.6. Vite+ users: Upgrade to 0.1.24 github.com/vitest-dev/v...
Exposed Browser Mode API Can Proxy CDP and Overwrite Config Files, Leading to RCE
## Summary Vitest Browser Mode exposes a `cdp()` API that forwards raw Chrome DevTools Protocol (CDP) methods over the Vitest browser WebSocket RPC. CDP is not gated by `browser.api.allowWrite`,...
github.com
Building this integration has been amazing opportunity to dogfood all APIs we've added into @vitest.dev in past years. It's using features like new Reporter APIs, Vitest plugin hooks, browser commands, CDP, test tags and much more! Vitest is definitely one of the most extensible JS tools out there.
We’re launching early access for Vitest visual testing with Chromatic! ⚡️ Built with @vitest.dev core maintainer ariperkkio.dev, Chromatic adds visual testing to the browser tests you already write. 🧵 (1/4)
We’re launching early access for Vitest visual testing with Chromatic! ⚡️ Built with @vitest.dev core maintainer ariperkkio.dev, Chromatic adds visual testing to the browser tests you already write. 🧵 (1/4)
🦸 The legends who stayed till the very end of yesterday's #ReactSummit Pragmatic Testing workshop. I love how @vitest.dev + a resilient testing strategy makes tests look the same across frameworks.
🚨 We are publishing Vitest 4.1.6 and Vitest 5.0.0-beta.3 to resolve recent vulnerabilities: - `--api` and `--ui` exposed arbitrary files to the network - `--api` allowed arbitrary execution - `?otelCarrier` XSS Check github.com/vitest-dev/v... for more information
Build software better, together
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
github.com
Couldn't keep up with all the news? We got some selected highlight from last month to recap! 🌀 → Vite Plus lazyPlugins API → @vitest.dev 5 sneak peak → Oxlint: RFC for linting Svelte/Vue/Angular templates → Module Federation in @vite.dev via plugin → @npmx.dev vp option youtu.be/zwY4UZr-qjc
🫡 Bye `fakeAsync`, thanks for your service. ✨ Angular 22 will ship an option to migrate `fakeAsync` to @vitest.dev fake timers 🗑️ No more Zone.js patching just because of `fakeAsync` 🙏 Thanks to Andrew Scott and Charles Lyding for welcoming the idea and for the feedback github.com/angular/angu...
feat(@schematics/angular): add option to migrate `fakeAsync` to Vitest fake timers by yjaaidi · Pull Request #33111 · angular/angular-cli
PR Checklist Please check to confirm your PR fulfills the following requirements: The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-com...
github.com
Tales from the Void: April 2026 is out! ✨ This month at VoidZero: ◇ Our approach to supply chain security & trusted publishing ◇ A new Oxc-based Angular Compiler that is up 20x faster ◇ Vite+ `lazyPlugin` to reduce slowdowns ◇ @vitest.dev Browser Mode trace viewer ◇ @rolldown.rs module tags
Tales from the Void: April 2026 Recap
Our April 2026 recap covers VoidZero's approach to supply chain security and trusted publishing, an Oxc-based Angular Compiler 6.4x faster than the Angular CLI, Vite+ lazyPlugin, a new Vitest trace…
voidzero.dev
@vitest.dev is going framework agnostic, and we need your feedback!
[Proposal] Framework-Agnostic Vitest · vitest-dev vitest · Discussion #10271
Vitest's tight coupling with Vite has historically been one of its greatest strengths: instant HMR, a unified config, and a shared plugin ecosystem made it the natural choice for projects already i...
github.com
Take a first look at the new @vitest.dev Browser Mode's trace viewer 👀 Design is not final 😄 Thank you, @hiogawa.bsky.social for working on it! main.vitest.dev/guide/browse...
Did you know that @vitest.dev has an Agent reporter? 🤖 Instead of outputting all the details, it ensures only the failing tests and summary are sent to your agent. That means less tokens used and less information overload. Since Vitest 4.1 this is the default when detecting an agent.
There's some impressive work going on with 3rd party oxc powered coverage instrumentation that can replace Babel based istanbul-lib-instrument 👀 > 8-11x faster than babel-plugin-istanbul, 13-15x faster than swc-plugin-coverage-instrument (Rust/WASM), 25-30x faster than istanbul-lib-instrument.
GitHub - fallow-rs/oxc-coverage-instrument: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST
Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST - fallow-rs/oxc-coverage-instrument
github.com
Really enjoying the Storybook/Vitest integration and the accessibility addon. It's friction at its best; easily detect an issue, serve you a direct link to the documentation about the rule so you learn something as a developer + the details you need to go fix it immediately 👏
vitest no longer supporting node 18 has been a good way to get a huge number of projects to bump their minimum node version 😄
Want to start writing tests but no idea how to get started? The @vitest.dev docs now have a Learn section that covers evergreen concepts (matchers, tests, dealing with async code, mocks, ...) and also current topics like writing good tests with AI! Time to get started 🎉
@vitest.dev now has a new `--experimental.preParse` flag to avoid running all test files when you apply filters. For example, if you have `.only` tests or use `-t` or `--tags-filters` Vitest will now only run matching test files. Try it now! vitest.dev/config/exper...
Did you know that @vitest.dev UI shows you slow tests since 4.1? No more scrolling to find them! Do you use Vitest UI or rather prefer the terminal output?