-
-
Notifications
You must be signed in to change notification settings - Fork 9.4k
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
Core: Consolidate internal packages #25751
Conversation
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/@storybook/[email protected] |
🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎ To accept the risk, merge this PR and you will not be notified again.
Next stepsWhat is new author?A new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package. Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights. What is eval?Package uses eval() which is a dangerous function. This prevents the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior. Avoid packages that use eval, since this could potentially execute any code. What is shell access?This module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code. Packages should avoid accessing the shell which can reduce portability, and make it easier for malicious shell access to be introduced. Take a deeper look at the dependencyTake a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev. Remove the packageIf you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency. Mark a package as acceptable riskTo ignore an alert, reply with a comment starting with
|
What I did
code/lib
intocode/core/main
.@storybook/core
@storybook/core
as a devDependency and peerDependency to all packages previously referencing.@storybook/core
package.json
Learnings:
X
needscore
,core
needsY
,Y
needsZ
, andZ
needscore
, due to how much code is incore
.process
,util
,assert
and other node-friends have an tendency to show up in browser bundles.dist
.react
correctly in this spike.TODO:
@storybook/core
*.d.ts
files for entrypoints that matter (and only those that matter)@storybook/core
in watch mode. I have some thoughts on this.. the watch-mode os esbuild is not good enough, and consumes a lot of memory. With this many entrypoints & side-effects, it might be better to implement our own usingchokidar
+ https://esbuild.github.io/api/#rebuild@storybook/theming
in a manager entry work?@storybook/preview-api
in preview entry work?package.json
changed.code/lib/sb
package doesn't need anything. Neither their source, nor their dist, will ever change again.Checklist for Contributors
Manual testing
I was able to generate a sandbox (vite-react-ts) and run it with linking.
I was able to navigate to different stories, including docs pages, and it all looked fine.
I have not taken any further steps to actually test anything else.
Documentation
As listed in the TODO section, this will need a big section in the migration documentation.
Though it's likely preferable to update the documentation to something else at some point in the future... imports like:
@storybook/core/dist/modules/preview-api/index
is NOT the final API, so it's not recommended we actually update the docs to reflect that yet? This needs to be debated amongst the team.🦋 Canary release
This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the
@storybookjs/core
team here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>