Repository navigation
build(deps): replace ladle with storybook 10 as the component workbench - #88
Merged
TheGreatAxios merged 2 commits intoOct 19, 2026
Merged
Conversation
|
All contributors have signed the CLA. |
Collaborator
Author
|
I have read the CLA Document and I hereby sign the CLA |
Ladle has had no release since Nov 2025 and is pinned to Vite 6. Storybook 10 (react-vite) indexes the existing CSF stories unchanged. The e2e axe sweep now loads each story from the Storybook index and fails on render errors. It sees violations the Ladle sweep missed, because that sweep ran before stories mounted; those are recorded in a checked-in baseline to fix later, and only new ones fail the run.
pratikbuilds
force-pushed
the
claude/zealous-mcnulty-3ed6f4
branch
from
October 19, 2026 10:39
fc8d4d0 to
2d6a426
Compare
Collaborator
Author
|
I have read the CLA Document and I hereby sign the CLA |
The sweep scanned as soon as Storybook showed the story, while sidebar rows were still mounting or fading in, so contrast results depended on runner speed and CI flagged rows that pass locally. It now waits for the theme class, two frames and any finite transition before scanning. The baseline drops the ten contrast entries that only came from scanning mid-fade; the settled sweep gives the same 57 violations on every run.
This was referenced Oct 19, 2026
TheGreatAxios
approved these changes
Oct 19, 2026
18 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Storybook 10 (
@storybook/react-vite) replaces Ladle as the component workbench. Ladle has had no release since Nov 2025 and is pinned to Vite 6. The existing stories are plain CSF and are indexed unchanged: 157 stories across 51 files.bun run storiesstarts Storybook on127.0.0.1:6006, andbun run stories:buildwrites the static build tobuild/..dark/.lightclass on<html>during render, so a story's first paint uses the selected theme. Light is pinned with.lightbecause, with neither class set,theme.cssfollows the OS..ts.net) moves tocore.allowedHostsin.storybook/main.ts, because Storybook replaces Vite'sserverblock with its own.vite.ladle.config.mjsis renamed tovite.stories.config.mjs.Accessibility sweep
e2e/stories-a11y.spec.tsreads Storybook'sindex.json, loads each story's iframe in light and dark, and also fails when a story throws.On
mainthe Ladle sweep resolved[data-storyloaded]before the story mounted. At that point a form story had no controls on the page yet, so axe mostly scanned an empty page. The Storybook sweep waits for each story to settle, meaning the theme class is applied and enter transitions are finished, and then scans it. It finds 57 existing serious or critical violations, the same 57 on every run. Examples are unlabelled Textarea and Select stories,listitemin the sidebar panel, andscrollable-region-focusablein the page panel.These are recorded in
e2e/stories-a11y.known.jsonto fix in follow-ups. Only a violation not on that list fails the run.Verification
bun run test:e2e: exit 0, 21 passed, including the axe sweep against the baseline.<html>carries the selected theme class at first paint. The exception is the theme-toggle story, whose ownThemeProviderpins light.bun run typecheck,lint,format:check,test(240 pass) anddep-guardall pass.*.ts.netHost header gets 200 and any other host gets 403. Switching the toolbar to dark repaints the canvas dark.Closes #89