Repository navigation
Description
Describe the bug
Description
When running Vite+ projects with @vitest/ui and @vitest/coverage-v8 installed, both vite and vitest are aliased to Vite+-provided packages (@voidzero-dev/vite-plus-core and @voidzero-dev/vite-plus-test), causing:
- Mixed version warnings from Vitest UI and Coverage plugins
- Unmet peer dependency warnings from pnpm (and likely other package managers)
Current Behavior
Mixed Version Warnings
Running vp test run --coverage or vp test watch with UI enabled shows:
Loaded vitest@0.1.13 and @vitest/ui@4.1.0 .
Running mixed versions is not supported and may lead into bugs
Update your dependencies and make sure the versions match.
Loaded vitest@0.1.13 and @vitest/coverage-v8@4.1.0 .
Running mixed versions is not supported and may lead into bugs
Update your dependencies and make sure the versions match.
Unmet Peer Dependency Warnings
Running pnpm install shows:
WARN Issues with peer dependencies found
.
├─┬ @vitest/ui 4.1.0
│ └── ✕ unmet peer vitest@4.1.0: found 0.1.13
├─┬ @vitest/coverage-v8 4.1.0
│ └── ✕ unmet peer vitest@4.1.0: found 0.1.13
├─┬ @voidzero-dev/vite-plus-test 0.1.13
│ └── ✕ unmet peer vite@"^6.0.0 || ^7.0.0 || ^8.0.0-0": found 0.1.13
├─┬ @vitejs/plugin-react 6.0.1
│ └── ✕ unmet peer vite@^8.0.0: found 0.1.13
├─┬ vite-plugin-pwa 1.2.0
│ └── ✕ unmet peer vite@"^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0": found 0.1.13
├─┬ @tailwindcss/vite 4.2.2
│ └── ✕ unmet peer vite@"^5.2.0 || ^6 || ^7 || ^8": found 0.1.13
└─┬ react-popper 2.3.0
├── ✕ unmet peer react@"^16.8.0 || ^17 || ^18": found 19.2.4
└── ✕ unmet peer react-dom@"^16.8.0 || ^17 || ^18": found 19.2.4
Why It Happens
In package.json, Vite+ projects alias the build tools:
{
"devDependencies": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "npm:@voidzero-dev/vite-plus-test@latest",
"@vitest/ui": "4.1.0",
"@vitest/coverage-v8": "4.1.0"
},
"pnpm": {
"overrides": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "npm:@voidzero-dev/vite-plus-test@latest"
}
}
}The Vite+ packages are version 0.1.13 but internally bundle:
@voidzero-dev/vite-plus-test@0.1.13bundles Vitest 4.1.0@voidzero-dev/vite-plus-core@0.1.13bundles Vite 8.0+
When external plugins like @vitest/ui@4.1.0 and @vitest/coverage-v8@4.1.0 load, they check version compatibility and see vitest@0.1.13 (the alias) rather than the actual bundled version.
Expected Behavior
- No mixed version warnings: Since the versions are actually compatible (the plugin version matches the bundled version), suppress or avoid this warning for Vite+ setups
- Clean peer dependency resolution: Either:
- Update peer dependency ranges to accept Vite+ aliases
- Update Vite+ peer dependency declarations to cover bundled versions
- Document this as expected behavior in Vite+ setup guides
Actual Impact
- ✅ Tests run successfully
- ✅ Coverage reports generate correctly
- ✅ UI works properly
⚠️ Console output is noisy with false-positive warnings
This is purely a cosmetic issue—functionality is unaffected.
Environment
- Vite+: 0.1.13
- Node: 24.14.0
- Package manager: pnpm 10.32.1
- React: 19.2.4
- TypeScript: 5.9.3
Suggested Solution
- Short-term: Document this as expected behavior in Vite+ testing guides
- Medium-term: Add an override mechanism or flag in Vite+ to suppress these warnings
- Long-term: Explore whether Vite+ can declare peer dependencies in a way that satisfies package managers
Reproduction
https://github.com/fvanwijk/vite-plus-vitest-warnings
Steps to reproduce
No response
System Info
Environment:
Version 24.14.0
Source lts
Tool Paths:
node /Users/<USER>/.vite-plus/js_runtime/node/24.14.0/bin/node
npm /Users/<USER>/.vite-plus/js_runtime/node/24.14.0/bin/npm
npx /Users/<USER>/.vite-plus/js_runtime/node/24.14.0/bin/npx
vp v0.1.11
Local vite-plus:
vite-plus v0.1.13
Tools:
vite v8.0.1
rolldown v1.0.0-rc.10
vitest v4.1.0
oxfmt v0.41.0
oxlint v1.56.0
oxlint-tsgolint v0.17.1
tsdown v0.21.4Used Package Manager
pnpm
Logs
Validations
- Read the Contributing Guidelines.
- Check that there isn't already an issue for the same bug.
- Confirm this is a Vite+ issue and not an upstream issue (Vite, Vitest, tsdown, Rolldown, or Oxc).
- The provided reproduction is a minimal reproducible example.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Effort
Target date
Start date
Activity
fengmk2 commentedon Mar 23, 2026
#1021 (comment) Refer to this issue reply, add the
allowAnyrule.vp updatewarns about issues withvitepeer dependency #1021fvanwijk commentedon Mar 23, 2026
Thanks. Somehow this issue didn't show up when I searched.
allowAnysuppresses the pnpm warnings and I'm looking forward to the fix in Vite+.