Skip to content

Build: Fix dts bundling external detection#32366

Merged
JReinhold merged 1 commit into
storybookjs:nextfrom
mrginglymus:dts-woes
Sep 2, 2025
Merged

Build: Fix dts bundling external detection#32366
JReinhold merged 1 commit into
storybookjs:nextfrom
mrginglymus:dts-woes

Conversation

@mrginglymus
Copy link
Copy Markdown
Contributor

What I did

The logic for determining if an import was external was flawed:-

(dep) => id.startsWith(dep) || id.includes(`${sep}node_modules${sep}${dep}${sep}`)

The id.startsWith(dep) was presumably used instead of id === dep in order to catch subpath imports. However, because no / was included, it also matches substrings. Given that react is fixed as an external dependency, all dependencies starting with react (e.g. react-router-dom) are also, incorrectly, marked as external.

The change adds a simple equality check, and updates the startsWith to include a trailing / to ensure only subpath imports are matched.

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>

@mrginglymus mrginglymus changed the title Fix dts bundling external detection Build: Fix dts bundling external detection Sep 1, 2025
@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented Sep 1, 2025

View your CI Pipeline Execution ↗ for commit 1199f3d

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

☁️ Nx Cloud last updated this comment at 2025-09-01 21:15:24 UTC

@JReinhold JReinhold added bug ci:normal Run our default set of CI jobs (choose this for most PRs). labels Sep 1, 2025
@storybook-app-bot
Copy link
Copy Markdown

Package Benchmarks

Commit: 1199f3d, ran on 1 September 2025 at 21:48:57 UTC

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

@storybook/nextjs

Before After Difference
Dependency count 529 529 0
Self size 928 KB 928 KB 🚨 +126 B 🚨
Dependency size 58.14 MB 58.27 MB 🚨 +130 KB 🚨
Bundle Size Analyzer Link Link

Copy link
Copy Markdown
Contributor

@JReinhold JReinhold left a comment

Choose a reason for hiding this comment

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

Thanks for spotting this!

@JReinhold JReinhold merged commit fb8c76d into storybookjs:next Sep 2, 2025
57 of 60 checks passed
@ndelangen
Copy link
Copy Markdown
Member

Thanks a lot! Great catch!

@github-actions github-actions Bot mentioned this pull request Sep 2, 2025
8 tasks
@mrginglymus mrginglymus deleted the dts-woes branch September 2, 2025 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug ci:normal Run our default set of CI jobs (choose this for most PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: 10.0.0-beta.0 - some types not bundled

3 participants