Init: Exclude mdx stories when docs feature isn't selected during init #32142
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.
Closes #32138
What I did
Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!
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-storybook/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-32142-sha-424d5226
. 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-32142-sha-424d5226
valentin/init-storybook-without-mdx-stories
424d5226
1753707535
)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=32142
Greptile Summary
This PR fixes a bug where Storybook's initialization process was incorrectly including MDX story patterns in the main configuration even when users selected minimal installations without the docs feature. The change addresses issue #32138 by making the story configuration dynamic based on selected features during init.
The core fix involves three coordinated changes:
Type Safety Improvement: The
GeneratorOptions.features
field is changed fromstring[]
toArray<GeneratorFeature>
intypes.ts
, restricting valid feature values to 'docs', 'test', and 'onboarding'. This provides compile-time checking and prevents invalid feature strings.Conditional MDX Pattern Logic: The
configureMain
function inconfigure.ts
is modified to conditionally add MDX story patterns (**/*.mdx
) to the stories array only whenfeatures.includes('docs')
is true. Previously, MDX patterns were always included regardless of feature selection.Feature Parameter Passing: The
baseGenerator.ts
file is updated to pass thefeatures
array to theconfigureMain
function call, ensuring that feature selection made during initialization is properly communicated to the configuration generation.This change integrates with Storybook's existing feature system, which allows users to selectively enable functionality like docs, testing, and onboarding during the initialization process. The fix prevents "No story files found" warnings when running minimal Storybook installations that don't need MDX support, while maintaining backward compatibility for full installations that include the docs addon.
Confidence score: 4/5
• This is a targeted bug fix that should resolve the specific issue without introducing new problems
• The implementation follows good practices with type safety improvements and conditional logic
• Need to verify that the feature detection logic works correctly across all initialization scenarios and that no edge cases are missed