Fix Storybook 10 build: complete v7→v10 migration#3007
Merged
llastflowers merged 5 commits intocopilot/66837132510-fix-github-actions-workflowfrom Mar 12, 2026
Conversation
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
… fix compat shims Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
…an up shim script Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
llastflowers
March 12, 2026 20:01
View session
|
…ts (#3008) * Initial plan * fix: resolve storybook peer dependency conflicts in docs install - Update @geometricpanda/storybook-addon-badges to ^2.0.5 which supports @storybook/blocks@^8.3.0 (v2.0.0 only supported ^7.0.0) - Add docs/.npmrc with legacy-peer-deps=true to handle the intentional mixed storybook 8/10 package setup used by shims and webpack aliases Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
c0daf21
into
copilot/66837132510-fix-github-actions-workflow
17 of 18 checks passed
llastflowers
added a commit
that referenced
this pull request
Mar 12, 2026
* Initial plan
* Fix ESM compatibility: replace require('sass') with ESM import in main.js
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
* Fix Storybook 10 build: complete v7→v10 migration (#3007)
* Initial plan
* Initial plan for fixing storybook build failures
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
* Fix Storybook 10 build: update packages, add SCSS/Babel/docs support, fix compat shims
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
* Address code review: remove unused assert dep, rename config var, clean up shim script
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
* Fix docs npm install failure due to storybook peer dependency conflicts (#3008)
* Initial plan
* fix: resolve storybook peer dependency conflicts in docs install
- Update @geometricpanda/storybook-addon-badges to ^2.0.5 which supports @storybook/blocks@^8.3.0 (v2.0.0 only supported ^7.0.0)
- Add docs/.npmrc with legacy-peer-deps=true to handle the intentional mixed storybook 8/10 package setup used by shims and webpack aliases
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
llastflowers
added a commit
that referenced
this pull request
Mar 12, 2026
…ybook script (#3004) * Bump tar and storybook in /docs Removes [tar](https://github.com/isaacs/node-tar). It's no longer used after updating ancestor dependency [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core). These dependencies need to be updated together. Removes `tar` Updates `storybook` from 7.6.21 to 10.2.17 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v10.2.17/code/core) --- updated-dependencies: - dependency-name: tar dependency-version: dependency-type: indirect - dependency-name: storybook dependency-version: 10.2.17 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * Initial plan * Fix storybook build: remove invalid positional argument `public/static` Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> * Fix ESM compatibility in .storybook/main.js (#3005) * Initial plan * Fix ESM compatibility: replace require('sass') with ESM import in main.js Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> * Fix Storybook 10 build: complete v7→v10 migration (#3007) * Initial plan * Initial plan for fixing storybook build failures Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> * Fix Storybook 10 build: update packages, add SCSS/Babel/docs support, fix compat shims Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> * Address code review: remove unused assert dep, rename config var, clean up shim script Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> * Fix docs npm install failure due to storybook peer dependency conflicts (#3008) * Initial plan * fix: resolve storybook peer dependency conflicts in docs install - Update @geometricpanda/storybook-addon-badges to ^2.0.5 which supports @storybook/blocks@^8.3.0 (v2.0.0 only supported ^7.0.0) - Add docs/.npmrc with legacy-peer-deps=true to handle the intentional mixed storybook 8/10 package setup used by shims and webpack aliases Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> * fix: regenerate docs/package-lock.json to resolve storybook binary not found (#3009) * Initial plan * fix: regenerate docs/package-lock.json to fix storybook binary not found Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: llastflowers <55068883+llastflowers@users.noreply.github.com>
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.
The "Deploy preview / Build" CI job was failing because
storybookCLI was upgraded to v10 while all framework/addon packages remained at v7, causing cascading incompatibilities.Root causes
@storybook/docs-tools→doctrine→require('assert')(Node built-in), unresolvable by esbuild for browser@storybook/react-webpack5@7API-incompatible withstorybook@10@storybook/addon-webpack5-compiler-babel) and MDX (@storybook/addon-docs) addons — no longer bundled@storybook/manager-api@8and@storybook/theming@8shims referencestorybook/internal/manager-apiwhich was removed in v10Changes
docs/package.json@storybook/react-webpack5→^10.2.17storybook-addon-pseudo-states→^10.2.17@storybook/addon-docs@^10.2.17,@storybook/addon-webpack5-compiler-babel@^4.0.0@babel/preset-react,sass-loader,css-loader,style-loaderas explicit deps@storybook/manager-api,@storybook/theming,@storybook/componentsv8 compat shims@storybook/addon-essentials,@storybook/addon-interactions,@storybook/addon-links,@storybook/addon-styling,@storybook/addon-storysource,@storybook/blocks@7,@storybook/react@7,@storybook/testing-librarypostinstallhook to run shim fix scriptdocs/.storybook/main.js@storybook/addon-stylingwith explicitwebpackFinalSCSS config@storybook/addon-webpack5-compiler-babeland@storybook/addon-docs@storybook/blocks→@storybook/addon-docs/blocksdocs/.storybook/manager.js/theme.js@storybook/manager-api→storybook/manager-api,@storybook/theming→storybook/themingdocs/scripts/fix-storybook-shims.mjs(new)@storybook/manager-apiand@storybook/themingv8 shims to reference the correct storybook 10 public paths (storybook/manager-api,storybook/theming) instead of the removed internal pathsWhat should reviewers focus on?
The postinstall shim-patching approach (
docs/scripts/fix-storybook-shims.mjs) is the most unusual part. It's needed because@geometricpanda/storybook-addon-badges@2.x(used by deprecated-component stories) has no storybook 10 release and its v8 compat shims are broken for v10. The script patches two files innode_modulesafter install — fragile by nature, but the only option short of removing badge support from ~16 story files or forking the addon.@storybook/blocks@8.6.14is kept as a dep alongside@storybook/addon-docs@10because the former is used directly in MDX story imports; the webpack alias redirects those imports to the v10-compatible implementation at build time.Can these changes ship as is?