👷 Update vitest monorepo to v5 - #219
renovate[bot] wants to merge 1 commit into
Conversation
❌ ErrorsYour PR has failed checks. Please review the issues below and take necessary action before merging. 🚦 1 Pipeline job failed
Useful? React with 👍 / 👎 This comment will be updated automatically if new data arrives.🔗 Commit SHA: 07f3a15 | Docs | View more details | Give us feedback! |
There was a problem hiding this comment.
PR Review — Score: 2.0 / 5
This Renovate PR cannot be merged as-is. It bumps @vitest/coverage-v8 and @vitest/ui to 5.0.0 but leaves the core vitest package at 4.1.10, producing a mixed-version install that breaks the unit/coverage pipeline. I would not approve until all vitest monorepo packages are aligned on v5 and the test suite runs cleanly.
Why 2.0: The diff introduces an internally inconsistent dependency set (v4 core + v5 satellite packages). Running yarn test:unit loads vitest@4.1.10 with @vitest/coverage-v8@5.0.0, emits a mixed-version warning, and throws AssertionError: coverageFilesDirectory is required across workers — so the stated goal of upgrading the vitest monorepo to v5 is not achieved.
Why not 5: The upgrade is incomplete and breaks dev tooling. Completing it will also require reviewing Vitest 5 breaking changes (e.g. Node.js 22 minimum, default mock clearing, config/reporter path changes) once vitest itself is bumped.
Findings
- [Blocking] Incomplete vitest monorepo upgrade —
@vitest/coverage-v8and@vitest/uiare at 5.0.0 butvitestremains at 4.1.10, causing mixed-version errors and broken coverage collection. - [Minor] Vitest 5 breaking changes pending — After aligning versions, review Vitest 5 release notes for test-suite impact (mock clearing defaults, Node 22 requirement, reporter/output path changes).
Sent by Cursor Automation: electron-sdk reviews
| "@types/node": "24.13.3", | ||
| "@vitest/coverage-v8": "4.1.10", | ||
| "@vitest/ui": "4.1.10", | ||
| "@vitest/coverage-v8": "5.0.0", |
There was a problem hiding this comment.
These satellite packages are bumped to 5.0.0, but the core vitest devDependency on line 142 is still pinned to 4.1.10. Yarn reports peer conflicts (vitest 4.1.10 does not satisfy what @vitest/coverage-v8 5.0.0 requests), and running yarn test:unit prints:
Loaded vitest@4.1.10 and @vitest/coverage-v8@5.0.0.
Running mixed versions is not supported and may lead into bugs
followed by AssertionError: coverageFilesDirectory is required from @vitest/coverage-v8.
Please bump vitest to 5.0.0 in the same change (and dedupe the lockfile) so all @vitest/* packages share one major version.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ccf6113078
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@vitest/coverage-v8": "5.0.0", | ||
| "@vitest/ui": "5.0.0", |
There was a problem hiding this comment.
Keep the Vitest packages on the same major version
The runner remains pinned to vitest@4.1.10 at line 142, while both upgraded packages declare an exact vitest@5.0.0 peer dependency; conversely, Vitest 4 declares exact 4.1.10 peers for these packages. Yarn reports all three peer requirements as incorrectly met, and the CI unit command (vitest run --coverage) loads this unsupported Vitest 4 / coverage provider 5 combination. Upgrade vitest to 5.0.0 as part of this monorepo update (and address its breaking changes), or keep the provider/UI packages on 4.1.10.
Useful? React with 👍 / 👎.
ccf6113 to
59a6800
Compare
59a6800 to
b79b63f
Compare
b79b63f to
07f3a15
Compare


This PR contains the following updates:
4.1.10→5.0.14.1.10→5.0.1Release Notes
vitest-dev/vitest (@vitest/coverage-v8)
v5.0.1Compare Source
🚀 Features
🐞 Bug Fixes
extends- by @sheremet-va in #11034 (23dda)deps.optimizer.webis used - by @im10furry in #11214 (2ce29)config.define- by @sheremet-va in #11198 (972e2)toMatchAriaSnapshot- by @sheremet-va in #11208 (c119b)queueMicrotaskandnextTickintoNotFake- by @kingmakeruix, kingmakeruix, Hiroshi Ogawa, Codex and @hi-ogawa in #11261 (a47d7)deepMergeto handle prototype - by @hi-ogawa, Hiroshi Ogawa and Codex in #11215 (4944c)View changes on GitHub
v5.0.0Compare Source
🚨 Breaking Changes
loupe.inspectwith pretty-format - by @hi-ogawa, Claude Opus 5 (1M context) and OpenAI Codex in #9609 (3f802)test.for/eachtitle$variable (take 2) - by @hi-ogawa in #10170 (04d37)attachmentsDirfrom.vitest-attachements/to.vitest/attachments/- by @MdSadiqMd in #10186 (1ba73)sequentialtest/suite options in favor ofconcurrent- by @hi-ogawa and OpenAI Codex in #10198 (9229f)expectpackage - by @sheremet-va in #10221 (ad162)expect.pollwhen function didn't resolve in time - by @hi-ogawa and OpenAI Codex in #10233 (4df04)toHaveTextContentis strict, addtoMatchTextContentas alternative - by @sheremet-va in #10473 (18f30)@vitest/runnerpackage, do not publish it anymore - by @sheremet-va in #10511 (6d6e4)concurrencyId/workerIdon TestModule's diagnostics, make id 1-based - by @sheremet-va in #10516 (bdd98)screenshotDirectoryconfig tobrowser.expect.toMatchScreenshot- by @macarie in #10592 (a60de)@sinonjs/fake-timersand support mockingTemporal- by @hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in #10654 (f8b15)>as separator in-t, calculateonlyonce - by @sheremet-va in #10686 (a0b20)locators.exactby default - by @sheremet-va in #10430 (e2032)sessionIdfor orchestrator html request - by @hi-ogawa, Hiroshi Ogawa and OpenAI Codex in #10522 (79b7d)attachmentsDir- by @macarie in #10917 (3b5bb)include/excludeglobs too eager - by @AriPerkkio in #9818 (edacb)thresholds.perFileto accept an object - by @vladlenskiy and @AriPerkkio in #10190 (13b78)toThrow("")behavior by reverting #6710 - by @hi-ogawa in #9643 and #6710 (6c3e4)blobreporter and--merge-reportsdefault to.vitest/blob/- by @AriPerkkio in #10232 (d22b0).vitestby default - by @hi-ogawa, Hiroshi Ogawa, OpenCode (gpt-5.6-sol) and @AriPerkkio in #10621 (58577).vitest- by @hi-ogawa and Hiroshi Ogawa in #10620 (29c36)🚀 Features
createReportand.vitestreport directory convention - by @AriPerkkio in #9993 (72a6d)configDefaults.reporters- by @hi-ogawa and Claude Opus 5 (1M context) in #10219 (083f6)logger.formatError- by @hi-ogawa and OpenAI Codex in #10268 (2c5f3)injectCjsGlobalsoption - by @sheremet-va in #10709 (82671)for/eachtitle placeholders - by @k-yle in #10773 (15e0a)ToMatchScreenshotResolvePath- by @macarie and @sheremet-va in #10138 (16654)kindinpage.mark- by @AriPerkkio in #10302 (053e8)context.markfor custom command tracing - by @AriPerkkio in #10329 (aa514)--repeatsCLI option - by @todor-a in #10504 (ee48b)node:child_processandnode:worker_threadscontexts - by @AriPerkkio in #9976 (9baa5)thresholds.autoUpdateto receive previous threshold as argument - by @wouterkroes in #10495 (04f81)@vitest/istanbuljspackages - by @AriPerkkio in #11053 (5f6a5)vi.when()- by @macarie in #10174 (3900e)require(esm)in vm pools - by @sheremet-va in #10829 (01298)🐞 Bug Fixes
sequence.concurrent: truewith top-leveltest(..., { concurrent: false })+ depreactesequentialtest API and options - by @hi-ogawa, OpenAI Codex and @sheremet-va in #10194 (9387f)tagsoptions should overwrite inherited suite options + inherit suite options intaskAPI - by @hi-ogawa and OpenAI Codex in #10216 (457db)attachmentsDirroot only config - by @hi-ogawa and OpenAI Codex in #10334 (fab1b)__esModule- by @hi-ogawa in #10363 (2b135)vi.defineHelpercallsite for async error stack - by @macayu17 and @hi-ogawa in #10415 (ac697)disableConsoleInterceptin browser mode - by @Copilot, Hiroshi Ogawa, @hi-ogawa and OpenAI Codex in #10391 (66110)onUserConsoleLog- by @Copilot, Hiroshi Ogawa, @hi-ogawa and @sheremet-va in #10308 (62756)importOriginalwith optimizer and query import - by @davidxharris, David Harris, @hi-ogawa, Hiroshi Ogawa and OpenAI Codex in #10469 (6a3bb)setImmediateawait in detect-async-leak - by @hi-ogawa and Hiroshi Ogawa in #10608 (dd62b)sequenceconfig - by @hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in #10659 (40cdc)includeTaskLocationis enabled - by @sheremet-va in #10681 (bd9cc)off- by @sheremet-va in #10741 (d758b)ci.yml- by @hirehamir in #10759 (2127f)vitest --typecheckfrom reporting a false success when thetscprocess crashes - by @hitenkalda and Hiten Kalda in #10705 (a1b05)process.exitdisabled in workers - by @sheremet-va in #10963 (5e69a)recordArtifactlocation withvi.defineHelper- by @hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in #11047 (c2186)oxc.targetif user provides a custom array - by @sheremet-va in #11095 (848d7)extends: true- by @sheremet-va in #11120 (584cf)wrapDynamicImporttransform on ssr environment - by @hi-ogawa in #10355 (d3c96)cdpAPI whenallowWrite/allowExec: false- by @hi-ogawa and OpenAI Codex in #10444 (63e3b)connectTimeoutfrom the project config - by @lazerg in #10879 and #10880 (62c79)ui: truein projects - by @AriPerkkio in #10994 (9f710)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.