Storybook 9 thinks it can change me

Issue #398.June 6, 2025.2 Minute read.
Bytes

Today’s issue: The React Router Super PAC, JavaScript’s quiet heroes, and the only way to unfreeze React Native’s legacy architecture.

Welcome to #398.


Eyeballs logo

The Main Thing

Old lady from Golden Girls laughing while holding a knife

When my manager promises me that I'll learn to love writing unit tests

Storybook 9 thinks it can change me

95% of my career success can be attributed to two things: 1) prescription-strength Monster Energy, and 2) my refusal to write tests under any circumstance.

But the Storybook team is trying to make me question my entire identity with this week’s Storybook 9 launch. They teamed up with Vitest and Playwright to create a new all-in-one testing tool for components that aims to shame all non-testers into submission combine the speed of unit tests with the in-browser fidelity of E2E tests.

And even I have to admit, it looks pretty smooth:

  • Interaction tests simulate user behavior like clicks and keypresses in a real browser (via Playwright) to verify that all of your functionality works

  • Accessibility tests can be run across all your stories simultaneously, using axe-core to catch and fix WCAG violations much faster and earlier than usual

  • Visual tests check for appearance bugs in all your components

Storybook 9 now lets you run all of these tests directly in your app with a single click and gives you coverage reports to show you what was actually tested. It’s also 48% smaller than v8 and comes with some fresh framework upgrades for Svelte 5, React Native, and Next.js (now Vite-powered).

Bottom Line: I have to admit, this release might be enticing me to give up some of my prejudices towards testing.

But the only way you’ll get me to give up my black-market stimulants is to pry them from my cold, dead-but-still-twitching fingers.


Convex logo

Our Friends
(With Benefits)

The three fates from Hercules

The AI agents deciding my app's fate

Chef is the AI agent for *actual* full-stack apps

Most AI coding agents struggle to build real-world apps – so how is Chef by Convex able to build a complex chat app like Slack from a single prompt?

Reason #1: Convex has good abstractions, where everything (frontend and backend) is written in pure TypeScript. This allows Chef to generate high-quality, type-safe code that works in one shot.

Reason #2: Chef uses Convex Components, which provide a drop-in microservice that can be plugged into any app.

So when you prompt Chef to “build a collaborative text editor,” it leverages the Collaborative Text Editor Convex component, saving thousands of lines of code and preventing lots of potential errors.

Use it for free – and start building full-stack apps that actually work.


Cool Bits logo

Cool Bits

  1. Angular just launched a new guide to Angular Router – the official navigation library for Angular that will probably spin out at some point to start a new VC-backed project called Angmix, then merge all of the Angular Router functionality into Angmix, then sell that project to an ecommerce platform, then put all the Angmix functionality back into Angular Router, then make a completely new project that has nothing to do with Angular and call it… Angmix.

  2. TC39 advanced nine JavaScript proposals last week in preparation for Hot Spec Summer™️.

  3. Semgrep provides an AI AppSec Engineer that combines static analysis and LLMs to eliminate all false positives – so that security teams and developers only ever deal with real security issues. [sponsored]

  4. The React Native team has officially frozen the legacy architecture. And the only thing that can unfreeze it is true love’s first kiss.

  5. Astro 5.9 comes with experimental content security policy support, the ability to render Markdown in content loaders, and more.

  6. React Router just moved to an open governance model, and if you’ve got strong opinions about nested routes, you should consider joining my Super PAC to make sure your voice gets heard.

  7. ConfigCat is a feature flag service (with a cute cat logo) that helps teams toggle features without redeploying, do gradual rollouts, target specific users, and A/B test new ideas without changing code. It comes with unlimited seats, awesome support, a reasonable price tag, and a Forever Free plan. [sponsored]

  8. Dan Abramov’s comeback tour continues with another blog post on how imports work in RSC.

  9. Alex MacArthur wrote about how document.currentScript is more useful than I thought.

  10. Tanner Linsley wrote an article called Search params are state – treat them that way, which is an addendum to another important life lesson: Newsletter writers are society’s quiet heroes – treat them that way.