Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

vp treats a nested project as part of the parent's pnpm workspace, ignoring its own packageManager and lockfile

Abierto
#3,013 2 comentarios 0 reacciones 2 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@wan9chi ya está trabajando en esto.

Desde el 14/10/2026.

  • #3051 de @liangmiQwQ — abierto

Evaluación

Este issue todavía no se ha evaluado.

Descripción

bug enhancement
Describe the bug

In a repo whose root is a pnpm project with a settings-only pnpm-workspace.yaml (no packages, used for overrides / allowBuilds), vp treats every nested project as part of that workspace, even when the nested folder isn't listed under packages and has its own packageManager pin and lockfile.

Inside the nested npm project svc/:

  • vpr hello runs the root's hello script instead of svc's.
  • vp install --frozen-lockfile runs pnpm, which refuses with This project is configured to use npm. Without a packageManager field in svc/ it fails with Headless installation requires a pnpm-lock.yaml file instead.
  • vp env current inside svc/ reports pnpm 12.11.2 with source packageManager, the root's pin, not svc's [email protected].

I expected vp to treat svc/ as its own npm project, as it does when the root has no pnpm-workspace.yaml. pnpm 11+ only reads settings like overrides from pnpm-workspace.yaml, so a pnpm root can't avoid having one.

We hit this when switching a repo root to pnpm: about 20 Cloud Run services below it stay on npm or bun, and vp stopped working in all of them.

Workaround: a comment-only pnpm-workspace.yaml plus the packageManager pin in each nested project makes vp treat it as its own project again.

Reproduction

https://github.com/Goobles/vp-nested-workspace-repro

Steps to reproduce
git clone https://github.com/Goobles/vp-nested-workspace-repro
cd vp-nested-workspace-repro
./repro.sh

repro.sh runs vpr hello and vp install --frozen-lockfile in svc/, first with the root pnpm-workspace.yaml (bug), then with it moved away (expected behaviour).

System Info
# vp env current (run inside svc/)
Node.js:
  Version    24.19.0
  Source     default
  Bin Path   /home/agent/.vite-plus/js_runtime/node/24.19.0/bin/node
  Installed  true
  Mode       managed

Package Manager:
  Name       pnpm
  Version    12.11.2
  Source     packageManager
  Bin Paths
    pnpm     /home/agent/.vite-plus/package_manager/pnpm/12.11.2/pnpm/bin/pnpm
    pnpx     /home/agent/.vite-plus/package_manager/pnpm/12.11.2/pnpm/bin/pnpx
  Installed  true
  Mode       system_first

# vp --version
vp v1.1.0

# Linux x86_64
Used Package Manager

npm (nested project), pnpm (repo root)

Logs
### 1. Parent has pnpm-workspace.yaml (bug)
$ vpr hello
$ echo hello from ROOT ⊘ cache disabled
hello from ROOT

$ vp install --frozen-lockfile
  × This project is configured to use npm
  help: Run a one-off command with "pnpm dlx npm <command>", or link a npm
        command that follows this project's pin with "pnpm shim add npm".

### 2. Parent pnpm-workspace.yaml removed (expected behaviour)
$ vpr hello
$ echo hello from SVC ⊘ cache disabled
hello from SVC

$ vp install --frozen-lockfile
added 1 package, and audited 2 packages in 390ms
found 0 vulnerabilities
Validations

Written by claude-opus-5-5 via Claude Code in T3 Code on goobles-agentbox.

Lenguaje dominante
Rust
Estrellas
6k
Forks
274
Merge medio
1 d 11 h
PR fusionados (30 d)
206

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de voidzero-dev/vite-plus

Todos los issues de voidzero-dev/vite-plus

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.