Artem Zakharchenko's Avatar

Artem Zakharchenko

@kettanaito.com

Software engineer. Helping you master automated testing at http://EpicWeb.dev. Author mswjs.io. Instructor egghead.io. I tell stories @zakarcher.com. My debut book "LOGGERHEADS" it out πŸ‘‡ https://zakarcher.com/books/loggerheads

4,184
Followers
211
Following
4,366
Posts
24.04.2023
Joined
Posts Following

Latest posts by Artem Zakharchenko @kettanaito.com

But I hate context switching, Dominik. What do I do?

10.03.2026 14:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Indeed! Wrapping up with the remaining tests and rolling it out.

10.03.2026 13:11 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Man, the upcoming network source architecture in MSW is so good. Everything has its own place. Everything is extensible. Your network, your rules (sounds like a freaking footwear slogan but whatever).

10.03.2026 07:57 πŸ‘ 13 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Crafting an Amber Medallion from Elden Ring

Crafting an Amber Medallion from Elden Ring

Crafting an Amber Medallion from Elden Ring
youtu.be/amBTq4QMo7c?...

09.03.2026 22:47 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

I am definitely holding you to your invitation to Zurich! I would love to visit. Fingers crossed for 2028.

09.03.2026 17:13 πŸ‘ 2 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Same here! Man, you did such a fantastic talk. When I grow up, I want to present like you.

09.03.2026 17:08 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Nominate OSS for Funding β€” Open Source Endowment Nominate critical, underfunded open source projects for OSE grant funding through our open, community-developed model.

If you like MSW and would like to help make it more sustainable, please consider nominating it at endowment.dev/funding/

Share a short feedback about how it improved your development life. Costs you nothing. Might be a game-changer for its future.

Thank you ❀️

09.03.2026 15:28 πŸ‘ 10 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

This is such a gem!

09.03.2026 15:14 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A speaker presents to an audience, showcasing a slide with the text questioning the presence of automated testers. The atmosphere is engaging.

A speaker presents to an audience, showcasing a slide with the text questioning the presence of automated testers. The atmosphere is engaging.

Had a great time talking about the history of MSW at React Prague. Thank you for having me!

09.03.2026 11:57 πŸ‘ 14 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thank you! Done.

08.03.2026 22:21 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Download count, then dependents count are good places to start.

Is there any way to apply to this fund, by any chance? One of my projects, Mock Service Worker, is pretty much a critical project maintained by a single person.

08.03.2026 20:56 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

About the entirety of the Expedition 33's OST.

07.03.2026 22:41 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Some level of customization will always be unattainable with PWAs by their design. And that might involve keeping some shortcuts non-configurable for security purposes. That stinks.

07.03.2026 18:49 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm actually considering limiting my PWA installs only to Chromium. It's a bit janky, I know, but should be possible with User-Agent detection and a nice user-focused UI of why that's needed.

07.03.2026 10:23 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Honestly, if Safari had great PWA support, the desktop apps would be completely solved by PWA + system WebView-based solutions like Tauri or Electrobun. But since Chromium is the most powerful browser out there, you likely want to ship it for your app.

07.03.2026 10:23 πŸ‘ 5 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

- PWAs don't support in-place writes for files. This is honestly the most painful issue I have. If you have a 5MB project, you need to write the entire 5MB ever time you save. There's an open issue on GitHub, but I believe it's years old.

07.03.2026 10:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

- More higher-level APIs. E.g. give me a fully-fledged API for working with local files: creating new, opening, saving, streaming, recovering, etc. EVERY PWA that has to work with files needs this and there's no reason for every app to reinvent the wheel.

07.03.2026 10:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The biggest things I miss are:

- Proper custom shortcuts. There's no way to override, say, Cmd+N and that's a shame (especially since you *can* override Cmd+O 🀷).
- System-level menus. It's silly PWA officially recommend building custom menus *in* the app. That's a terrible UX.

07.03.2026 10:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

I was happy to track down and report a severe bug in the LaunchParams API that rendered it fully unusable. That should be fixed in the next versions of Chrome.

The browser compatibility is another thing. Safari is terrible for PWAs, which is a shame since it's the default browser for many.

07.03.2026 10:18 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Indeed. I've been building an EPUB editor as a PWA and it's been fantastic so far. A few minor hurdles here and there, but nothing major. The web APIs are insanely powerful. You can process audio, video, images, textβ€”anything now.

I just wish PWA APIs were more polished.

07.03.2026 10:18 πŸ‘ 9 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Luckily, Vitest brings in-browser testing at a convenience of an integration test.

06.03.2026 21:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

And I would gladly throw these tools into a deep pit where they belong if I didn't a bunch of developers still using them and expecting MSW to work in environments that don't work themselves. When are we going to be past this hackery?

06.03.2026 11:53 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I hate browser-like environments. I don't think you realize how much. JSDOM doesn't implement streams (Blob.prototype.stream is undefined and breaks all consumers). HappyDOM messes up XHR events and returns undefined for "request.readyState", which must never happen.

πŸ€¦β€β™‚οΈ

06.03.2026 11:53 πŸ‘ 9 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0
Preview
Quick start Get MSW up and running in under five minutes.

Start from mswjs.io/docs/quick-s.... Then dive into the GraphQL section: mswjs.io/docs/graphql/. After, read through the Best practices: mswjs.io/docs/best-pr...

This should get you on good feet.

06.03.2026 11:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Every time I talk to a team that doesn't use mswjs.io:

06.03.2026 11:09 πŸ‘ 7 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

You know you are doing something stupid if you

- really need to stringify that function
- really need to access that # private field
- really, really need to patch that global

05.03.2026 22:17 πŸ‘ 8 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

🀞

05.03.2026 10:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - mswjs/msw: Industry standard API mocking for JavaScript. Industry standard API mocking for JavaScript. Contribute to mswjs/msw development by creating an account on GitHub.

It would be absolute bonkers if MSW reaches 20k stars on GitHub this year (github.com/mswjs/msw). Do you think we can do it?

05.03.2026 09:45 πŸ‘ 12 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
Sponsor @mswjs on GitHub Sponsors Mock Service Worker is an API mocking library for browser and Node.js.

So, anyhow, a bunch of exciting stuff happening in MSW. If you or your company want to support the future of API mocking on the web, please consider becoming a sponsor on GitHub: github.com/sponsors/mswjs

Thank you!

04.03.2026 19:46 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

I plan on solving that by adding a new project to Vitest and using export conditions for those interceptors to give me the correct entrypoint when imported in Node.js. That should work.

04.03.2026 19:46 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0