AriPerkkio
ariperkkio.dev
AriPerkkio
@ariperkkio.dev
@vitest.dev Core Team • Open Source at @stackblitz.com • github.com/AriPerkkio
Project is at github.com/AriPerkkio/a...

Same tests run in browser and JSDOM:
November 13, 2025 at 3:16 PM
I'm also using browser mode for testing library that does headless stuff on DOM. No components or anything visual. It's more reliable for end-users and actually runs faster than JSDOM.
November 13, 2025 at 3:04 PM
In the early days of experimental browser mode I tried to do this with Astro without success. I ended up with conclusion that Astro doesn't expose APIs for rendering smaller parts of the application. It would be amazing to have this supported 🤩
November 7, 2025 at 7:27 AM
It's mainly because we needed more control of pool architecture on Vitest's side, and didn't want to break Tinypool's public API for all its others users by rewriting everything. Tinypool might be perfect for some users, but for Vitest it was blocker in many ways.
October 22, 2025 at 5:36 AM
Is this open source? Link please 👀
October 11, 2025 at 9:48 PM
If the CLI app that's being tested uses chalk/picocolors, there won't be colors in the app as they check for TTY. In threads pool this doesn't happen as there's no separate process in-between.
September 20, 2025 at 5:25 PM
I don't think it does. Probably the CLI app you are testing disables its colors when ran in child_process with `stdio: 'pipe'`. If I remember correctly, chalk does some TTY checks for reasons no one knows. Tinylib's color lib had same check copy-pasted.
September 20, 2025 at 12:41 PM
Finally someone mentioning test isolation! It's easy to be fast without it. See github.com/oven-sh/bun/... mentioning "26x slowdown to bun:test" - though this feature never landed.
Implement --isolate flag in `bun:test` by Jarred-Sumner · Pull Request #3047 · oven-sh/bun
While it technically works, this is marked as a draft PR because a good amount of work needs to be done before this PR can meet our performance expectations. In it's current form, this is a 26x...
github.com
September 15, 2025 at 4:37 AM
Yep 2 paints are required and it's a pitfall many devs don't realize. I'm not sure about the history of why live regions are designed in such way. ARIA spec has always mentioned "updates of live regions" only.
September 3, 2025 at 11:10 AM
Though validating getByRole('status') with text content like that is error prone. I've written someting about it here github.com/AriPerkkio/e...
September 3, 2025 at 9:07 AM
Does not work on Mac with latest Bun:
August 28, 2025 at 11:47 AM
Oh it seems so! Here it's running on Github Actions:
- Mac 15ms
- Windows 0.1ms
- Ubuntu 0.01ms
github.com/AriPerkkio/r...
CI · AriPerkkio/run-on-ci@cc1e2b6
Run Node script on multiple OS and Node versions. Contribute to AriPerkkio/run-on-ci development by creating an account on GitHub.
github.com
August 28, 2025 at 10:23 AM
test-exclude usage is removed in Vitest v4. 0 new deps were needed, as `vitest` package already had all required replacements.
github.com/vitest-dev/v...
August 8, 2025 at 11:18 AM
Awesome episode! I still remember struggling with Storybook's dependencies ~5 years ago. Conflicting Babel deps between Storybook, Jest and Webpack configs... That wasn't fun. 😬
Vite integration and reduced dep graph is just perfect! 💯
June 6, 2025 at 2:43 PM