vp treats a nested project as part of the parent's pnpm workspace, ignoring its own packageManager and lockfile
Maintainers usually reply within 1 day
Assessment
This issue has not been assessed yet.
Description
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 helloruns the root'shelloscript instead of svc's.vp install --frozen-lockfileruns pnpm, which refuses withThis project is configured to use npm. Without apackageManagerfield insvc/it fails withHeadless installation requires a pnpm-lock.yaml fileinstead.vp env currentinsidesvc/reports pnpm 12.11.2 with sourcepackageManager, 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
- 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.
Written by claude-opus-5-5 via Claude Code in T3 Code on goobles-agentbox.
- Dominant language
- Rust
- Stars
- 6k
- Forks
- 274
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 203
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from voidzero-dev/vite-plus
-
`npx --package=vite-plus vp create` fails with exit 127 when npm is the chosen package managerPossibly taken @Crimson341 claimed this 2 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
voidzero-dev/vite-plus#2970 ·
Maintainers usually reply within 1 day
-
pending triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
voidzero-dev/vite-plus#2882 · 2 comments ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
voidzero-dev/vite-plus#2097 · 10 comments · 2 reactions ·
Maintainers usually reply within 1 day
-
Support npm dist-tags in `vp env pin` (e.g. `pnpm@latest-10`)Possibly taken @liangmiQwQ claimed this today. Openenhancement
voidzero-dev/vite-plus#3034 · 2 reactions · 1 assignee ·
Maintainers usually reply within 1 day
-
pending triage
Difficulty 3/5 1-2 days Newbie friendliness 62/100
voidzero-dev/vite-plus#3033 ·
Maintainers usually reply within 1 day
All issues in voidzero-dev/vite-plus
Similar issues
-
agent:iq3-xxs area: cli duplication enhancement priority: P3 ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
bytecodealliance/rustix#1703 ·
Maintainers usually reply within 3 days
-
bug discussion
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
medialab/xan#1201 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
farion1231/cc-switch#8298 ·
Maintainers usually reply within 1 day