Skip to content

Release: Prerelease 10.0.0-beta.3#32473

Closed
github-actions[bot] wants to merge 3 commits into
next-releasefrom
version-non-patch-from-10.0.0-beta.2
Closed

Release: Prerelease 10.0.0-beta.3#32473
github-actions[bot] wants to merge 3 commits into
next-releasefrom
version-non-patch-from-10.0.0-beta.2

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Sep 16, 2025

This is an automated pull request that bumps the version from 10.0.0-beta.2 to 10.0.0-beta.3.
Once this pull request is merged, it will trigger a new release of version 10.0.0-beta.3.
If you're not a core maintainer with permissions to release you can ignore this pull request.

To do

Before merging the PR, there are a few QA steps to go through:

  • Add the "freeze" label to this PR, to ensure it doesn't get automatically forced pushed by new changes.
  • Add the "ci:daily" label to this PR, to trigger the full test suite to run on this PR.

And for each change below:

  1. Ensure the change is appropriate for the version bump. E.g. patch release should only contain patches, not new or de-stabilizing features. If a change is not appropriate, revert the PR.
  2. Ensure the PR is labeled correctly with one of: "BREAKING CHANGE", "feature request", "bug", "maintenance", "dependencies", "documentation", "build", "unknown".
  3. Ensure the PR title is correct, and follows the format "[Area]: [Summary]", e.g. "React: Fix hooks in CSF3 render functions". If it is not correct, change the title in the PR.
    • Areas include: React, Vue, Core, Docs, Controls, etc.
    • First word of summary indicates the type: “Add”, “Fix”, “Upgrade”, etc.
    • The entire title should fit on a line

This is a list of all the PRs merged and commits pushed directly to next, that will be part of this release:

  • 📦 Dependencies: Replace: Use empathic over find-up #32472
  • 🐛 Bug: CLI: Init not running dev when it should fixed #32457
  • 📦 Dependencies: Replace: Use empathic over find-up #31338
  • 🐛 Bug: React: Preserve ts-expect-error in preview #32442
  • ✨ Feature Request: CLI: Add addon-console automigration #32083
  • 🔧 Maintenance: Core: Switch from mlly to exsolve #32383
  • 🔧 Maintenance: Telemetry: Record known CLI integrations #32448 (will also be patched)
  • 🐛 Bug: Instrumenter: Fix userEvent.type performance regression #32439 (will also be patched)
  • 🐛 Bug: Core: Fix Node 24 deprecation warning #32382
  • 🔧 Maintenance: CLI: Capture the version specifier used in create-storybook #32344 (will also be patched)
  • 🔧 Maintenance: React Native Web: Fix RNW peer dependency version #32438 (will also be patched)
  • 🔧 Maintenance: CSF: Support satisfies x as y syntax #32169 (will also be patched)
  • 🔧 Maintenance: Modernize: Replace fs-extra with native APIs #32296
  • ❔ Missing Label: Revert "Replace: Use empathic over find-up" #32470
  • 🏗️ Build: Build: Fix critical bug in the pre-build hook #32468
  • 🏗️ Build: Build: Consolidate and update nx versions #32449
  • 🏗️ Build: Publish: Fix sentry in release yaml #32451
  • 🏗️ Build: CircleCI: Split workflows for unit and story tests #32446
  • 🏗️ Build: Release: Adds Sentry release creation after publishing to npm #32356 (will also be patched)
  • 📝 Documentation: Docs: Add 9 -> 10 migration guide #32387
  • 📝 Documentation: Docs: Update CSF Next API reference #32341 (will also be patched)

If you've made any changes doing the above QA (change PR titles, revert PRs), manually trigger a re-generation of this PR with this workflow and wait for it to finish. It will wipe your progress in this to do, which is expected.

Feel free to manually commit any changes necessary to this branch after you've done the last re-generation, following the Make Manual Changes section in the docs, especially if you're making changes to the changelog.

When everything above is done:


Generated changelog

10.0.0-beta.3

  • CLI: Add addon-console automigration - #32083, thanks Sidnioulz!
  • CLI: Capture the version specifier used in create-storybook - #32344, thanks shilman!
  • CLI: Init not running dev when it should fixed - #32457, thanks ndelangen!
  • CSF: Support satisfies x as y syntax - #32169, thanks diagramatics!
  • Core: Fix Node 24 deprecation warning - #32382, thanks JReinhold!
  • Core: Switch from mlly to exsolve - #32383, thanks mrginglymus!
  • Instrumenter: Fix userEvent.type performance regression - #32439, thanks ndelangen!
  • Modernize: Replace fs-extra with native APIs - #32296, thanks y-hsgw!
  • React Native Web: Fix RNW peer dependency version - #32438, thanks dannyhw!
  • React: Preserve ts-expect-error in preview - #32442, thanks mrginglymus!
  • Replace: Use empathic over find-up - #31338, thanks beeequeue!
  • Replace: Use empathic over find-up - #32472, thanks ndelangen!
  • Telemetry: Record known CLI integrations - #32448, thanks shilman!

Greptile Summary

Updated On: 2025-09-16 11:28:35 UTC

This PR represents the automated version bump from Storybook 10.0.0-beta.2 to 10.0.0-beta.3, incorporating 21 changes across bug fixes, new features, dependency updates, and build improvements. The most significant changes include:

Key Changes:

The empathic migration touches 40+ files across the codebase, updating imports and API calls throughout core utilities, framework integrations, CLI tools, and builders. The changes maintain functional equivalence while consolidating file system operations under a single, more efficient package.

Confidence score: 4/5

  • This beta release contains important fixes and modernization efforts with comprehensive test coverage updates
  • Score reflects the extensive scope of the empathic migration affecting many core files, though the changes maintain API compatibility
  • Pay close attention to React webpack preset loaders and CLI initialization files where synchronous/asynchronous API changes could impact functionality

@github-actions github-actions Bot added the release For PRs that trigger new releases. Automated label Sep 16, 2025
@github-actions github-actions Bot added the release For PRs that trigger new releases. Automated label Sep 16, 2025
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.

55 files reviewed, 8 comments

Edit Code Review Bot Settings | Greptile

cwd: process.cwd(),
stopAt: getProjectRoot(),
});
const tsconfigPath = find.up('tsconfig.json', { cwd: process.cwd(), last: getProjectRoot() });
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

logic: Critical issue: find.up is synchronous but the original findUp was async. This could block the webpack loader thread and cause performance issues.

const mockContext: any = {
...liveContext,
findUp: async ([name]: string[]) => name,
empathic: { any: ([name]: string[]) => name },
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

logic: Mock uses any method but real usage throughout tests uses up method - verify API consistency

Suggested change
empathic: { any: ([name]: string[]) => name },
empathic: { up: ([name]: string[]) => name },

Comment on lines +59 to 61
vi.mocked(find.up).mockImplementation((name) =>
name === ('.svn' as any) ? '/path/to/root' : undefined
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

style: Type casting to any should be removed since empathic API likely accepts string directly

Suggested change
vi.mocked(find.up).mockImplementation((name) =>
name === ('.svn' as any) ? '/path/to/root' : undefined
);
vi.mocked(find.up).mockImplementation((name) =>
name === '.svn' ? '/path/to/root' : undefined
);

Comment on lines +67 to 69
vi.mocked(find.up).mockImplementation((name) =>
name === ('.yarn' as any) ? '/path/to/root' : undefined
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

style: Type casting to any should be removed since empathic API likely accepts string directly

Suggested change
vi.mocked(find.up).mockImplementation((name) =>
name === ('.yarn' as any) ? '/path/to/root' : undefined
);
vi.mocked(find.up).mockImplementation((name) =>
name === '.yarn' ? '/path/to/root' : undefined
);

import type { StoryId, StoryIndex, StoryIndexEntry } from 'storybook/internal/types';

import { findUp } from 'find-up';
import * as find from 'empathic/find';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

logic: This import should use find-up instead of empathic/find since PR #32470 reverted the empathic changes. The current import will cause runtime errors.

Suggested change
import * as find from 'empathic/find';
import { findUp } from 'find-up';

Comment on lines +67 to 73
const vitestWorkspaceConfig = find.any(
[
...VITEST_WORKSPACE_FILE_EXTENSION.map((ext) => `vitest.workspace.${ext}`),
...VITEST_CONFIG_FILE_EXTENSIONS.map((ext) => `vitest.config.${ext}`),
],
{ stopAt: getProjectRoot() }
{ last: getProjectRoot() }
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

logic: This API usage is incorrect - should use findUp() with stopAt parameter instead of find.any() with last parameter to match the reverted state.

Suggested change
const vitestWorkspaceConfig = find.any(
[
...VITEST_WORKSPACE_FILE_EXTENSION.map((ext) => `vitest.workspace.${ext}`),
...VITEST_CONFIG_FILE_EXTENSIONS.map((ext) => `vitest.config.${ext}`),
],
{ stopAt: getProjectRoot() }
{ last: getProjectRoot() }
);
const vitestWorkspaceConfig = await findUp(
[
...VITEST_WORKSPACE_FILE_EXTENSION.map((ext) => `vitest.workspace.${ext}`),
...VITEST_CONFIG_FILE_EXTENSIONS.map((ext) => `vitest.config.${ext}`),
],
{ stopAt: getProjectRoot() }
);

Comment on lines +78 to 81
const docTSConfig = find.up('tsconfig.doc.json', {
cwd: options.configDir,
stopAt: getProjectRoot(),
last: getProjectRoot(),
});
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

style: Parameter name changed from stopAt to last - verify this provides equivalent functionality for finding tsconfig.doc.json

}

const foundGitIgnoreFile = await findUp('.gitignore');
const foundGitIgnoreFile = find.up('.gitignore');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

logic: API mismatch: find.up('.gitignore') is likely synchronous but original findUp was async. This could cause runtime errors if empathic returns a Promise that's being used as a string.

Suggested change
const foundGitIgnoreFile = find.up('.gitignore');
const foundGitIgnoreFile = await find.up('.gitignore');

@ndelangen ndelangen closed this Sep 16, 2025
@kasperpeulen kasperpeulen deleted the version-non-patch-from-10.0.0-beta.2 branch April 4, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release For PRs that trigger new releases. Automated

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants