Skip to content

Vite+ shows mixed version warnings and unmet peer dependencies for vitest/vite plugins #1101

Closed as duplicate

Description

@fvanwijk

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:

  1. Mixed version warnings from Vitest UI and Coverage plugins
  2. 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.13 bundles Vitest 4.1.0
  • @voidzero-dev/vite-plus-core@0.1.13 bundles 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

  1. 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
  2. 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

  1. Short-term: Document this as expected behavior in Vite+ testing guides
  2. Medium-term: Add an override mechanism or flag in Vite+ to suppress these warnings
  3. 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.4

Used Package Manager

pnpm

Logs

Validations

Activity

  1. added theissue type on Mar 22, 2026
  2. fengmk2 commented on Mar 23, 2026

    @fengmk2
    Member

    #1021 (comment) Refer to this issue reply, add the allowAny rule.

  3. fvanwijk commented on Mar 23, 2026

    @fvanwijk
    Author

    Thanks. Somehow this issue didn't show up when I searched.
    allowAny suppresses the pnpm warnings and I'm looking forward to the fix in Vite+.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Target date

    None yet

    Start date

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions