New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: CPC #27039
base: next
Are you sure you want to change the base?
WIP: CPC #27039
Conversation
☁️ Nx Cloud ReportCI is running/has finished running commands for commit 9bd2142. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 2 targetsSent with 💌 from NxCloud. |
… this should be removed eventually)
Failed to publish canary version of this pull request, triggered by @yannbf. See the failed workflow run at: https://github.com/storybookjs/storybook/actions/runs/9131911289 |
This description is incomplete
What
This PR tries to solve a variety of very complex & large problems in the storybook ecosystem:
node | browser
), limiting their re-use in the other target.How
How this PR achieves to solve these problem is by consolidating the storybook core packages into a singular package called
@storybook/core
.Notes about the architecture now and what we're consolidating:
https://www.tldraw.com/r/3VZRrJz9gAeI2pBkrNYYs?v=395,2688,1335,1218&p=wggBXyyVFP09M7K06dXdG
The packages that are to be consolidated:
@storybook/channels
@storybook/client-logger
@storybook/core-common
@storybook/core-events
@storybook/csf-tools
@storybook/docs-tools
@storybook/instrumenter
@storybook/node-logger
@storybook/preview-api
@storybook/router
@storybook/telemetry
@storybook/theming
@storybook/types
@storybook/manager-api
@storybook/manager
@storybook/preview
@storybook/core-server
@storybook/test
@storybook/builder-manager
@storybook/components
Backwards compatible
We are doing this work in a backwards compatible way.
All the packages listed above will continue to be published, shimming the new
@storybook/core
package.It will introduce the
@storybook/core
package as apeerDependency
to all the packages listed above, which would be a breaking change, as the user will not have a satisfying dependency yet.To remedy this we will add an automigration to add this dependency to the user's project.
In addition we will also block storybook from starting or building and tell the user they MUST run the migration to make storybook work.
Todo
@storybook/core
dependency presence & block start & build if not.prep
task of@storybook/core
is flaky, sometimes it times out.MAINTENANCE.md
file with instructions around the new build tooling.