Vitest

@vitest.dev

Next generation testing framework powered by @vite.dev ⚡️ https://vitest.dev

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

Github PR diff view showing removal of "playwright install" step, and addition of "launchOptions.channel: 'chrome'" on Vitest Playwright provider.

`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 :)

an app with 342 modules + real deps is ~32% faster. 1022 modules + heavier deps is ~28% faster

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.

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 🧵

Early access. Vitest Browser Mode visual tests in Chromatic for free (while in beta for the summer)

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.

VoidZero + Cloudflare

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.

Chromatic@chromatic.com · 2mo ago

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)

vitest-chromatic-integration-early-access-program

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

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.

A screenshot of the docs showcasing the agent reporter feature

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 🎉

Navbar of Vitest's "learn" section in the docs, showing menu items like "Using Matchers" or "Writing Tests with AI"