Skip to content

Conversation

@ghengeveld
Copy link
Member

@ghengeveld ghengeveld commented Jul 15, 2025

Closes #31966

What I did

Removed a check against a file pattern in the vitest transformer which was preventing stories.tsx files from being transformed, thereby crashing Vitest. We already check against stories globs higher up the chain so we don't need the check in the transformer.

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/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 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>

Greptile Summary

This PR removes an overly restrictive file pattern check in the Vitest transformer that was preventing files named stories.tsx (without a component prefix) from being properly processed. The change simplifies the code by removing redundant validation that was already being handled by Storybook's glob patterns higher up in the build chain.

This fix addresses issue #31966 where files named stories.tsx were being skipped by the transformer, causing Vitest to crash. The removed check was superfluous since Storybook already handles story file detection through its glob patterns at a higher level.

The changes involve:

  1. Removing the .stor(y|ies)\. regex check from the transformer
  2. Removing associated test cases that were validating this now-removed functionality

Confidence score: 5/5

  1. This PR is extremely safe to merge as it removes redundant validation
  2. The score is 5/5 because the change is a straightforward removal of duplicate validation that was causing issues, with the proper validation already being handled elsewhere in the codebase
  3. Files that need attention:
    • code/core/src/csf-tools/vitest-plugin/transformer.ts
    • code/core/src/csf-tools/vitest-plugin/transformer.test.ts

2 files reviewed, no comments
Edit PR Review Bot Settings | Greptile

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewing changes made in this pull request

@nx-cloud
Copy link

nx-cloud bot commented Jul 15, 2025

View your CI Pipeline Execution ↗ for commit 86cf4e4

Command Status Duration Result
nx run-many -t build --parallel=3 ✅ Succeeded 1m 12s View ↗

☁️ Nx Cloud last updated this comment at 2025-07-15 08:28:51 UTC

@storybook-app-bot
Copy link

Package Benchmarks

Commit: 86cf4e4, ran on 15 July 2025 at 08:16:10 UTC

The following packages have significant changes to their size or dependencies:

storybook

Before After Difference
Dependency count 51 51 0
Self size 31.75 MB 31.76 MB 🚨 +15 KB 🚨
Dependency size 17.43 MB 17.43 MB 0 B
Bundle Size Analyzer Link Link

sb

Before After Difference
Dependency count 52 52 0
Self size 1 KB 1 KB 0 B
Dependency size 49.18 MB 49.20 MB 🚨 +15 KB 🚨
Bundle Size Analyzer Link Link

@storybook/cli

Before After Difference
Dependency count 217 217 0
Self size 582 KB 582 KB 0 B
Dependency size 93.66 MB 93.68 MB 🚨 +18 KB 🚨
Bundle Size Analyzer Link Link

@storybook/codemod

Before After Difference
Dependency count 186 186 0
Self size 31 KB 31 KB 0 B
Dependency size 77.76 MB 77.77 MB 🚨 +12 KB 🚨
Bundle Size Analyzer Link Link

@ghengeveld ghengeveld added the patch:yes Bugfix & documentation PR that need to be picked to main branch label Jul 15, 2025
@ghengeveld ghengeveld merged commit 6ac71c2 into next Jul 15, 2025
54 checks passed
@ghengeveld ghengeveld deleted the vitest-transform-plain-stories-tsx branch July 15, 2025 08:48
ghengeveld added a commit that referenced this pull request Jul 15, 2025
…ries-tsx

Addon Vitest: Fix support for plain `stories.tsx` files

(cherry picked from commit 6ac71c2)
@github-actions github-actions bot added the patch:done Patch/release PRs already cherry-picked to main/release branch label Jul 15, 2025
@ghengeveld ghengeveld added needs qa Indicates that this needs manual QA during the upcoming minor/major release and removed needs qa Indicates that this needs manual QA during the upcoming minor/major release labels Jul 25, 2025
@ndelangen ndelangen removed the patch:yes Bugfix & documentation PR that need to be picked to main branch label Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug ci:normal patch:done Patch/release PRs already cherry-picked to main/release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: addon-vitest doesn't recognize story files named stories.tsx without component prefix

4 participants