Support strict pnpm peer validation with the required Vite core alias
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, node.js, vite
- Área
- build-system, tooling
Línea de trabajo
Start with the reproduced package.json and pnpm-workspace.yaml, then inspect the shipped rewritePnpmWorkspaceYaml and pnpmPeerDependencyRulesSatisfyVitePlus references in dist/editor-DMBczTdj.js. Compare the documented alias and Vitest alignment with pnpm's strict peer validation. Done means bundled Vite 8 consumers pass, Vite 7-only consumers remain rejected, and the required alias and aligned Vitest runtime are preserved or the limitation is documented.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This issue was opened by an AI agent on behalf of @chenxin-yan.
Description
Following up on #1021: could Vite+ support pnpm's strict peer validation without blanket peerDependencyRules.allowAny / allowedVersions: '*' exceptions?
I understand the workaround in #1021 is intentional. This request is specifically about retaining compatibility checks, not just hiding the warning: we want compatible Vite consumers to install while a genuinely incompatible Vite plugin still fails validation.
The required alias exposes @voidzero-dev/vite-plus-core@1.0.0-rc.0 as vite. Its published manifest declares bundled Vite 8.3.0, but pnpm compares the wrapper's 1.0.0-rc.0 version with consumers' Vite peer ranges. This also occurs with the bundled/aligned Vitest, without a framework or application.
This is a packaging/integration support request, not evidence of a Vite/Vitest runtime incompatibility or a demonstrated pnpm regression.
Reproduction
Tested on Linux x86_64 (NixOS), Nix-provided Node 24.20.0 LTS and pnpm 12.3.4, project-local Vite+ 1.0.0-rc.0, matching core 1.0.0-rc.0, and Vitest 5.0.1. No global Vite+ manager, dependency patches, peer-rule exceptions or application code.
In a fresh empty directory:
package.json:
{
"name": "vite-plus-strict-peers-repro",
"private": true,
"type": "module",
"packageManager": "pnpm@12.3.4",
"devDependencies": {
"vite-plus": "1.0.0-rc.0",
"vite": "npm:@voidzero-dev/vite-plus-core@1.0.0-rc.0",
"vitest": "5.0.1"
}
}
pnpm-workspace.yaml:
strictPeerDependencies: true
overrides:
'vite@*': npm:@voidzero-dev/vite-plus-core@1.0.0-rc.0
'vitest@*': 5.0.1
Run:
pnpm install --ignore-scripts
pnpm peers check
Both commands exit 1. Installation reports:
[ERR_PNPM_PEER_DEP_ISSUES] Unmet peer dependencies
✕ unmet peer vite
Installed: 1.0.0-rc.0
Wanted:
"^6.0.0 || ^7.0.0 || ^8.0.0":
@vitest/mocker@5.0.1
"^6.4.0 || ^7.0.0 || ^8.0.0":
vitest@5.0.1
Lifecycle scripts were disabled to keep this metadata-only reproduction bounded; no application build or runtime assertion is involved.
Suggested solution
An officially maintained integration that preserves validation against the supported bundled Vite version, rather than requiring broad peer-check suppression. I am not prescribing a particular implementation; this may require packaging changes or coordination with pnpm.
Useful acceptance cases would be:
- Compatible consumers of bundled Vite 8 install with strict peer checks enabled.
- A consumer requiring only Vite 7 remains rejected.
- The documented core alias and a single aligned Vitest runtime are preserved.
If there is already a supported strict-validation configuration, please point me to it. Otherwise, please document the limitation and required suppression explicitly in the manual-installation instructions.
Alternatives considered
- The
allowAnyworkaround in #1021 addresses the warning but loses the compatibility check this request is about. - Narrow local peer exceptions or a
.pnpmfilemanifest rewrite would move ongoing compatibility policy into each consumer; we would prefer an upstream-supported solution. - Installing ordinary Vite independently to satisfy the peers would defeat the documented core-alignment requirement.
Additional context
- Manual installation and alias/Vitest alignment
- Documented pnpm
@*override keys - Published core manifest, including
bundledVersions - Shipped migration source:
rewritePnpmWorkspaceYamladds managed keys to bothallowAnyandallowedVersions: '*';pnpmPeerDependencyRulesSatisfyVitePlusrequires those settings. Thus running the migrator does not preserve the requested validation.
Validations
- Read the contributing guidelines.
- This request concerns Vite+'s packaging/integration policy, not an underlying compiler/runtime failure.
- Checked for an existing request; #1021 is related and closed with the workaround, while this follow-up requests preservation of strict validation.
- Lenguaje dominante
- Rust
- Estrellas
- 5.8k
- Forks
- 263
- Merge medio
- 22 h 48 min
- PR fusionados (30 d)
- 145
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidzero-dev/vite-plus
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
voidzero-dev/vite-plus#2804 · 1 reacción ·
-
pending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
voidzero-dev/vite-plus#2801 · 1 reacción ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
voidzero-dev/vite-plus#2097 · 10 comentarios · 2 reacciones ·
-
pending triage
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
voidzero-dev/vite-plus#2811 ·
-
documentation
voidzero-dev/vite-plus#2800 · 1 asignado ·
Todos los issues de voidzero-dev/vite-plus
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
bug core
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Abiertofuzz
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ClickHouse/ClickHouse#122114 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
linebender/vello_svg#90 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100