Skip to content

Core: Avoid circular dependency while using definePreview #31587

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

Open
wants to merge 1 commit into
base: next
Choose a base branch
from

Conversation

valentinpalkovic
Copy link
Contributor

@valentinpalkovic valentinpalkovic commented May 27, 2025

Closes #31573

What I did

I have avoided circular dependencies when using definePreview in the storybook package by relatively depending on definePreview.

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 pull request has been released as version 0.0.0-pr-31587-sha-f39414cb. Try it out in a new sandbox by running npx [email protected] sandbox or in an existing project with npx [email protected] upgrade.

More information
Published version 0.0.0-pr-31587-sha-f39414cb
Triggered by @valentinpalkovic
Repository storybookjs/storybook
Branch valentin/avoid-circular-dependencies-for-define-preview-usage
Commit f39414cb
Datetime Wed May 28 04:57:21 UTC 2025 (1748408241)
Workflow run 15291851253

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=31587

Greptile Summary

This PR modifies import paths for definePreview across multiple core files to resolve circular dependencies that were causing Metro bundler crashes in React Native projects when React compiler is enabled.

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.

LGTM

10 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings | Greptile

Copy link

nx-cloud bot commented May 27, 2025

View your CI Pipeline Execution ↗ for commit f39414c.

Command Status Duration Result
nx run-many -t check -c production --parallel=7 ✅ Succeeded 58s View ↗
nx run-many -t build -c production --parallel=3 ✅ Succeeded 4m 48s View ↗

☁️ Nx Cloud last updated this comment at 2025-05-27 22:08:30 UTC

@storybook-pr-benchmarking
Copy link

Package Benchmarks

Commit: f39414c, ran on 27 May 2025 at 22:15:10 UTC

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

eslint-plugin-storybook

Before After Difference
Dependency count 33 35 🚨 +2 🚨
Self size 321 KB 321 KB 0 B
Dependency size 3.36 MB 3.38 MB 🚨 +15 KB 🚨
Bundle Size Analyzer Link Link

@storybook-bot
Copy link
Contributor

Failed to publish canary version of this pull request, triggered by @dannyhw. See the failed workflow run at: https://github.com/storybookjs/storybook/actions/runs/15286849767

@dannyhw
Copy link
Member

dannyhw commented May 27, 2025

hey @valentinpalkovic could you create a canary for me to test this?

@valentinpalkovic
Copy link
Contributor Author

@dannyhw Here you go: https://github.com/storybookjs/storybook/actions/runs/15291851253 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: v9 cyclic dependency in storybook/preview causes metro to crash when react compiler is enabled
3 participants