Skip to content

chore(deps): update vitest monorepo to v4 - #1396

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-vitest-monorepo
Closed

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-vitest-monorepo

Conversation

@renovate

@renovate renovate Bot commented Jun 15, 2026 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
vitest (source) ^2.1.9 → ^4.0.0 age confidence

Release Notes

vitest-dev/vitest (vitest)

v4.1.9

Compare Source

🐞 Bug Fixes
  • Fix importOriginal with optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #​10546 (a5180)
  • browser:
    • Wait for orchestrator readiness before resolving browser sessions [backport to v4] - by Vladimir and Séamus O'Connor in #​10555 (7fb29)
    • Wait for iframe tester readiness before preparing [backport to v4] - by Vladimir and Séamus O'Connor in #​10497 and #​10556 (fbc62)
  • mocker:
    • Hoist vi.mock() for vite-plus/test imports [backport to v4] - by Hiroshi Ogawa, LongYinan, Claude Opus 4.8 and Vladimir in #​10548 (2c955)
  • pool:
    • Prevent test run hang on worker crash [backport to v4] - by Ari Perkkiö and Jattioui Ismail in #​10543 and #​10564 (934b0)
View changes on GitHub

v4.1.8

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.1.7

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.1.6

Compare Source

   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.1.5

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.4

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.3

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.2

Compare Source

This release bumps Vitest's flatted version and removes version pinning to resolve flatted's CVE related issues (#​9975).

   🐞 Bug Fixes
    View changes on GitHub

v4.1.1

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.0

Compare Source

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
   🐞 Bug Fixes

✂ Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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 this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@netlify

netlify Bot commented Jun 15, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for stranske-trip-planner failed.

Name Link
🔨 Latest commit c3a59ce
🔍 Latest deploy log https://app.netlify.com/projects/stranske-trip-planner/deploys/6a32025c9a0f5700088e8804

@renovate
renovate Bot had a problem deploying to agent-standard June 15, 2026 11:52 Failure
@coderabbitai

coderabbitai Bot commented Jun 15, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The vitest devDependency in frontend/package.json is updated from ^2.1.9 to ^4.0.0. No other files, scripts, or dependencies are modified.

Changes

vitest Version Upgrade

Layer / File(s) Summary
vitest devDependency version bump
frontend/package.json
vitest version constraint updated from ^2.1.9 to ^4.0.0 in devDependencies.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: updating the vitest dependency to v4, which is the sole modification in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/major-vitest-monorepo

Comment @coderabbitai help to get the list of available commands and usage tips.

@renovate
renovate Bot force-pushed the renovate/major-vitest-monorepo branch from 81d3d36 to 1a8b8e8 Compare June 17, 2026 01:26

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/package.json`:
- Line 29: The vitest dependency version ^4.0.0 is incompatible with the pinned
vite version 5.4.19 because Vitest v4 requires Vite >= 6 and Node.js >= 20.
Either downgrade vitest to a v3.x version that is compatible with Vite 5.4.19,
or upgrade vite to version 6 or higher along with updating Node.js requirements.
Given the constraints, downgrading vitest to the latest v3.x version is the
recommended approach to maintain compatibility with the current frontend
toolchain.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 2fc8e277-43f8-4ad5-94cc-8f741afd5dda

📥 Commits

Reviewing files that changed from the base of the PR and between d677c59 and 1a8b8e8.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • frontend/package.json
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • stranske/Workflows (auto-detected)
📜 Review details
🧰 Additional context used
🪛 GitHub Actions: Cross-Repo Smoke / 0_cross-repo-full-product.txt
frontend/package.json

[error] 1-1: Command failed: npm --prefix frontend ci (process completed with exit code 1).

@renovate
renovate Bot force-pushed the renovate/major-vitest-monorepo branch from 1a8b8e8 to c3a59ce Compare June 17, 2026 02:11

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/package.json`:
- Line 29: The vite dependency in frontend package.json is specified as ^5.4.19,
but Vitest 4 (which is being upgraded to ^4.0.0) requires Vite >=6.4.0 for
compatibility. Update the vite version constraint in the dependencies section of
frontend package.json from ^5.4.19 to ^6.4.0 to ensure Vitest 4 works correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 9a94c91a-3514-4ab6-9d7b-9a0549c274e4

📥 Commits

Reviewing files that changed from the base of the PR and between 1a8b8e8 and c3a59ce.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • frontend/package.json
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • stranske/Workflows (auto-detected)
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Cross-Repo Smoke / cross-repo-full-product
  • GitHub Check: cross-repo-full-product
🔇 Additional comments (1)
frontend/package.json (1)

25-25: @vitejs/plugin-react 4.7.0 already supports Vite 6 and does not require upgrading.

The current @vitejs/plugin-react@^4.7.0 declares Vite 6 compatibility in its peer dependencies (vite: '^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0'), so no version bump is needed for this package when upgrading Vite.

			> Likely an incorrect or invalid review comment.

Comment thread frontend/package.json
"typescript": "^5.9.3",
"vite": "^5.4.19",
"vitest": "^2.1.9"
"vitest": "^4.0.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for vitest configuration files and check Node.js version constraints
echo "=== Vitest configuration files ==="
fd -t f 'vitest.config' frontend/

echo -e "\n=== Node.js version constraints ==="
cat .nvmrc 2>/dev/null || echo "No .nvmrc found"
cat .node-version 2>/dev/null || echo "No .node-version found"

# Check package.json engines field in both root and frontend
echo -e "\n=== Root package.json engines ==="
jq -r '.engines // "No engines field"' package.json 2>/dev/null || echo "No root package.json"

echo -e "\n=== Frontend package.json engines ==="
jq -r '.engines // "No engines field"' frontend/package.json

Repository: stranske/trip-planner

Length of output: 288


🏁 Script executed:

#!/bin/bash
# More thorough search for vitest config and test setup

echo "=== Vitest config files (all locations) ==="
fd -t f 'vitest\.config' . 2>/dev/null || echo "None found"

echo -e "\n=== Package.json structure (frontend) ==="
cat frontend/package.json | head -50

echo -e "\n=== Test files in frontend ==="
fd -t f '\.(test|spec)\.(ts|tsx|js|jsx)$' frontend/ 2>/dev/null | head -20

echo -e "\n=== Node.js version in use ==="
node --version 2>/dev/null || echo "Node not available in sandbox"

Repository: stranske/trip-planner

Length of output: 1881


🌐 Web query:

Vitest 4 breaking changes Node.js requirements deprecated APIs

💡 Result:

As of June 17, 2026, the current stable version of Vitest is 4.1.9 [1][2][3]. Major changes introduced in the Vitest 4 release cycle, particularly regarding Node.js requirements and API deprecations, are detailed below. Node.js and Vite Requirements Vitest 4 introduced updated environment requirements. While Vitest 4.0 initially required Node.js 20.0.0 or higher and Vite 6.0.0 or higher [4], subsequent updates have raised these requirements. As of mid-2026, Vitest now requires Node.js 22.0.0 and Vite 6.4.0 or higher [5]. Using older versions is not supported and may lead to unexpected errors [4]. Deprecated and Removed APIs Vitest 4 marked a significant cleanup of deprecated features. Key removals and changes include: Entrypoints and Modules - Several legacy entrypoints have been removed or redirected: - vitest/reporters: Use vitest/node instead [4]. - vitest/environments and vitest/snapshot: Use vitest/runtime instead [4]. - vitest/runners: Use TestRunner from vitest instead [4]. - vitest/mocker: Removed in favor of using the @vitest/mocker package directly [4]. - Node types are no longer exported from the main entry point; use vitest/node instead [4][6][7]. Configuration Options - Deprecated config options removed include: - poolMatchGlobs and environmentMatchGlobs: Use projects instead [4][7]. - deps.external, deps.inline, and deps.fallbackCJS: Use server.deps.external, server.deps.inline, or server.deps.fallbackCJS instead [4]. - minWorkers: Removed; only maxWorkers now affects test execution [4]. - workspace: Use projects instead [7]. Testing and Reporting APIs - The third argument (options object) for test and describe blocks is no longer supported; options must be passed as the second argument [4]. - The basic reporter was removed; the default reporter with summary: false should be used instead [8][7]. - Browser mode requirements changed: A provider factory must be used instead of a string, and custom provider packages (e.g., @vitest/browser-playwright) are now required [8][7]. For a complete list of breaking changes, users are advised to consult the official Vitest migration guide [4][8].

Citations:


🏁 Script executed:

#!/bin/bash
# Check for deprecated Vitest imports and API patterns

echo "=== Checking for deprecated Vitest imports ==="
rg 'from ["\']vitest/(reporters|environments|snapshot|runners|mocker)["\']' frontend/src/ || echo "No deprecated imports found"

echo -e "\n=== Checking for `@vitest/mocker` usage ==="
rg '`@vitest/mocker`' frontend/ || echo "Not found"

echo -e "\n=== Sample test file to check API patterns ==="
head -30 frontend/src/api/health.test.ts

echo -e "\n=== Checking describe/test with 3-arg pattern ==="
rg 'describe\([^,]+,[^,]+,[^)]+\)|test\([^,]+,[^,]+,[^)]+\)' frontend/src/ || echo "No 3-arg patterns found"

echo -e "\n=== Checking for Node types import ==="
rg 'import.*from ["\']vitest/node["\']' frontend/src/ || echo "Not explicitly imported"

echo -e "\n=== Vite version in frontend ==="
jq '.devDependencies.vite' frontend/package.json

Repository: stranske/trip-planner

Length of output: 345


🏁 Script executed:

#!/bin/bash
# Check for deprecated Vitest imports and API patterns

echo "=== Checking for deprecated Vitest imports ==="
rg "vitest/(reporters|environments|snapshot|runners|mocker)" frontend/src/ || echo "No deprecated imports found"

echo -e "\n=== Checking for `@vitest/mocker` usage ==="
rg "`@vitest/mocker`" frontend/ || echo "Not found"

echo -e "\n=== Sample test file to check API patterns ==="
head -30 frontend/src/api/health.test.ts

echo -e "\n=== Checking test/describe callback arguments ==="
rg "test\(.*,.*,.*\)" frontend/src/ | head -10 || echo "No matches"
rg "describe\(.*,.*,.*\)" frontend/src/ | head -10 || echo "No matches"

echo -e "\n=== Vite version requirement ==="
jq '.devDependencies.vite' frontend/package.json

echo -e "\n=== Check if vitest.config exists at root ==="
ls -la vitest.config.* 2>/dev/null || echo "No vitest.config at root"

Repository: stranske/trip-planner

Length of output: 1447


🌐 Web query:

Vitest 4 Vite version requirement 6.4.0 compatibility

💡 Result:

Vitest 4 requires a minimum of Vite 6.4.0 [1][2]. While early versions of Vitest 4 initially stated a requirement of Vite >= 6.0.0 [3][4], subsequent updates to the Vitest codebase increased this requirement to Node.js 22 and Vite 6.4 [1][2]. It is recommended to ensure your environment meets these updated version prerequisites to avoid unexpected errors or compatibility issues [3].

Citations:


Update Vite to ^6.4.0 for Vitest 4 compatibility.

Vitest 4 requires Vite >=6.4.0, but the project currently specifies vite: ^5.4.19. This version constraint will prevent Vitest 4 from working correctly. Update the frontend package.json to use Vite 6.4.0 or higher (e.g., ^6.4.0).

Additionally, Vitest 4 requires Node.js >=22.0.0 (not >=20 as often cited). The current environment meets this requirement. Test files do not use deprecated APIs, and no configuration migration is needed since the project does not maintain a vitest.config file.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/package.json` at line 29, The vite dependency in frontend
package.json is specified as ^5.4.19, but Vitest 4 (which is being upgraded to
^4.0.0) requires Vite >=6.4.0 for compatibility. Update the vite version
constraint in the dependencies section of frontend package.json from ^5.4.19 to
^6.4.0 to ensure Vitest 4 works correctly.

@stranske

Copy link
Copy Markdown
Owner

Closed as superseded by #1395, which merged the coupled Vite 8 / @vitejs/plugin-react 6 / Vitest 4 update together with the regenerated lockfile and TypeScript/Vitest config compatibility fixes.

@stranske stranske closed this Jun 17, 2026
@renovate
renovate Bot deleted the renovate/major-vitest-monorepo branch June 17, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant