-
-
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
CLI: Refactor to add autoblockers #25934
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
… we get the required context to pass in
… the user has a vite config file with the right plugins in there
Co-authored-by: Valentin Palkovic <[email protected]>
Co-authored-by: Valentin Palkovic <[email protected]>
…orybookjs/storybook into norbert/upgrade-auto-blockers
export const viteConfigFile = { | ||
id: 'viteConfigFile', | ||
|
||
async check({ mainConfig, packageManager }) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see any handling of custom vite config locations, was that a deliberate decision?
https://storybook.js.org/docs/builders/vite#override-the-default-configuration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! I think this was just missed. @ndelangen, Can you put together a follow-up PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was missed indeed. I didn't know this was an option.
Closes #25911
Closes #25453
What I did
A good example: vue2 support.
We stopped supporting this in sb8 and so we block those users from upgrading to sb8
A bad example: vite3 support
We stopped supporting vite3 in sb8, but making it an autoblocker would mean users have to upgrade vite first, which may not be possible, because the old version of storybook would prevent them. It's a chicken/egg problem really.
So instead we let the user upgrade, and then in an automigration tell them to upgrade vite.
Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
Try to upgrade a project that still uses vue2, it should tell you to migrate to vue3
Try to upgrade a project that has
storyStoreV7:false
, it should tell you to remove that flagTry to migrate whilst having
*.stories.mdx
somewhere in your project, it should tell you to run codemodsIf you have none of the above, autoblockers should not block you from upgrading
upgrading a project that uses vite v3 should ask you if you want to upgrade to the latest version of vite, and if you answer yes, should do that for you.
Documentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal
,ci:merged
orci:daily
GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli/src/sandbox-templates.ts
Make sure this PR contains one of the labels below:
Available labels
bug
: Internal changes that fixes incorrect behavior.maintenance
: User-facing maintenance tasks.dependencies
: Upgrading (sometimes downgrading) dependencies.build
: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup
: Minor cleanup style change. Will not show up in release changelog.documentation
: Documentation only changes. Will not show up in release changelog.feature request
: Introducing a new feature.BREAKING CHANGE
: Changes that break compatibility in some way with current major version.other
: Changes that don't fit in the above categories.🦋 Canary release
This pull request has been released as version
0.0.0-pr-25934-sha-a4d40871
. Try it out in a new sandbox by runningnpx [email protected] sandbox
or in an existing project withnpx [email protected] upgrade
.More information
0.0.0-pr-25934-sha-a4d40871
norbert/upgrade-auto-blockers
a4d40871
1707809156
)To request a new release of this pull request, mention the
@storybookjs/core
team.core team members can create a new canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=25934