Skip to content

chore: bump vitest from 4.1.11 to 5.0.3 - #76

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/vitest-5.0.3
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/vitest-5.0.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 5, 2026

Copy link
Copy Markdown
Contributor

Bumps vitest from 4.1.11 to 5.0.3.

Release notes

Sourced from vitest's releases.

v5.0.3

   🐞 Bug Fixes

    View changes on GitHub

v5.0.2

   🐞 Bug Fixes

... (truncated)

Commits

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)

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.1.11 to 5.0.3.
- [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/v5.0.3/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 5.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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 Oct 5, 2026
@claude

claude Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Claude finished @dependabot[bot]'s task in 2m 46s —— View job


Dependency review: vitest 4.1.11 → 5.0.3

  • Gather context (diff, config, Node floor)
  • Check vitest 5 breaking changes vs. this repo's usage
  • Verify Node engine compatibility (engines.node, CI matrix)
  • Verify the suite passes (via CI — local install was blocked)
  • Post review

Verdict: safe to merge. Major bump, but dev-only, no config to migrate, and CI is green on both Node 22 and 24. One observation worth a follow-up, left inline on package.json.

What changed

A major bump of a devDependency. vitest is not in dependencies and files: ["dist"] excludes everything but build output, so the published package and its consumers are untouched.

The lockfile churn (+209/−280) is almost entirely vitest consolidating its own internals: @vitest/expect, @vitest/runner, @vitest/snapshot, @vitest/utils, @vitest/pretty-format, plus pathe, tinyrainbow, stackback, siginfo all drop out of the tree. Nothing in this repo imports any of them — the only vitest import anywhere is from "vitest" in test/.

vite went from 8.2.2 → 8.3.2, not a new major: vitest 4.1.11 already resolved vite 8.

Risks checked

1. Node floor — the one thing worth noting. vitest 5 requires ^22.12.0 || ^24.0.0 || >=26.0.0; the repo declares >=22. Node 22.0–22.11 now falls outside what vitest accepts, and Node 23/25 are excluded outright where vitest 4 allowed them (it inherited vite's looser ^20.19.0 || >=22.12.0). CI's ['22', '24'] resolves to latest minors, so it's unaffected. Details and my recommendation (don't touch engines.node; a CONTRIBUTING.md note is the cheaper fix) are in the inline comment.

2. vite moved from dependency to required peer. In 4.1.11 vitest depended on vite directly. In 5.0.3 it's peerDependencies.vite: "^6.4.0 || ^7.0.0 || ^8.0.0" with "optional": false. npm auto-installs peers and the lockfile pins vite 8.3.2 with "peer": true, so npm ci works — this only becomes a problem if the project ever moves to pnpm with strict peers, where vite would need an explicit devDependencies entry.

3. No config to migrate. There is no vitest.config.* or vite.config.* in the repo (git ls-files confirms), so the suite runs on defaults and no renamed or removed options apply. The scripts are plain vitest run / vitest.

4. Test APIs in use are all stable in v5. Across test/: vi.fn (28×), vi.spyOn, vi.stubGlobal, mockReset, it.each, expect.anything / objectContaining / stringContaining, toMatchObject. None were removed or renamed.

One thing to be aware of rather than act on: v5.0.2 changed how toMatchObject handles asymmetric matchers (vitest-dev/vitest#11100). test/client/kosli-client.test.ts:138 is exactly that shape —

expect(result).toMatchObject({ error: true, message: expect.stringContaining("Missing required path parameter: org") });

— and it still passes, so this is informational. It's a load-bearing assertion for the no-configured-org invariant in CLAUDE.md, so it's the first place to look if a future vitest patch shifts matcher semantics again.

5. chai 6 under the hood. vitest 5 swaps its assertion engine to chai ^6. No file imports chai directly and the suite uses only the Jest-compatible expect, so there's no exposure to chai's own breaking changes.

Verification

CI run 37269184701 is green on both matrix legs — test (node 22) and test (node 24), no failed steps. That covers build, the full suite, and the .mcpb smoke test.

I could not run npm ci / npm test in this job — the sandbox declined the install — so the pass is CI's, not a local reproduction. Given CI exercises the same lockfile on both supported Node majors, I don't think a local run would add anything.

Suggested follow-up

Optional, not blocking: add a development-requires-Node-≥22.12 line to CONTRIBUTING.md, since engines.node: ">=22" no longer tells a contributor what they need to run the tests. Fix this →

--- · branch dependabot/npm_and_yarn/vitest-5.0.3

Comment thread package.json
"tsx": "^4.19.0",
"typescript": "^5.7.0",
"vitest": "^4.1.10"
"vitest": "^5.0.3"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

vitest 5 declares engines.node: "^22.12.0 || ^24.0.0 || >=26.0.0", while this repo declares >=22. Two consequences, both dev-only:

  • Node 22.0–22.11 satisfies the repo's floor but not vitest's → npm ci/npm test will warn EBADENGINE and may not run for a contributor on an early 22.x.
  • vitest 5 also excludes Node 23 and 25. vitest 4 pulled vite in directly, inheriting ^20.19.0 || >=22.12.0, which allowed the odd-numbered lines.

CI is unaffected — node-version: ['22', '24'] resolves to the latest minor. And engines.node in package.json describes the published runtime, which vitest (a devDependency, excluded by files: ["dist"]) doesn't constrain, so per CLAUDE.md's "raising the Node floor moves six things together" rule I would not change it here. If anything, a line in CONTRIBUTING.md noting that development needs ≥22.12 is the cheaper fix.

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.

0 participants