feat(deps): update vitest monorepo (4.1.11 → 5.0.0) - #929
Conversation
Superseded by a newer automated review for this pull request.
Superseded by a newer automated review for this pull request.
650f871 to
bfc2065
Compare
Superseded by a newer automated review for this pull request.
Superseded by a newer automated review for this pull request.
There was a problem hiding this comment.
AI Automated Review
Full PR review.
Analysis engine: MiniMax-M2.7@https://litellm.jory.dev/v1 (anthropic) — primary route
Review: Update vitest monorepo 4.1.11 → 5.0.0 (PR PR 929)
Summary
This PR upgrades the vitest testing framework from version 4.x to 5.0.0, including @vitest/coverage-v8. The upgrade is a major version bump with several breaking changes documented in the vitest v5.0.0 release notes.
Change Overview
package.json: Updatedvitest: ^4.1.8→^5.0.0and@vitest/coverage-v8: ^4.1.8→^5.0.0package-lock.json: Full lockfile regeneration with new dependency tree structure
Breaking Changes Verified
The vitest v5.0.0 release introduces several breaking changes:
| Breaking Change | Impact on This Repo |
|---|---|
sequential option removed → use concurrent |
Dev-only test config; all CI checks passed |
attachmentsDir default changed to .vitest/attachments/ |
Dev-only; no production impact |
locator representation changed to object |
Test framework internals; CI passed |
expect package inlined |
Test framework internals; CI passed |
loupe.inspect replaced with pretty-format |
Test framework internals; CI passed |
No API-level breaking changes affect application code. All changes are within the test runner's internal behavior.
Node.js Version Compatibility
The vitest v5.0.0 peer dependency requires node: ^22.12.0 || ^24.0.0 || >=26.0.0. The repository's package.json specifies engines: { "node": ">=24" }, which satisfies this requirement. No Node.js version change is needed.
Required Checks — Status
✅ check for breaking API changes in updated dependencies
Verified by reviewing the vitest v5.0.0 release notes from the PR body. Breaking changes are confined to test runner configuration options (sequential → concurrent), attachment directory defaults, and internal framework representation changes. The test suite ran and passed, confirming no test code breakage. No application source code is impacted by these changes.
✅ run full test suite after upgrade
CI check "Tests" returned success. All other checks also passed (Coverage, Build, Lint, Typecheck, Database integration, Docker builds, npm audit, smoke tests). The full test suite executed successfully against the upgraded dependencies.
Standards Compliance
This is a devDependency-only upgrade. No production code changes. The change follows standard practice for updating test tooling. Repository conventions in AGENTS.md are not applicable to this dependency upgrade.
Tool Harness Findings
None — the native tool-calling loop did not issue any tool calls; all review performed from corpus directly.
Unknowns / Needs Verification
None identified. All checks are satisfied by the provided corpus.
Recommendation
Approve. This is a routine major-version upgrade of dev-only testing dependencies. CI has confirmed the upgrade works correctly with no breaking impacts to application code or tests.
59f0e74 to
321f8b1
Compare
This PR contains the following updates:
^4.1.8→^5.0.0^4.1.8→^5.0.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
vitest-dev/vitest (@vitest/coverage-v8)
v5.0.0Compare Source
Vitest 5 is officially out! This release focuses on performance and brings a lot of new features while fixing long-standing bugs. See our blog post for the official announcement.
🚨 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)fsModuleCacheresiliency during external modifications - by @jszumski in #10869 (5eb35)FORCE_COLORover agent detection - by @dokson in #10272 (7e66b)CTRL+ceven whenglobalSetupruns blocked code - by @AriPerkkio in #10863 (d568f)excludeto not inherit negation globs fromtest.include- by @AriPerkkio in #10299 (28685)coverage.reportsDirectoryconflicts between concurrent runs - by @jgamaraalv and @AriPerkkio in #10466 (833f0)/@fs/prepended virtual files - by @AriPerkkio in #11119 (c4473)toNotFake- by @BPScott, @hi-ogawa and OpenAI Codex in #10043 (bbf2f)Configuration
📅 Schedule: (in timezone America/Edmonton)
🚦 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 has been generated by Mend Renovate CLI.