npm/cli

[BUG] Parallelizing `npm version` in workspaces results in error

Open

#9.412 geöffnet am 27. Mai 2026

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (3.025 Forks)batch import
BugGood First IssueNeeds Triage

Repository-Metriken

Stars
 (7.529 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 3T 12h) (139 gemergte PRs in 30 T)

Beschreibung

Is there an existing issue for this?

  • I have searched the existing issues

This issue exists in the latest npm version

  • I am using the latest npm

Current Behavior

I run npm version via ultra-runner or xargs in parallel in >40 workspaces.

One or more calls fail because of "invalid" package.json - in one case (so far) package.json even had been cut to zero bytes.

AFAICT, executing npm version in a single workspace calls changeWorkspaces, which in turn reads every package.json inside the mono-repo via mapWorkspaces. Parallel npm version race, so later calls may find a package.json that has been started to convert (and may be temporarily empty).

Expected Behavior

npm version in a single workspace should not access other workspaces.

This is shown by --no-workspaces which works. But I always would need to remember to include it.

Maybe npm version should internally set --no-workspaces.

Steps To Reproduce

I have no explicit repro, but it's simple: have a workspace tree with ~40 or 50 workspaces. Use ultra-runner or xargs to execute npm version patch --no-git-tag-version

Environment

  • npm: 11.15 (starts with 8, afaict)
  • Node.js: 22/24
  • OS Name: Linux

Contributor Guide