Skip to content

Conversation

@mrginglymus
Copy link
Contributor

@mrginglymus mrginglymus commented May 21, 2025

Closes #31527

What I did

Switched an import alias. I wish I knew why this fixed it, but the offending type stub file is gone.

Presumably there's something unstable going on in rollup-plugin-dts, tsup, or somewhere else in the chain.

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

Updates the import path for ReactRenderer type from './public-types' to './types' in the React renderer to fix a type error related to global scope augmentations.

  • Changed import path in code/renderers/react/src/entry-preview-argtypes.ts from './public-types' to './types'
  • Resolves issue [Bug]: @storybook/react 9.0.0-rc.3 type error #31527 where observable-like.d.ts was causing TypeScript errors with global scope augmentations
  • Import path change appears to be a workaround for an underlying issue in the type generation toolchain

@mrginglymus mrginglymus changed the title Update type import Update type import in react/preview.tsx to remove rogue invalid type stub in dist May 21, 2025
@mrginglymus mrginglymus changed the title Update type import in react/preview.tsx to remove rogue invalid type stub in dist Update type import in react/extract-preview-argtypes.tsx to remove rogue invalid type stub in dist May 21, 2025
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

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

@mrginglymus
Copy link
Contributor Author

Whilst playing with this I did try updating tsup and switching to Microsoft API Extractor as the more modern (and actively maintained) alternative. It seems to require some substantial configuration efforts though.

@nx-cloud
Copy link

nx-cloud bot commented May 21, 2025

View your CI Pipeline Execution ↗ for commit 96ed29e.

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

☁️ Nx Cloud last updated this comment at 2025-05-30 06:30:16 UTC

@JReinhold
Copy link
Contributor

Can you tell me more about how Microsoft API Extractor is involved here? I don't understand what that does from the website.

@mrginglymus
Copy link
Contributor Author

mrginglymus commented May 22, 2025

It's recommended noted (in experimental form) by tsup as being more accurate than their default dts extractor: https://tsup.egoist.dev/#generate-declaration-file

Effectively a replacement for rollup-plugin-dts, it allows you to generate a single .d.ts file for a given input, with no external dependencies.

It's likely to be considerably more accurate than rollup-plugin-dts, which frequently generates invalid typings - I've previously seen it include executable code in a .d.ts file!


see #31547 for a poc - tsup is now generating .d.mts files including for preview cjs files, so some fettling of package.json is required

@valentinpalkovic valentinpalkovic changed the title Update type import in react/extract-preview-argtypes.tsx to remove rogue invalid type stub in dist Types: Update import in entry preview to prevent type issues May 26, 2025
@valentinpalkovic valentinpalkovic self-assigned this May 26, 2025
@kasperpeulen kasperpeulen added the patch:yes Bugfix & documentation PR that need to be picked to main branch label May 28, 2025
@kasperpeulen kasperpeulen merged commit cd93369 into storybookjs:next Jun 5, 2025
51 of 53 checks passed
@shilman shilman changed the title Types: Update import in entry preview to prevent type issues Preview: Fix type issues Jun 7, 2025
@storybook-app-bot
Copy link

Package Benchmarks

Commit: 96ed29e, ran on 7 June 2025 at 05:03:06 UTC

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

storybook

Before After Difference
Dependency count 49 49 0
Self size 31.40 MB 31.37 MB 🎉 -31 KB 🎉
Dependency size 17.41 MB 17.41 MB 0 B
Bundle Size Analyzer Link Link

sb

Before After Difference
Dependency count 50 50 0
Self size 1 KB 1 KB 0 B
Dependency size 48.81 MB 48.78 MB 🎉 -31 KB 🎉
Bundle Size Analyzer Link Link

@storybook/codemod

Before After Difference
Dependency count 267 267 0
Self size 31 KB 31 KB 0 B
Dependency size 82.19 MB 82.20 MB 🚨 +13 KB 🚨
Bundle Size Analyzer Link Link

shilman pushed a commit that referenced this pull request Jun 7, 2025
Types: Update import in entry preview to prevent type issues
(cherry picked from commit cd93369)
@github-actions github-actions bot added the patch:done Patch/release PRs already cherry-picked to main/release branch label Jun 7, 2025
daneah added a commit to ithaka/pharos that referenced this pull request Jun 7, 2025
- Allows removal of patched `observable-like` fixed in
  storybookjs/storybook#31537
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 react typescript

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: @storybook/react 9.0.0-rc.3 type error

6 participants