Tests: Update Vitest to 5.0.3 and Storybook to 10.6.1 - #83996
Merged
Merged
Conversation
🤖 PR meta 🤖🎉 PropsIf you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. Updated as activity occurs, without notifying anyone named here. Add the 📦 Bundle sizeSize Change: 0 B Total Size: 8.25 MB
⚡ PerformanceShow the resultsClient side metrics exclude the server response time. front-end-block-theme
front-end-classic-theme
media-processing
media-upload
post-editor
site-editor
|
This was referenced Oct 1, 2026
manzoorwanijk
approved these changes
Oct 2, 2026
manzoorwanijk
left a comment
Member
There was a problem hiding this comment.
This looks like a straghforward change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Vitest 5.0.3, Storybook 10.6.1, and storybookjs/storybook#36270. Related follow-ups: storybookjs/storybook#36221 and #83495.
What?
Update the aligned Vitest packages to 5.0.3 and Storybook packages to 10.6.1. Remove the obsolete interceptor-warning tracking comment.
Why?
Vitest 5.0.3 fixes the Browser Mode interceptor warning. Storybook 10.6.1 adds Vitest 5 support through storybookjs/storybook#36270, so the dependency update no longer needs to wait for storybookjs/storybook#36221.
How?
Update workspace ranges and the lockfile together, including the Storybook ESLint plugin, icons, badge range, and Flakiness reporter 1.10.1 with Vitest 5 support. Keep the live-iframe provider and its regression test from #83495. Remove the local Storybook optimizer include now covered by the upgraded addon.
Notable release changes
Release audit against the previous locked versions
The audit covers Vitest 5.0.1 through 5.0.3, Storybook 10.5.9 through 10.6.1, migration notes, and the companion-package releases. The old lockfile already mixed Storybook versions, so the starting point differs by package.
vitest list. These apply to our matcher-heavy tests, monorepo Browser Mode setup, and discovery tooling. See the 5.0.1, 5.0.2, and 5.0.3 notes.toNotFakenow always keepsnextTickandqueueMicrotasknative; usetoFaketo mock either explicitly. NotoNotFakeusage was found in the repo, so no adaptation is needed. See vitest-dev/vitest#11261.storybook/test, replacing our customstorybook > @testing-library/dominclude. A forced optimizer rebuild passes all 891 story tests, the unchanged 233-file discovery set, and story-index parity. Its project-root discovery fix does not replace ourtest.dirsetting: removing that setting additionally collects 36 MDX files, which are skipped. Keep the directory and MDX settings.@storybook/csf-plugindirectly; its lockfile removal is expected. The Vitest Playwright provider remains supported.StatusNewIconwithSparkleIconand adds QR/status icons. OurJumpToIconandMirrorIconimports remain available, and no removed-icon consumer was found. Flakiness 1.10.0 supports Vitest 5, and 1.10.1 fixes config-path detection. The ESLint plugin retains the same 16 rules and eight presets; its CSF helpers are now bundled rather than imported from Storybook internals. Tag-badges 3.1.0 was already locked, so its individual badge exports are not a new runtime benefit of this PR.magic-string@1.4.2for the upgraded Storybook/Vitest packages and Vitest's exactwhy-is-node-running@3.2.1requirement. MagicString 1.3.2 through 1.4.2 fixes edits and source-map encoding and adds optional APIs; installed consumers remain compatible. Older consumers retain 0.30.21. Why-is-node-running 3.0 requires ESM and Node >=20.11, which fit Vitest's dynamic import and our supported runners; 3.2 removessiginfoandstackbackand improves diagnostics.fsModuleCacheis enabled; it remains off pending separate correctness/performance evaluation. Storybook's 10.6.0 CLI skills/tools and search improvements were already present in the locked core. Its restored change-detection button needs an experimental feature we do not enable; composed-ref and other-framework fixes have no configured consumer here.Testing Instructions
npm ciand verifynpm ls --workspace @wordpress/storybook --workspace @wordpress/unit-tests vitest @vitest/browser-playwright @storybook/addon-vitest storybook --allreports the aligned versions without invalid peers.npm run test:unit:vitest:shuffled -- --sequence.seed=80856 --project=node --project=jsdom, thennpm run test:unit:vitest:shuffled -- --sequence.seed=80856 --project=browser. The obsolete interceptor warning should be absent.npm run storybook:build, the sidebar/manifest checks from.github/workflows/storybook-check.yml, andnpm run --workspace @wordpress/storybook test:smoke. Confirm the manifest snapshot is unchanged and the story index matches the tested stories.Verification and upstream limitations
The full Node, Browser Mode, and Storybook runs below use the repaired dependency graph on trunk
792c31b413b. A final conflict-free rebase onto7e63d3db015preserves that graph and all reviewed Storybook/Vitest configuration. The final build passes, and 25 focused package-packing/block-support tests pass on both Node versions after that refresh; root typecheck and dependency checks also pass.80856: 1,087 files, 35,520 passing tests, 144 existing expected-failure cases, and four skipped tests per runtime. The hanging-process reporter also loads its corrected diagnostic dependency and passes a focused suite on both runtimes.7e63d3db015, retaining Vite 8.3.2 and aligningreact-inert-valuewith Vitest 5.0.3. A fresh install, full build, typecheck, dependency/lockfile/peer/published-dependency checks, conventions, and routing pass. Recursive validation of the changed dependencies and their descendants passes. The unfiltered npm graph still reports seven unchanged trunk conflicts in other dependencies; those remain outside this PR.@wordpress/scripts@36.0.0/@wordpress/eslint-plugin@27.0.0consumer checks pass with Vitest 5.0.3 on Node 22.22.2/Vite 7.0.0, Node 24.20.0/Vite 8.0.0, and Node 26.9.0/Vite 8.0.0. Node 24 also passes Browser Mode. These checks cover watch reruns, inspector resume, config discovery, generated CSS, jsdom, Jest compatibility, and lint defaults. They sample the supported combinations rather than claiming the complete CI cross-product.A separate fixture uses published Storybook 10.6.1, Vitest/Playwright provider/coverage provider 5.0.3, Vite 8.3.1, React 18.3.1, and Playwright 1.63.0. It drives the actual addon backend and Chromium with one parent story, two named child tests, and a sibling story.
>.@storybook/addon-vitest/internal/coverage-reportermust export a reporter class as its default export ormodule.exports. The off/on/off sequence cannot complete.No runner, timeout, assertion, or isolation setting is changed to hide these failures. The live-iframe workaround needs separate evidence before removal.
Use of AI Tools
Codex audited the releases and repository usage, updated dependencies, removed the verified optimizer workaround, ran verification, and reproduced the remaining addon issues with published packages.