The CI runner is slow enough that jsdom environment startup can consume
most of the default 5s budget before a test body runs. 30s is still a
real safety net against genuine infinite hangs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Scope test:run to the unit project only so it doesn't attempt to launch
Playwright/Chromium (needed by the storybook browser project) in environments
where browsers aren't installed. Add test:storybook script for running
storybook stories explicitly when Playwright is available.
https://claude.ai/code/session_01PqDTVMzP7dMtLpkn5Sw442
Co-authored-by: Claude <noreply@anthropic.com>
- Install Storybook 10 with @storybook/react-vite framework
- Fix React Router Vite plugin conflict by filtering it out in viteFinal
(reactRouter() returns a plugin array, so the filter must flatten first)
- Integrate Storybook stories as a vitest browser project via @storybook/addon-vitest
- Point stories glob at app/ instead of scaffold stories/ dir
- Remove unused @chromatic-com/storybook and @storybook/addon-onboarding addons
- Clean up duplicate __dirname in vitest.config.ts
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>