Grilled Cheese

ExploreLog inSign up

AriPerkkio

@ariperkkio.dev

194 Following1.2k Followers

@vitest.dev Core Team • Open Source @chromatic.com • github.com/AriPerkkio

PostsRepliesMedia
@ariperkkio.devSep 28, 2026, 8:10 AM

This Thursday we'll be discussing about Visual Regression Testing using @vitest.dev and @chromatic.com. Join me and @kylegach.com to hear how you can get VRT that's stable across your whole team, not just on your local machine. 📸

@ariperkkio.devSep 10, 2026, 7:45 AM

Maybe worth to mention for inspiration if you end up building something for your case: ~6 years ago I built a tool for eslint plugins to do exactly this. It allows custom eslint plugins to test themselves against ~10K Github repos (or as many as they can in 6 hours) and see if they work as expected.

github.comGitHub - AriPerkkio/eslint-remote-tester: CLI tool for testing given ESlint rules against multiple repositories at once.CLI tool for testing given ESlint rules against multiple repositories at once. - AriPerkkio/eslint-remote-tester
@chromatic.comSep 3, 2026, 7:13 PMReposted by @ariperkkio.dev

Chromatic for @vitest.dev Browser Mode is live. 🧪📸

Browser Mode runs your component tests in a real browser. Now Chromatic checks how those components look by capturing the rendered UI.

No new screenshot assertions. No second suite to maintain. 🧵 (1/4)

Vitest Visual Regression Testing with Chromatic
1
@ariperkkio.devAug 28, 2026, 5:28 AM

Yes. I'm not a fan of forking widely used projects like this. Instead I would like the whole ecosystem to contribute in one shared project like the original istanbuljs repository. But this time forking was the only choice as istanbuljs has zero maintenance at this point.

@ariperkkio.devAug 28, 2026, 5:24 AM

Yes, definitely! We are already thinking about modernizing the most-used "html" reporter with features like dark mode and Vitest color theme. Feel free to open issues in github.com/vitest-dev/i...

@ariperkkio.devAug 27, 2026, 5:22 AM

The @vitest/istanbuljs fork is now ready and will ship in the next version of Vitest. Compared to the original istanbuljs packages it's ESM-only, ships its own typings, drops unnecessary runtime deps, and moves Node 8→22, Babel 7→8 (lib-instrument), React→Preact (html-spa reporter), and more!

AAriPerkkio@ariperkkio.devJan 12, 2026, 10:53 AM

I'd like to avoid forking Istanbuljs monorepo just for Vitest. Any istanbuljs Github organization members here who could make me a maintainer there? (@kentcdodds.com, @jasonkurian.dev 👋) github.com/vitest-dev/v...

Partial screenshot from Github issue with text: "Alternative
Get someone from Vitest team into Istanbuljs organization and as maintainer of istanbuljs/istanbuljs package"
github.comRelease v1.0.0 · vitest-dev/istanbuljsv1.0.0 First stable release of @vitest/istanbuljs, a fork of istanbuljs/istanbuljs maintained by the Vitest team. The fork starts at upstream commit 28ffdbc (see vitest-dev/vitest#9433 for backgrou...
2
@ariperkkio.devAug 5, 2026, 11:43 AM

Yeah it might cause unexpected changes in visual testing. Though same issue will happen with the "playwright install chromium" too. I've had so bad experience trying to setup stable visual testing infra myself that I just gave up on that approach many years ago. Now I'd recommend Chromatic+Vitest 🤝

CChromatic@chromatic.comJun 11, 2026, 4:32 PM

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)
1
@ariperkkio.devAug 5, 2026, 11:35 AM

Yes definitely. For projects that don't target specific browser versions it should be enough. If you are testing how some specific browser version works, a typical "playwright install chromium" might not be good option either.

1
@ariperkkio.devAug 5, 2026, 11:19 AM

Yes! Apparently Ubuntu has had it pre-installed for a while. I've wasted so much CI time and energy installing chromium over and over again.

@ariperkkio.devAug 5, 2026, 8:28 AM

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.
4
@43081j.comJun 30, 2026, 12:54 PMReposted by @ariperkkio.dev

is the distributed code readable? yes - don't ship a sourcemap. no - make the distributed code readable.

1
@chromatic.comJun 11, 2026, 4:32 PMReposted by @ariperkkio.dev

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)
1
@ariperkkio.devJun 1, 2026, 10:37 AM

And it's open source! github.com/chromaui/chr...

github.comchromatic-e2e/packages/vitest at main · chromaui/chromatic-e2eArchive end-to-end tests to be replayed in Storybook and Chromatic - chromaui/chromatic-e2e
@ariperkkio.devJun 1, 2026, 10:35 AM

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.

CChromatic@chromatic.comMay 28, 2026, 5:57 PM

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
1
@ariperkkio.devMay 31, 2026, 12:36 PM

If you've published a package using staged publishing before this fix, all that's needed now is to re-publish the same package and @npmx.dev will display the trusted publishing label again 🤝

npmx timeline of ast-v8-to-istanbul package. Trusted publishing was removed on May 25th, and re-enabled on May 31st.
4James@43081j.comMay 29, 2026, 8:21 AM

npm now signals when a package used staged publishing! 🎉 this will fix a whole bunch of trust scales (e.g. pnpm trust downgrades)

@ariperkkio.devMay 29, 2026, 3:18 PM

Which coverage metrics do you find the most useful? Which ones would be good defaults for typical users? JS coverage ecosystem relies on defaults that were set ~12 years ago. Modern tools could break the cycle, but changing this old defaults is scary.

1
@chromatic.comMay 28, 2026, 5:57 PMReposted by @ariperkkio.dev

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
3
@ariperkkio.devMay 13, 2026, 10:04 AM

Testing terminal output is hard. Especially in cases that involve clearing screen partially while maintaining stable log output elsewhere on screen. With ansivision it's possible to simulate what output all the ansi codes would render visually in real terminal. No need to use heavy node-pty anymore.

4James@43081j.comMay 13, 2026, 9:49 AM

Super happy to see a fairly niche library of mine being put to good use 😍

github.comGitHub - 43081j/ansivision: A library to time-travel through terminal output and more.A library to time-travel through terminal output and more. - 43081j/ansivision
@ariperkkio.devMay 13, 2026, 9:46 AM

Thanks, it works! We can finally test Vitest's fast-updating SummaryReporter with this! I always thought it would be too difficult to simulate terminal's behaviour, but this library does it perfectly 💯 Also found one edge-case bug in Vitest while setting this up. 🙃

Test case validating Vitest's SummaryReporter using ansivision-package. Inline snapshot describes changes of test summary, showing test run progress.
@ariperkkio.devMay 10, 2026, 4:29 PM

So writing on multiple cursor positions on a single line causes multiple frames? We use synchronized updates to define what is a frame.

github.com
1
Older posts
Terms of UsePrivacy PolicyCommunity StandardsHelpGet the app

Grilled Cheese is a product of Village Compute

Version devBuilt at: 2026-10-12 02:39:10 EDT