[deps] UI Foundation: Update storybook monorepo to v10 (major)
This PR contains the following updates:
Release Notes
storybookjs/storybook (@storybook/addon-a11y)
v10.1.4
- Core: Enhance getPrettier function to provide prettier interface - #33260, thanks @valentinpalkovic!
- NextJS: Alias image to use fileURLToPath for better resolution - #33256, thanks @ndelangen!
- Telemetry: Cache Storybook metadata by main config content hash - #33247, thanks @valentinpalkovic!
v10.1.3
- Angular: Honor --loglevel and --logfile in dev/build - #33212, thanks @valentinpalkovic!
- Core: Minor UI fixes - #33218, thanks @ghengeveld!
- Telemetry: Add playwright-prompt - #33229, thanks @valentinpalkovic!
v10.1.2
- Checklist: Fix how state changes are reported and drop some completion restrictions - #33217, thanks @ghengeveld!
v10.1.1
- Core: Improve globbing using dynamic CWD (REVERT) - #33201, thanks @ndelangen!
- Solid: Add Solid to the list of supported frameworks for addon-vitest - #33084, thanks @valentinpalkovic!
- UI: Fix excessive height in TabbedArgsTable - #33205, thanks @Sidnioulz!
v10.1.0
Easier to setup, more accessible to use
Storybook 10.1 focuses on two key improvements: installation and accessibility:
- ♿ UI overhaul to fix hundreds of a11y issues
- 🧑💻 CLI overhaul for faster, more reliable install
- ✅ Checklist-based onboarding guide for new users
The release also contains compatibility fixes for:
- 🅰️ Angular 21 support
- 🦀 RSbuild install support in CLI
- ⚡️ Preact support for Vitest addon
Finally, it contains two highly-requested experimental features:
- 📋 Component manifest for Storybook MCP
- ⚛️ Improved JSX code snippets for React
List of all updates
- A11y: Add aria-selected attribute to tab buttons - #32656, thanks @Nischit-Ekbote!
- A11y: Make search clear button keyboard accessible - #32590, thanks @ritoban23!
- Addon-Vitest: Ensure Storybook starts correctly across platforms by using shell in spawn - #33116, thanks @valentinpalkovic!
- Angular: Add preset entry point for framework - #33154, thanks @valentinpalkovic!
- Angular: Add support for v21 - #33098, thanks @valentinpalkovic!
- Angular: Don't kill dev command by using observables - #33185, thanks @valentinpalkovic!
- Angular: Migrate from RxJS to async/await in command builders and run Compodoc utility as spinner - #33156, thanks @valentinpalkovic!
- Angular: Replace deprecated import of ApplicationConfig - #33125, thanks @EtiennePasteur!
- Automigration: Update description and link for addon-a11y-addon-test - #33133, thanks @valentinpalkovic!
- Build: Add Rsbuild-based sandboxes - #33039, thanks @valentinpalkovic!
- Build: Fix async telemetry event sending - #33115, thanks @valentinpalkovic!
- Build: Update dependencies in yarn.lock and clean up comments - #33089, thanks @ndelangen!
- Checklist: Autocomplete "See what's new" on URL navigation - #33167, thanks @ghengeveld!
- Checklist: Data improvements - #33129, thanks @ghengeveld!
- CLI: Change yarn package manager value to yarn1 - #33099, thanks @valentinpalkovic!
- CLI: Fix 'beforeVersion' evaluation for Storybook package - #33141, thanks @valentinpalkovic!
- CLI: Fix access to getOptionValue in postAction hook - #33119, thanks @valentinpalkovic!
- CLI: Fix framework config validation path and messages - #33146, thanks @valentinpalkovic!
- CLI: Fix passing flags for bun users during init - #33166, thanks @valentinpalkovic!
- CLI: Fix Vitest v3 installs and refactor AddonVitestService; align create‑storybook usage - #33131, thanks @valentinpalkovic!
- CLI: In csf-factories codemod only remove types which are unused - #33020, thanks @yannbf!
- CLI: Minor improvements - #33180, thanks @valentinpalkovic!
- CLI: Modernize Storybook CLI with new init workflow, Clack UI, and Generator System - #32717, thanks @valentinpalkovic!
- CLI: Standardize debug log messages across the application - #33123, thanks @valentinpalkovic!
- CLI: Update clack - #33151, thanks @valentinpalkovic!
- CLI: Update compatibility guidance link in summary message - #33117, thanks @valentinpalkovic!
- CLI: Update postAction hook to use command parameter for logfile retrieval - #33137, thanks @valentinpalkovic!
- CLI: Update upgrade message - #33182, thanks @yannbf!
- Core: Fix
getDocsUrlfor canary versions - #33128, thanks @ghengeveld! - Core: Fix testing widget focus outline - #33172, thanks @ghengeveld!
- Core: Improve globbing using dynamic CWD - #32990, thanks @ia319!
- Core: Rename
Listboxcomponent toActionListand use it inTagsFilterPanel- #33140, thanks @ghengeveld! - Core: Significantly improve Storybook's own accessibility - #32458, thanks @Sidnioulz!
- Core: Update
getDocsUrlto add a defaultrefparam and setguideas ref for links in the Guide - #33111, thanks @ghengeveld! - Guide: Collapse checklist items by default - #33160, thanks @ghengeveld!
- Guide: Hide items for which their required feature is disabled (controls, viewport, interactions) - #33113, thanks @ghengeveld!
- Maintenance: Enable syntax minification for dead code elimination - #33001, thanks @mrginglymus!
- Manager: Added tokens and a dark color scheme for status colors - #33081, thanks @MichaelArestad!
- Middleware: Prepend
file://to middlewareimportfor Windows support - #32955, thanks @ndelangen! - Onboarding: Guided tour checklist - #32795, thanks @ghengeveld!
- React: Add isPackage flag to component imports for better package identification - #33090, thanks @kasperpeulen!
- React: Add manifests/components.html page - #32905, thanks @kasperpeulen!
- React: Change examples to stories in manifests and show correct examples and prop types - #32908, thanks @kasperpeulen!
- React: Experimental code examples - #32813, thanks @kasperpeulen!
- React: Implement manifests/component.json for React - #32751, thanks @kasperpeulen!
- React: Improve automatic component, automatic imports, support barrel files and enhance story filtering - #32939, thanks @kasperpeulen!
- React: Improve error handling of component manifest generation - #32855, thanks @kasperpeulen!
- React: Improve error messages in component manifest - #32954, thanks @kasperpeulen!
- React: Improve import rewriting when tsconfig paths are used - #33072, thanks @kasperpeulen!
- Remove yarn esbuild pnp plugin - #33097, thanks @mrginglymus!
- Theming: Set
themes.normalaccording to user preference and exportgetPreferredColorScheme- #28721, thanks @elisezhg! - UI: Add padding for ArgsTable shadow in TabbedArgsTable - #33034, thanks @Sidnioulz!
- UI: Add VRTs to FileSearchModal in light theme - #33022, thanks @Sidnioulz!
- UI: Fix crashes in Select when passed falsy non-string options - #33164, thanks @Sidnioulz!
- UI: Fix regression on addon panel empty content fontsize - #33021, thanks @Sidnioulz!
- UI: Fix trivial RefBlocks ARIA violations - #33026, thanks @Sidnioulz!
- UI: Improve status handling in sidebar nodes - #32965, thanks @yannbf!
- UI: Increase border contrast of Checkbox, Radio, and Range - #33064, thanks @MichaelArestad!
- UI: Refocus search input after clearing it - #33165, thanks @Sidnioulz!
- UI: Rework default background of Color swatch for dark mode - #33023, thanks @Sidnioulz!
- Upgrade: Satellite compatible with 10.1 prerelease - #32877, thanks @ndelangen!
v10.0.8
- React Native Web: Fix react native resuables and nativewind - #33056, thanks @dannyhw!
- React Native Web: Update vite-plugin-rnw for overall improvements - #32991, thanks @dannyhw!
- WebComponents: Fix
custom-elements.jsonnot being loaded - #33045, thanks @ndelangen!
v10.0.7
- ESLint: Only apply csf-strict rules on stories files - #31963, thanks @cylewaitforit!
- Next.js: Update SWC loader to support new wasm detection - #33003, thanks @yannbf!
v10.0.6
- CSF: Fix export interface declaration for NextPreview - #32914, thanks @icopp!
- Controls: Add range validation in Number Control - #32539, thanks @ia319!
- Fix: Export interface declaration for ReactMeta - #32915, thanks @icopp!
- Vitest Addon: Add support for Preact - #32948, thanks @yannbf!
v10.0.5
- Core: Add reentry guard to focus patch - #32655, thanks @ia319!
- Nextjs Vite: Update internal plugin to support
svgruse cases - #32957, thanks @yannbf!
v10.0.4
- CLI: Fix issue with running Storybook after being initialized - #32929, thanks @yannbf!
- CRA: Fix
modulenot defined in ESM - #32940, thanks @ndelangen!
v10.0.3
- Core: Better handling for TypeScript satisfies/as syntaxes - #32891, thanks @yannbf!
- Core: Fix wrong import to fix Yarn PnP support - #32928, thanks @yannbf!
- ESlint: Update
@storybook/experimental-nextjs-viteinno-renderer-packagesrule - #32909, thanks @ndelangen! - React Native: Update withStorybook setup instructions - #32919, thanks @dannyhw!
v10.0.2
- CLI: Fix glob string formatting in csf-factories codemod - #32880, thanks @yannbf!
- Core: Improve file path resolution on Windows - #32893, thanks @yannbf!
- Vite: Update
optimizeViteDepsfor addon-docs and addon-vitest - #32881, thanks @ndelangen!
v10.0.1
- Presets: Fix incorrect imports - #32875, thanks @ndelangen!
- Upgrade: Satellite compatible with 10.1 prerelease - #32877, thanks @ndelangen!
v10.0.0
Storybook 10 contains one breaking change: it’s ESM-only. This simplifies our distribution and reduces install size by 29% while simultaneously unminifying dist code for easier debugging. It also includes features to level up your UI development, documentation, and testing workflows:
- 🧩 Module automocking for easier testing
- 🏭 Typesafe CSF factories Preview for React
- 💫 UI editing and sharing optimizations
- 🏷️ Tag filtering exclusion and configuration for sidebar management
- 🔀 Next 16, Vitest 4, Svelte async components, and more!
List of all updates
- A11Y: Bugfix missing
manager.jsentry-file - #32780, thanks @ndelangen! - A11y: Persist tab/highlight across docs navigation - #32762, thanks @404Dealer!
- Addon A11y: Prevent setting highlights for old results - #32178, thanks @ghengeveld!
- Addon Docs: Fix Symbol conversion issue in docs page and controls panel - #32220, thanks @yannbf!
- Addon Vitest: Fix incorrect file modifications during setup - #32844, thanks @yannbf!
- Addon Vitest: Support modifying mergeConfig on addon setup - #32753, thanks @yannbf!
- Addon-docs: Add eject button to canvas toolbar - #29825, thanks @mihkeleidast!
- AddonA11Y: Fix postinstall - #32309, thanks @ndelangen!
- AddonViewport: Stricter types - #32324, thanks @hpohlmeyer!
- Angular: Add fileURLToPath for preview annotation paths - #32812, thanks @brandonroberts!
- Angular: Fix
entry.polyfillsundefined error - #32230, thanks @sk-pub! - Angular: Inherit options from browserTarget - #32108, thanks @gingeekrishna!
- AutoMigration: Fix sb10 migration when main config contains
require- #32558, thanks @ndelangen! - Build: Fix dts bundling external detection - #32366, thanks @mrginglymus!
- Cleanup: Remove duplicated entrypoints in core - #32507, thanks @ndelangen!
- CLI: Add addon-console automigration - #32083, thanks @Sidnioulz!
- CLI: Avoid mixed CSF in files with unconventional stories - #32716, thanks @yannbf!
- CLI: Change message in downgrade-blocker - #32745, thanks @ndelangen!
- CLI: CSF factories codemod - support annotations in npx context - #32741, thanks @yannbf!
- CLI: Fix CSF factories addon syncing in storybook add command - #32728, thanks @yannbf!
- CLI: Fix throwing in readonly environments - #31785, thanks @JReinhold!
- CLI: Init not running
devwhen it should fixed - #32457, thanks @ndelangen! - CLI: Make relative imports default in csf-factories codemod - #32610, thanks @copilot-swe-agent!
- CLI: Switch over to modern-tar - #32763, thanks @ayuhito!
- Codemod: Replace
globbywithtinyglobby- #31407, thanks @benmccann! - Controls: Allow primitive values of ReactNode argType - #31931, thanks @alexey-kozlenkov!
- Controls: Fix adding new values to arrays - #32512, thanks @takashi-kasajima!
- Core: Add "open in editor" feature - #32452, thanks @yannbf!
- Core: Add parameter typings for addon-pseudo-state - #32384, thanks @mrginglymus!
- Core: Dedupe aria-query and @testing-library/dom packages - #32801, thanks @mrginglymus!
- Core: Enhance warning for Testing Library's
screenusage in docs mode - #32851, thanks @yannbf! - Core: Ensure valid QR code URL - #32661, thanks @ghengeveld!
- Core: Fix
external-globals-pluginhandleundefinedcache dir - #32579, thanks @walkerburgin! - Core: Fix Node 24 deprecation warning - #32382, thanks @JReinhold!
- Core: Fix staticCopy not copying
index.htmlto sub directory - #32259, thanks @ndelangen! - Core: Fix stepping back through story interactions panel - #32793, thanks @ia319!
- Core: Improve addon detection in automigrations on windows - #31937, thanks @mrginglymus!
- Core: Improve es-toolkit usage for better tree-shaking - #32787, thanks @mrginglymus!
- Core: Join framework preset path with slash - #32838, thanks @brandonroberts!
- Core: Make
subtypean optional property on an index input - #32602, thanks @JReinhold! - Core: Mark pnp support as deprecated - #32645, thanks @ndelangen!
- Core: Prevent
BAILstate from showing in interactions panel when switching stories - #32172, thanks @ghengeveld! - Core: Prevent navigating to hidden (filtered) item - #32715, thanks @ghengeveld!
- Core: Remove CJS bundles, only ship ESM - #31819, thanks @ndelangen!
- Core: Replace es-toolkit compat imports with non-compat - #32837, thanks @mrginglymus!
- Core: Switch from
mllytoexsolve- #32383, thanks @mrginglymus! - Core: Update tags filter UI - #32343, thanks @ghengeveld!
- Core: Use
exsolveresolveModulePathforsafeResolveModule- #32477, thanks @mrginglymus! - Core: Various QA fixes - #32629, thanks @ghengeveld!
- CoreServer: Fix
Arc can't get every window- #32508, thanks @ndelangen! - CSF: Add Storybook test syntax (Storybook v10) - #32455, thanks @yannbf!
- CSF: Enhance config-to-csf-factory to support type wrappers - #32543, thanks @yannbf!
- Dev: Improve the browser opening experience - #32488, thanks @ndelangen!
- Dts: Ensure
.tsxfiles emit.d.tstype files - #32461, thanks @mrginglymus! - Fix: Allow proceeding without selecting automigrations in upgrade command - #32597, thanks @copilot-swe-agent!
- Fix: ESLint plugin homepage URL updates - #32445, thanks @VivekKavala!
- Fix: Incorrect URLS for the upgrade command - #32624, thanks @jonniebigodes!
- Maintenance: Fix bundle size bloat caused by
SyntaxHighlighter(createElement) - #32800, thanks @mrginglymus! - Maintenance: Hotfix for missing nextjs dts files, thanks @ndelangen!
- Maintenance: Remove globalization for dropped entrypoints - #32491, thanks @ndelangen!
- Mock: Catch errors when transforming preview files - #32216, thanks @valentinpalkovic!
- Modernize: Replace
fs-extrawith native APIs - #32296, thanks @y-hsgw! - Move: Addon jest into it's own repository - #32646, thanks @ndelangen!
- Next.js-vite: Use
fileURLToPathfor module resolution in preset - #32386, thanks @ndelangen! - Next.js: Avoid multiple webpack versions at runtime - #32313, thanks @valentinpalkovic!
- Next.js: Remove next/config usage in Next.js >=v16 projects - #32547, thanks @valentinpalkovic!
- Next.js: Return mocked router instead of actual router in useRouter - #32131, thanks @JulioJ11!
- Nextjs: Fix config access for Vite - #32759, thanks @valentinpalkovic!
- Nextjs: Fix Nextjs version detection with prereleases - #32724, thanks @yannbf!
- Onboarding: Prevent confetti overlay from intercepting pointer events - #32660, thanks @ghengeveld!
- Onboarding: Tweak referral wording in survey - #32185, thanks @shilman!
- PreactVite: Add
nodeentry point - #32534, thanks @ndelangen! - Presets: Support extensionless imports in TS-based presets - #32641, thanks @JReinhold!
- React Native: Fix document reference error in open-in-editor - #32572, thanks @dannyhw!
- React: Simplify version detection - #32802, thanks @mrginglymus!
- Replace: Use
empathicoverfind-up- #31338, thanks @beeequeue! - Svelte: Improve support for async components - #31476, thanks @JReinhold!
- Svelte: Simplify public types - use modern
Component- #31394, thanks @xeho91! - SvelteKit: Add support for mocking
$app/state- #31369, thanks @xeho91! - SvelteKit: Fix
set_context_after_initerror when experimental async is enabled - #32513, thanks @Jakeii! - Tags: Remove undocumented x-only tags - #32360, thanks @shilman!
- Telemetry: Improve dev cancellation handling - #32218, thanks @shilman!
- Telemetry: Send index stats on dev exit - #32168, thanks @shilman!
- UI: Allow showing or hiding the addon panel - #32348, thanks @Sidnioulz!
- UI: Improve sidebar empty state - #32548, thanks @ghengeveld!
- UI: Improve syntax-highlighter bundling - #32776, thanks @mrginglymus!
- Update: Satellite repos after major version bump - #32303, thanks @ndelangen!
- Upgrade: Enhance ESM compatibility checks and banner generation - #32694, thanks @ndelangen!
- Upgrade: Packages
open- #32484, thanks @ndelangen! - Upgrades: Packages
boxencommandergiget- #32469, thanks @ndelangen! - Vite: Optimize @storybook/addon-docs/blocks dependency - #32798, thanks @mrginglymus!
Configuration
📅 Schedule: Branch creation - "every 2nd week starting on the 2 week of the year before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: package-lock.json
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: @storybook/[email protected]
npm error Found: @storybook/[email protected]
npm error node_modules/@storybook/addon-docs
npm error dev @storybook/addon-docs@"10.1.7" from the root project
npm error
npm error Could not resolve dependency:
npm error peerOptional @storybook/addon-docs@"^0.0.0-0 || ^9.0.0 || ^9.0.0-0" from @storybook/[email protected]
npm error node_modules/@storybook/addon-designs
npm error dev @storybook/addon-designs@"9.0.0-next.3" from the root project
npm error
npm error Conflicting peer dependency: @storybook/[email protected]
npm error node_modules/@storybook/addon-docs
npm error peerOptional @storybook/addon-docs@"^0.0.0-0 || ^9.0.0 || ^9.0.0-0" from @storybook/[email protected]
npm error node_modules/@storybook/addon-designs
npm error dev @storybook/addon-designs@"9.0.0-next.3" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2025-12-18T14_46_35_922Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2025-12-18T14_46_35_922Z-debug-0.log
Internal tracking:
- ID: PM-27966
- Link: https://bitwarden.atlassian.net/browse/PM-27966
Original ticket got appropriated for the v9 release. Use this Jira ticket instead for internal tracking: CL-952