Sign in

Vladimir

@vladimir.berlin
2.2K followers 186 following 296 posts

Team member of @vite.dev and @vitest.dev - @voidzero.dev (@cloudflare.social) 📍 Berlin, Germany vladimir.dev

PostsRepliesMedia
Vladimir @vladimir.berlin · 05/09/2026
030
Vladimir @vladimir.berlin · 18/08/2026
An automated AI agent wanted to open a PR in @vitest.dev, but decided against it after reading our updated AI policy. What a marvel to behold github.com/vitest-dev/v...
A comment (diff) with text:

Added:
Written by an AI agent on behalf of @nightcityblade; this comment has not been reviewed by a human.
I discovered the repository policy requiring human involvement and will not submit an automated contribution. This issue remains unclaimed.

Removed:
I would like to work on this and submit a PR shortly.
3436
Vladimir @vladimir.berlin · 24/07/2026
In addition to this, coverage is also now a lot faster! (especially in browser mode)
Benchmarks of the coverage provider in vitest: 
node+v8 is ~1.15x faster
node+istanbul is ~1.4x faster
browser+v8 is 2.7x ~faster
node+v8 is ~1.06x faster
060
Vladimir @vladimir.berlin · 24/07/2026
@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...
A table with performance data for different types of app:

deps-heavy, vm pools (warm + cold)	−53…−58%
micro-utils, vm pools warm	−22…−29%
enterprise-monolith, forks isolate:true	−21…−33%
node-library, all cells	−9…−27%
node-backend, vm pools	−22…−28%
browser mode (react-spa/vue-spa/design-system)	−7…−18%
jsdom warm rows across SPA apps	−8…−22%
1397
Vladimir @vladimir.berlin · 10/07/2026
`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
0579
Vladimir @vladimir.berlin · 22/06/2026
Had a wonderful first time in London. Thank you @npmx.dev for a great meetup and @willow.sh, @danielroe.dev, @patak.chat for an exhilarating late night cycle tour 😂
A photo of Willow, Daniel, Vladimir (me), Mattias in front of County Hall that is lit in Pride colors at night
3763
Vladimir @vladimir.berlin · 11/05/2026
there is only one other Scottish stare that could match it, and at least me and @willow.sh agree
120
Vladimir @vladimir.berlin · 28/04/2026
obama gives himself medal meme
020
Vladimir @vladimir.berlin · 27/04/2026
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...
The new trace viewer. It shows the state of the DOM at certain points and also shows when the state was changed in your code.
59511
Vladimir @vladimir.berlin · 20/04/2026
what are these downloads numbers 🤨
A graph showing a difference in downloads of vitest (50.6M) vs jest (42.8M)
5545
Vladimir @vladimir.berlin · 07/04/2026
@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...
Running tests with `--experimental.preParse` runs only a single test file unlike previously when it would only apply `.only` per test file
1478
Vladimir @vladimir.berlin · 25/03/2026
🫣
🫣
The graph of Vitest downloads on npmx.dev: 42.8M as of now. The graph starts slow, but jumps after the new year showing +20M more downloads in 3 months.
6787
Vladimir @vladimir.berlin · 10/03/2026
@vitest.dev vscode extension now supports @deno.land!
A screenshot of a PR with the title "feat: support deno runtime"
0371
Vladimir @vladimir.berlin · 04/03/2026
what's up, @github.com? what is it even supposed to be 🫣
260
Vladimir @vladimir.berlin · 06/02/2026
For all your AsyncLocalStorage needs, Vitest 4.1 now supports `aroundEach` and `aroundAll` hooks! main.vitest.dev/api/hooks#ar...
An example of the code that shows `aroundEach` wrapping every test with `db.transaction` call.
0373
Vladimir @vladimir.berlin · 02/02/2026
The next @vitest.dev version has a new `test.extend` syntax that supports type inference (including the correct scope)! main.vitest.dev/guide/test-c...
A screenshot from the docs showing a new `test.extend` pattern. Provide name of the fixture as the first argument, options in the second and value in the third. Return the value from the function for automatic type inference, and use `onCleanup` hook for an explicit cleanup.
2567
Vladimir @vladimir.berlin · 28/01/2026
my first contribution to the better npmjs.com project
A meme "do it for him" with a lot of pictures of Daniel Roe, who started a better alternative for NPM a week ago
2797
Vladimir @vladimir.berlin · 14/01/2026
Vitest 4.0.17 now shows a better diff when used with asymmetric matchers:
1451
Vladimir @vladimir.berlin · 08/12/2025
A new milestone! @vitest.dev hit 20 million mark 🎉 Took us 4 years since the first closed 0.0.0 release on December 3d, 2021 😄
An image from NPM showing vitest with 20,172,232 weekly downloads
711611
Vladimir @vladimir.berlin · 02/12/2025
Import breakdown data is also available to third-party users via `experimental_getSourceModuleDiagnostic` API! vitest.dev/api/advanced...
110
Vladimir @vladimir.berlin · 02/12/2025
Vitest 4.0.15 comes with a cool experimental feature: Imports Breakdown. Every module shows how long it took to load in UI and in the VSCode extension! Pass down `--experimental.printImportBreakdown` to also see it in your terminal. vitest.dev/guide/ui.htm...
5438
Vladimir @vladimir.berlin · 27/11/2025
Exciting things coming to the Vitest UI reporter 👀
The screenshot of code that shows how long it took to load each module next to the import declaration.
0131
Vladimir @vladimir.berlin · 21/11/2025
We do a little trolling
010
Vladimir @vladimir.berlin · 20/11/2025
Vitest 4.0.11 adds an experimental `fsModuleCache` flag to cache module transforms between reruns. Learn more: vitest.dev/config/exper... This is an opt-in feature, please let us know how it works for you! And example of a single test file that imports a lot of files (~1500). Almost a 50% boost!
A screenshot of Vitest terminal showing the times for two runs. The first run takes 9.65s, the second run takes 5.90s.
45510
Vladimir @vladimir.berlin · 08/11/2025
010
Vladimir @vladimir.berlin · 07/11/2025
040
Vladimir @vladimir.berlin · 12/10/2025
Vitest vscode extension now displays your console.logs inline. An example of logging in browser mode:
A screenshot of a vscode window where the tests call `console.log(content)` and it is visible on the same line
418022
Vladimir @vladimir.berlin · 08/10/2025
Not unexpected, but still disappointing 🙃
150
Vladimir @vladimir.berlin · 30/09/2025
The next version of Browser Mode supports opening multiple headed browsers at the same time, because why not 🤷
0130
Vladimir @vladimir.berlin · 30/09/2025
We are deprecating the `@vitest/browser/context` in the next version of Vitest in favor of `vitest/browser`. The provider is now also required for better type safety (providers are also moved to separate packages to improve the size and dependency graph of @vitest/browser)
A code example where playwright is imported as a function that accepts parameters instead of a string in the config. In this example playwright accepts an object "launchOptions" with "sloMo" set to 100And example of migrating from @vitest/browser/context to vitest/browser. The "Find and Replace" will be enough.
3120
Vladimir @vladimir.berlin · 08/09/2025
We are thinking about supporting Standard Schema in Vitest natively. What do you think? github.com/vitest-dev/v...
A screenshot of a code:

const schema = z.object({
  name: z.string(),
  email: z.email(),
});
const validData = { name: 'John', email: 'john@example.com' };
expect(validData).toEqual(schema);
expect({ email: "john@example.com" }).toEqual({ email: z.email() });
8624
Vladimir @vladimir.berlin · 27/08/2025
Vitest 4 runs simple test files faster! You can already check it out by installing Vitest 4 beta. On average, Vitest now takes 25% less time to start the test. Due to parallelisation, the overall time difference can vary. We are focusing our efforts on improving the time even more in the next beta!
A benchmark showing that vitest-beta is 1.17 ± 0.01 times faster than Vitest 3. On average, the beta version takes 710ms and Vitest 3 takes 833ms.
69615
Vladimir @vladimir.berlin · 28/07/2025
Built-in Visual Regression testing comes to Vitest in the next major release! Thank you, @macarie.blue for working on this feature 👏 main.vitest.dev/guide/browse...
The example of a test that tests an element is consistent between code changes. The code includes `expect(element).toMatchScreenshot('hero-secion')`
614224
Vladimir @vladimir.berlin · 22/07/2025
Vitest Browser Mode reached almost 1.2 million weekly downloads 😮 Last time I checked it was 200k 🫣
The screenshot from NPM showing that @vitest/browser package has 1,165,859 weekly downloads.
9588
Vladimir @vladimir.berlin · 24/01/2025
a screenshot of the Twitter account page for @sheremet_va, saying: 'This account doesn't exist. Try searching for another.'
1481
Vladimir @vladimir.berlin · 07/01/2025
Working on the new @vitest.dev reporter API gif by @ariperkkio.dev
1576
Vladimir @vladimir.berlin · 04/12/2024
Vitest Node API is finally getting a proper documentation 👀
A screenshot of a sidebar from the Vitest Node API documentation page
5424
Vladimir @vladimir.berlin · 08/11/2024
In the next version of Vitest a test will fail if you forgot to await .poll or .element assertions! .rejects and .resolves also print a warning now, but don’t fail a test yet (coming in Vitest 3)
A terminal output of running “vitest” command. The test doesn’t await “expect.poll” assertion which fails the test with a tip to add an “await” statement
0354
Vladimir @vladimir.berlin · 06/11/2024
My life is complete now, Joyee follows @vitest.dev 🥺
2152