Skip to content

Bump vitest from 3.2.4 to 4.1.0#340

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/vitest-4.1.0
Open

Bump vitest from 3.2.4 to 4.1.0#340
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/vitest-4.1.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 1, 2026

Bumps vitest from 3.2.4 to 4.1.0.

Release notes

Sourced from vitest's releases.

v4.1.0

Vitest 4.1 is out!

This release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our blog post.

   🚀 Features

... (truncated)

Commits
  • 4150b91 chore: release v4.1.0
  • 1de0aa2 fix: correctly identify concurrent test during static analysis (#9846)
  • c3cac1c fix: use isAgent check, not just TTY, for watch mode (#9841)
  • eab68ba chore(deps): update all non-major dependencies (#9824)
  • 031f02a fix: allow catch/finally for async assertion (#9827)
  • 3e9e096 feat(reporters): add agent reporter to reduce ai agent token usage (#9779)
  • 0c2c013 chore: release v4.1.0-beta.6
  • 8181e06 fix: hideSkippedTests should not hide test.todo (fix #9562) (#9781)
  • a8216b0 fix: manual and redirect mock shouldn't load or transform original module...
  • 689a22a fix(browser): types of getCDPSession and cdp() (#9716)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for vitest since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 3.2.4 to 4.1.0.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 1, 2026
Copy link
Copy Markdown
Owner

yyc1217 commented Jun 2, 2026

Holding this for now — CI failure is a yarn-classic incompatibility, not a vitest 4 code issue

I investigated the failing CI locally. Findings:

Scenario Result
vitest 4 installed with yarn (classic v1) ❌ install fails: could not find a copy of vite to link in node_modules/vitest/node_modules
vitest 4 + @vitest/coverage-v8 also bumped to 4 + yarn ❌ same failure (so it's not just a version mismatch)
vitest 4 installed with npm ✅ installs fine
Unit tests under vitest 4 ✅ 43 passed
Smoke tests under vitest 4 ✅ 19 passed

Root cause: vitest 4 declares vite as a peerDependency, and yarn classic's nested node_modules linking algorithm can't satisfy it, so the install step fails before any test runs. This PR also only bumps vitest and leaves @vitest/coverage-v8 at 3.2.4 (peer mismatch), but fixing that alone doesn't help under yarn. The vitest 4 code itself is fully compatible with this project.

Deferred solution (for when we pick this up)

Upgrade to vitest 4 together with switching the project's package manager from yarn (classic) to npm, in a single PR:

  1. package.json devDeps: vitest@^4 and @vitest/coverage-v8@^4 (must move in lockstep).
  2. Replace yarn.lock with package-lock.json (rm yarn.lock && npm install).
  3. CI (.github/workflows/actions.yml): yarn install --frozen-lockfilenpm ci, yarn run <script>npm run <script>, and cache: yarncache: npm in setup-node.
  4. Scripts referencing yarn internally (e.g. prepublishOnly) → npm run.
  5. While at it, fix a latent peer issue surfaced during testing: @eslint/js@^10 requires eslint@10 but the project pins eslint@9 — drop @eslint/js to ^9 so npm's stricter resolver is happy.

Verified locally that after switching to npm, both vitest run (43 tests) and the smoke suite (19 tests) pass under vitest 4.

Alternatively, staying on yarn classic means staying on vitest 3 (still supported, no urgency).


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant