Skip to content

Replace: Use empathic over find-up#31338

Merged
ndelangen merged 16 commits into
storybookjs:nextfrom
beeequeue:empathic
Sep 16, 2025
Merged

Replace: Use empathic over find-up#31338
ndelangen merged 16 commits into
storybookjs:nextfrom
beeequeue:empathic

Conversation

@beeequeue
Copy link
Copy Markdown
Contributor

@beeequeue beeequeue commented May 2, 2025

Closes #29103

What I did

This PR replaces a number of packages (see #29103) with empathic, a smaller, faster alternative.

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

There is one part I am the most unsure about, which is the removed/changed safeResolves.

I'm not entirely sure how to test it properly or exactly where they're used, so I would love some pointers for how to handle those.

Documentation

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

in that one file 😄

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 replaces multiple utility packages with 'empathic' across the Storybook codebase, aiming to improve performance and reduce bundle size by consolidating path resolution and package finding functionality.

  • Replaces find-up, find-cache-dir, and resolve-from with equivalent empathic functions in core packages and frameworks
  • Removes safeResolve.ts utility in favor of empathic/resolve, requiring careful testing of module resolution behavior
  • Changes several async file-finding operations to sync using empathic/find, particularly in package manager proxies
  • Updates test mocks and assertions across multiple files to work with empathic's API
  • Modifies package.json files to remove old dependencies and add empathic v1.1.0

💡 (1/5) You can manually trigger the bot by mentioning @greptileai in a comment!

Copy link
Copy Markdown
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.

50 file(s) reviewed, 25 comment(s)
Edit PR Review Bot Settings | Greptile

Comment thread code/builders/builder-vite/src/plugins/external-globals-plugin.ts
Comment thread code/core/src/builder-manager/utils/safeResolve.ts Outdated
Comment thread code/core/src/builder-manager/index.ts Outdated
Comment thread code/core/src/common/js-package-manager/BUNProxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/JsPackageManagerFactory.ts
Comment thread docs/_snippets/storybook-server-framework-options.md Outdated
Comment thread docs/_snippets/storybook-server-framework-options.md Outdated
Comment thread docs/_snippets/storybook-server-framework-options.md Outdated
Comment thread docs/_snippets/storybook-server-options.md Outdated
Comment thread docs/_snippets/storybook-server-options.md Outdated
Copy link
Copy Markdown
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.

50 file(s) reviewed, 8 comment(s)
Edit PR Review Bot Settings | Greptile

Comment thread code/core/src/cli/eslintPlugin.test.ts
Comment thread code/core/src/cli/eslintPlugin.test.ts
Comment thread code/core/src/common/js-package-manager/JsPackageManagerFactory.test.ts Outdated
Comment thread code/core/src/common/js-package-manager/PNPMProxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/PNPMProxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/Yarn2Proxy.ts Outdated
Comment thread code/frameworks/angular/src/builders/build-storybook/index.ts Outdated
Comment thread code/frameworks/vue3-vite/src/plugins/vue-component-meta.ts Outdated
@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented May 2, 2025

View your CI Pipeline Execution ↗ for commit 6ff320a

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

☁️ Nx Cloud last updated this comment at 2025-09-16 07:06:14 UTC

@JReinhold
Copy link
Copy Markdown
Contributor

I ran the package benchmark script locally, and this is the comparison with next.

Raw data output
{
  "@storybook/addon-vitest": {
    "package": "@storybook/addon-vitest",
    "dependencyCount": { "base": 6, "new": 6, "diff": 0 },
    "selfSize": { "base": 617673, "new": 607478, "diff": -10195 },
    "dependencySize": { "base": 1491763, "new": 1491763, "diff": 0 }
  },
  "@storybook/builder-vite": {
    "package": "@storybook/builder-vite",
    "dependencyCount": { "base": 6, "new": 6, "diff": 0 },
    "selfSize": { "base": 447736, "new": 379690, "diff": -68046 },
    "dependencySize": { "base": 832164, "new": 832164, "diff": 0 }
  },
  "storybook": {
    "package": "storybook",
    "dependencyCount": { "base": 49, "new": 49, "diff": 0 },
    "selfSize": { "base": 31768394, "new": 31731776, "diff": -36618 },
    "dependencySize": { "base": 16954299, "new": 16954299, "diff": 0 }
  },
  "@storybook/angular": {
    "package": "@storybook/angular",
    "dependencyCount": { "base": 250, "new": 245, "diff": -5 },
    "selfSize": { "base": 607199, "new": 611242, "diff": 4043 },
    "dependencySize": { "base": 30771133, "new": 30742945, "diff": -28188 }
  },
  "@storybook/ember": {
    "package": "@storybook/ember",
    "dependencyCount": { "base": 250, "new": 245, "diff": -5 },
    "selfSize": { "base": 28901, "new": 30254, "diff": 1353 },
    "dependencySize": { "base": 30008812, "new": 29980603, "diff": -28209 }
  },
  "@storybook/html-vite": {
    "package": "@storybook/html-vite",
    "dependencyCount": { "base": 9, "new": 9, "diff": 0 },
    "selfSize": { "base": 23349, "new": 23349, "diff": 0 },
    "dependencySize": { "base": 1323445, "new": 1255399, "diff": -68046 }
  },
  "@storybook/nextjs": {
    "package": "@storybook/nextjs",
    "dependencyCount": { "base": 535, "new": 531, "diff": -4 },
    "selfSize": { "base": 215398, "new": 215398, "diff": 0 },
    "dependencySize": { "base": 58596539, "new": 58572458, "diff": -24081 }
  },
  "@storybook/nextjs-vite": {
    "package": "@storybook/nextjs-vite",
    "dependencyCount": { "base": 129, "new": 124, "diff": -5 },
    "selfSize": { "base": 2390330, "new": 2390330, "diff": 0 },
    "dependencySize": { "base": 22401141, "new": 22304870, "diff": -96271 }
  },
  "@storybook/preact-vite": {
    "package": "@storybook/preact-vite",
    "dependencyCount": { "base": 9, "new": 9, "diff": 0 },
    "selfSize": { "base": 12873, "new": 12873, "diff": 0 },
    "dependencySize": { "base": 1308696, "new": 1240650, "diff": -68046 }
  },
  "@storybook/react-native-web-vite": {
    "package": "@storybook/react-native-web-vite",
    "dependencyCount": { "base": 162, "new": 157, "diff": -5 },
    "selfSize": { "base": 34896, "new": 34767, "diff": -129 },
    "dependencySize": { "base": 23535145, "new": 23438874, "diff": -96271 }
  },
  "@storybook/react-vite": {
    "package": "@storybook/react-vite",
    "dependencyCount": { "base": 122, "new": 117, "diff": -5 },
    "selfSize": { "base": 31538, "new": 31501, "diff": -37 },
    "dependencySize": { "base": 20504966, "new": 20408732, "diff": -96234 }
  },
  "@storybook/react-webpack5": {
    "package": "@storybook/react-webpack5",
    "dependencyCount": { "base": 323, "new": 319, "diff": -4 },
    "selfSize": { "base": 24572, "new": 24572, "diff": 0 },
    "dependencySize": { "base": 44607291, "new": 44583236, "diff": -24055 }
  },
  "@storybook/svelte-vite": {
    "package": "@storybook/svelte-vite",
    "dependencyCount": { "base": 18, "new": 18, "diff": 0 },
    "selfSize": { "base": 53169, "new": 53169, "diff": 0 },
    "dependencySize": { "base": 25918079, "new": 25850033, "diff": -68046 }
  },
  "@storybook/sveltekit": {
    "package": "@storybook/sveltekit",
    "dependencyCount": { "base": 19, "new": 19, "diff": 0 },
    "selfSize": { "base": 50541, "new": 50541, "diff": 0 },
    "dependencySize": { "base": 25972050, "new": 25904004, "diff": -68046 }
  },
  "@storybook/vue3-vite": {
    "package": "@storybook/vue3-vite",
    "dependencyCount": { "base": 104, "new": 104, "diff": 0 },
    "selfSize": { "base": 34316, "new": 34194, "diff": -122 },
    "dependencySize": { "base": 42678151, "new": 42620343, "diff": -57808 }
  },
  "@storybook/web-components-vite": {
    "package": "@storybook/web-components-vite",
    "dependencyCount": { "base": 10, "new": 10, "diff": 0 },
    "selfSize": { "base": 19918, "new": 19918, "diff": 0 },
    "dependencySize": { "base": 1355743, "new": 1287697, "diff": -68046 }
  },
  "sb": {
    "package": "sb",
    "dependencyCount": { "base": 50, "new": 50, "diff": 0 },
    "selfSize": { "base": 1216, "new": 1216, "diff": 0 },
    "dependencySize": { "base": 48723194, "new": 48686576, "diff": -36618 }
  },
  "@storybook/cli": {
    "package": "@storybook/cli",
    "dependencyCount": { "base": 324, "new": 324, "diff": 0 },
    "selfSize": { "base": 238917, "new": 238917, "diff": 0 },
    "dependencySize": { "base": 97046716, "new": 96992691, "diff": -54025 }
  },
  "@storybook/codemod": {
    "package": "@storybook/codemod",
    "dependencyCount": { "base": 267, "new": 267, "diff": 0 },
    "selfSize": { "base": 30919, "new": 30919, "diff": 0 },
    "dependencySize": { "base": 81481310, "new": 81444692, "diff": -36618 }
  },
  "create-storybook": {
    "package": "create-storybook",
    "dependencyCount": { "base": 1, "new": 1, "diff": 0 },
    "selfSize": { "base": 10988718, "new": 10971311, "diff": -17407 },
    "dependencySize": { "base": 97745, "new": 97745, "diff": 0 }
  },
  "@storybook/preset-react-webpack": {
    "package": "@storybook/preset-react-webpack",
    "dependencyCount": { "base": 175, "new": 171, "diff": -4 },
    "selfSize": { "base": 23715, "new": 23671, "diff": -44 },
    "dependencySize": { "base": 30142179, "new": 30118168, "diff": -24011 }
  }
}

This is an AI summary based on the data:

@storybook/addon-vitest

Metric Base New Diff % Change
Dependency Count 6 6 0 0%
Self Size 603,20 KB 593,24 KB -9,96 KB -1,65%
Dependency Size 1,42 MB 1,42 MB 0 B 0%

@storybook/builder-vite

Metric Base New Diff % Change
Dependency Count 6 6 0 0%
Self Size 437,24 KB 370,79 KB -66,45 KB -15,20%
Dependency Size 812,66 KB 812,66 KB 0 B 0%

storybook

Metric Base New Diff % Change
Dependency Count 49 49 0 0%
Self Size 30,30 MB 30,26 MB -35,76 KB -0,12%
Dependency Size 16,17 MB 16,17 MB 0 B 0%

@storybook/angular

Metric Base New Diff % Change
Dependency Count 250 245 -5 -2,00%
Self Size 592,97 KB 596,92 KB +3,95 KB +0,67%
Dependency Size 29,35 MB 29,32 MB -27,53 KB -0,09%

@storybook/ember

Metric Base New Diff % Change
Dependency Count 250 245 -5 -2,00%
Self Size 28,22 KB 29,54 KB +1,32 KB +4,68%
Dependency Size 28,62 MB 28,59 MB -27,55 KB -0,09%

@storybook/html-vite

Metric Base New Diff % Change
Dependency Count 9 9 0 0%
Self Size 22,80 KB 22,80 KB 0 B 0%
Dependency Size 1,26 MB 1,20 MB -66,45 KB -5,14%

@storybook/nextjs

Metric Base New Diff % Change
Dependency Count 535 531 -4 -0,75%
Self Size 210,35 KB 210,35 KB 0 B 0%
Dependency Size 55,88 MB 55,86 MB -23,52 KB -0,04%

@storybook/nextjs-vite

Metric Base New Diff % Change
Dependency Count 129 124 -5 -3,88%
Self Size 2,28 MB 2,28 MB 0 B 0%
Dependency Size 21,36 MB 21,27 MB -94,01 KB -0,43%

@storybook/preact-vite

Metric Base New Diff % Change
Dependency Count 9 9 0 0%
Self Size 12,57 KB 12,57 KB 0 B 0%
Dependency Size 1,25 MB 1,18 MB -66,45 KB -5,20%

@storybook/react-native-web-vite

Metric Base New Diff % Change
Dependency Count 162 157 -5 -3,09%
Self Size 34,08 KB 33,95 KB -0,13 KB -0,37%
Dependency Size 22,44 MB 22,35 MB -94,01 KB -0,41%

@storybook/react-vite

Metric Base New Diff % Change
Dependency Count 122 117 -5 -4,10%
Self Size 30,80 KB 30,76 KB -0,04 KB -0,12%
Dependency Size 19,55 MB 19,46 MB -93,98 KB -0,47%

@storybook/react-webpack5

Metric Base New Diff % Change
Dependency Count 323 319 -4 -1,24%
Self Size 24,00 KB 24,00 KB 0 B 0%
Dependency Size 42,54 MB 42,52 MB -23,49 KB -0,05%

@storybook/svelte-vite

Metric Base New Diff % Change
Dependency Count 18 18 0 0%
Self Size 51,92 KB 51,92 KB 0 B 0%
Dependency Size 24,72 MB 24,65 MB -66,45 KB -0,26%

@storybook/sveltekit

Metric Base New Diff % Change
Dependency Count 19 19 0 0%
Self Size 49,36 KB 49,36 KB 0 B 0%
Dependency Size 24,77 MB 24,70 MB -66,45 KB -0,26%

@storybook/vue3-vite

Metric Base New Diff % Change
Dependency Count 104 104 0 0%
Self Size 33,51 KB 33,39 KB -0,12 KB -0,36%
Dependency Size 40,70 MB 40,65 MB -56,45 KB -0,14%

@storybook/web-components-vite

Metric Base New Diff % Change
Dependency Count 10 10 0 0%
Self Size 19,45 KB 19,45 KB 0 B 0%
Dependency Size 1,29 MB 1,23 MB -66,45 KB -5,02%

sb

Metric Base New Diff % Change
Dependency Count 50 50 0 0%
Self Size 1,19 KB 1,19 KB 0 B 0%
Dependency Size 46,47 MB 46,43 MB -35,76 KB -0,08%

@storybook/cli

Metric Base New Diff % Change
Dependency Count 324 324 0 0%
Self Size 233,32 KB 233,32 KB 0 B 0%
Dependency Size 92,55 MB 92,50 MB -52,76 KB -0,06%

@storybook/codemod

Metric Base New Diff % Change
Dependency Count 267 267 0 0%
Self Size 30,19 KB 30,19 KB 0 B 0%
Dependency Size 77,71 MB 77,67 MB -35,76 KB -0,04%

create-storybook

Metric Base New Diff % Change
Dependency Count 1 1 0 0%
Self Size 10,48 MB 10,46 MB -17,00 KB -0,16%
Dependency Size 95,45 KB 95,45 KB 0 B 0%

@storybook/preset-react-webpack

Metric Base New Diff % Change
Dependency Count 175 171 -4 -2,29%
Self Size 23,16 KB 23,12 KB -0,04 KB -0,19%
Dependency Size 28,75 MB 28,72 MB -23,45 KB -0,08%

Summary of Most Impactful Changes

  1. Size Reductions:

    • @storybook/builder-vite: The most significant self-size reduction of 66.45 KB (-15.20%), making it the package with the largest percentage decrease.
    • @storybook/addon-vitest: Reduced self-size by 9.96 KB (-1.65%).
    • storybook: While the percentage change is small (-0.12%), the absolute reduction of 35.76 KB is notable given the package's large size.
    • create-storybook: Reduced by 17 KB (-0.16%).
  2. Dependency Count Reductions:

    • Several packages reduced their dependency counts by 4-5 dependencies:
      • @storybook/angular: -5 dependencies (-2.00%)
      • @storybook/ember: -5 dependencies (-2.00%)
      • @storybook/nextjs-vite: -5 dependencies (-3.88%)
      • @storybook/react-native-web-vite: -5 dependencies (-3.09%)
      • @storybook/react-vite: -5 dependencies (-4.10%)
      • @storybook/nextjs: -4 dependencies (-0.75%)
      • @storybook/react-webpack5: -4 dependencies (-1.24%)
      • @storybook/preset-react-webpack: -4 dependencies (-2.29%)
  3. Dependency Size Reductions:

    • @storybook/nextjs-vite: Largest absolute dependency size reduction of 94.01 KB.
    • @storybook/react-vite: Reduced dependency size by 93.98 KB.
    • Vite-based packages: Most Vite-based packages saw dependency size reductions of approximately 66.45 KB, likely due to shared dependencies being optimized.
  4. Size Increases:

    • @storybook/angular: Slight increase in self-size by 3.95 KB (+0.67%).
    • @storybook/ember: Increased self-size by 1.32 KB (+4.68%), the largest percentage increase among all packages.
  5. Overall Trend:

    • The changes show a general optimization effort across the Storybook ecosystem, with a focus on reducing package sizes and dependency counts.
    • The most substantial improvements are in Vite-based builders and integrations.
    • No package showed a significant negative impact in terms of size increases.

The most impactful change overall appears to be the optimization of the @storybook/builder-vite package, which saw a 15.20% reduction in self-size. This improvement cascades to many other packages that depend on it, resulting in widespread size reductions across the ecosystem.

Comment thread code/core/src/cli/eslintPlugin.test.ts
Comment thread code/core/src/common/js-package-manager/BUNProxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/NPMProxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/PNPMProxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/Yarn1Proxy.ts Outdated
Comment thread code/core/src/common/js-package-manager/Yarn2Proxy.ts Outdated
Comment thread code/presets/react-webpack/src/loaders/react-docgen-loader.ts Outdated
Comment thread code/vitest.config.ts
@43081j
Copy link
Copy Markdown
Contributor

43081j commented May 6, 2025

i've read through all of it and it looks good other than a few minor changes

If the team don't want to land this as one big change, I think we should split it up per monorepo package (core, presets, frameworks, etc)

if we do that, I don't think we need a PR per dependency change. just one per monorepo package

@storybook-app-bot
Copy link
Copy Markdown

storybook-app-bot Bot commented May 9, 2025

Package Benchmarks

Commit: 6ff320a, ran on 15 September 2025 at 23:12:10 UTC

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

@storybook/addon-docs

Before After Difference
Dependency count 18 18 0
Self size 2.01 MB 2.01 MB 0 B
Dependency size 9.40 MB 9.43 MB 🚨 +28 KB 🚨
Bundle Size Analyzer Link Link

@storybook/addon-vitest

Before After Difference
Dependency count 6 6 0
Self size 495 KB 489 KB 🎉 -5 KB 🎉
Dependency size 1.49 MB 1.52 MB 🚨 +28 KB 🚨
Bundle Size Analyzer Link Link

@storybook/builder-vite

Before After Difference
Dependency count 11 11 0
Self size 374 KB 319 KB 🎉 -55 KB 🎉
Dependency size 1.30 MB 1.30 MB 🚨 +18 B 🚨
Bundle Size Analyzer Link Link

@storybook/builder-webpack5

Before After Difference
Dependency count 187 187 0
Self size 68 KB 68 KB 🚨 +36 B 🚨
Dependency size 31.67 MB 31.68 MB 🚨 +10 KB 🚨
Bundle Size Analyzer Link Link

storybook

Before After Difference
Dependency count 48 48 0
Self size 30.42 MB 30.49 MB 🚨 +74 KB 🚨
Dependency size 17.61 MB 17.64 MB 🚨 +28 KB 🚨
Bundle Size Analyzer Link Link

@storybook/angular

Before After Difference
Dependency count 187 187 0
Self size 134 KB 126 KB 🎉 -8 KB 🎉
Dependency size 29.89 MB 29.90 MB 🚨 +10 KB 🚨
Bundle Size Analyzer Link Link

@storybook/ember

Before After Difference
Dependency count 192 191 🎉 -1 🎉
Self size 17 KB 17 KB 🎉 -43 B 🎉
Dependency size 28.39 MB 28.40 MB 🚨 +11 KB 🚨
Bundle Size Analyzer Link Link

@storybook/html-vite

Before After Difference
Dependency count 14 14 0
Self size 23 KB 23 KB 🚨 +2 B 🚨
Dependency size 1.71 MB 1.66 MB 🎉 -55 KB 🎉
Bundle Size Analyzer Link Link

@storybook/nextjs-vite

Before After Difference
Dependency count 130 124 🎉 -6 🎉
Self size 4.00 MB 4.00 MB 🚨 +2 B 🚨
Dependency size 21.66 MB 21.56 MB 🎉 -91 KB 🎉
Bundle Size Analyzer Link Link

@storybook/preact-vite

Before After Difference
Dependency count 14 14 0
Self size 14 KB 14 KB 🚨 +19 B 🚨
Dependency size 1.70 MB 1.64 MB 🎉 -55 KB 🎉
Bundle Size Analyzer Link Link

@storybook/react-native-web-vite

Before After Difference
Dependency count 163 157 🎉 -6 🎉
Self size 31 KB 31 KB 🚨 +2 B 🚨
Dependency size 23.04 MB 22.95 MB 🎉 -91 KB 🎉
Bundle Size Analyzer Link Link

@storybook/react-vite

Before After Difference
Dependency count 120 114 🎉 -6 🎉
Self size 36 KB 36 KB 🎉 -23 B 🎉
Dependency size 19.60 MB 19.51 MB 🎉 -91 KB 🎉
Bundle Size Analyzer Link Link

@storybook/server-webpack5

Before After Difference
Dependency count 199 199 0
Self size 17 KB 17 KB 0 B
Dependency size 32.92 MB 32.93 MB 🚨 +10 KB 🚨
Bundle Size Analyzer Link Link

@storybook/svelte-vite

Before After Difference
Dependency count 22 22 0
Self size 59 KB 59 KB 🚨 +18 B 🚨
Dependency size 26.95 MB 26.89 MB 🎉 -55 KB 🎉
Bundle Size Analyzer Link Link

@storybook/sveltekit

Before After Difference
Dependency count 23 23 0
Self size 49 KB 49 KB 🎉 -30 B 🎉
Dependency size 27.01 MB 26.95 MB 🎉 -55 KB 🎉
Bundle Size Analyzer Link Link

@storybook/vue3-vite

Before After Difference
Dependency count 110 109 🎉 -1 🎉
Self size 38 KB 38 KB 🎉 -75 B 🎉
Dependency size 43.82 MB 43.76 MB 🎉 -64 KB 🎉
Bundle Size Analyzer Link Link

@storybook/web-components-vite

Before After Difference
Dependency count 15 15 0
Self size 20 KB 20 KB 0 B
Dependency size 1.74 MB 1.68 MB 🎉 -55 KB 🎉
Bundle Size Analyzer Link Link

@storybook/cli

Before After Difference
Dependency count 205 205 0
Self size 886 KB 876 KB 🎉 -10 KB 🎉
Dependency size 81.67 MB 81.78 MB 🚨 +107 KB 🚨
Bundle Size Analyzer Link Link

@storybook/codemod

Before After Difference
Dependency count 174 174 0
Self size 35 KB 35 KB 0 B
Dependency size 76.74 MB 76.85 MB 🚨 +112 KB 🚨
Bundle Size Analyzer Link Link

create-storybook

Before After Difference
Dependency count 49 49 0
Self size 1.52 MB 1.52 MB 🎉 -5 KB 🎉
Dependency size 48.03 MB 48.13 MB 🚨 +102 KB 🚨
Bundle Size Analyzer node node

@storybook/preset-react-webpack

Before After Difference
Dependency count 170 170 0
Self size 26 KB 21 KB 🎉 -6 KB 🎉
Dependency size 30.83 MB 30.84 MB 🚨 +10 KB 🚨
Bundle Size Analyzer Link Link

@beeequeue
Copy link
Copy Markdown
Contributor Author

I think everything passes now? :)

@shilman
Copy link
Copy Markdown
Member

shilman commented May 10, 2025

@beeequeue @43081j I think it's probably fine as one big change (don't quote me!) but the biggest issue is that we're all hands on deck for our 9.0 release and are starting to lock down. If we don't get it into 9.0 we'll def get it into 9.1 though!

@beeequeue
Copy link
Copy Markdown
Contributor Author

Just want to also say thank you for prioritizing the cleanup of storybook as much as you have!

It was one of my biggest gripes with the tool back in the day - and while we can't use it at work yet because of them not prioritizing cleanup work - the benefits to the ecosystem cannot be understated ❤️

@shilman
Copy link
Copy Markdown
Member

shilman commented May 10, 2025

Thanks so much for the kind words @beeequeue. It's PRs like this that make it happen, and the team is so grateful for your help getting things into shape. We've made some big strides but there's still a lot more we can do!!! 🩷

@ndelangen
Copy link
Copy Markdown
Member

@beeequeue Do you think you could have a look at this PR and maybe update it with the changes from the base-branch? 🙏

@beeequeue
Copy link
Copy Markdown
Contributor Author

the sandbox tests are failing again 🫠

@beeequeue
Copy link
Copy Markdown
Contributor Author

@43081j @ndelangen @shilman I think everything has passed now except for a single test that timed out, can you try re-running that job to see if it's just flaky?

@mrginglymus
Copy link
Copy Markdown
Contributor

O no more conflicts!

Possibly an unwelcome distraction, but I did notice a few users of fd-package-json (some adjacent to find-up!), which is an opportunity to cull another couple of packages.

@mrginglymus
Copy link
Copy Markdown
Contributor

@ndelangen this is all looking mighty green now except for the flaky unit test?

@ndelangen ndelangen changed the title refactor: Use empathic where possible Replace: Use empathic over find-up Sep 16, 2025
@ndelangen ndelangen merged commit ede386a into storybookjs:next Sep 16, 2025
52 of 53 checks passed
@github-actions github-actions Bot mentioned this pull request Sep 16, 2025
24 tasks
@github-actions github-actions Bot mentioned this pull request Sep 16, 2025
23 tasks
@beeequeue beeequeue deleted the empathic branch September 16, 2025 14:56
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.

Investigate migrating +9 packages to empathic

7 participants