npm/cli

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

Open

#9.412 aberto em 27 de mai. de 2026

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)JavaScript (3.025 forks)batch import
BugGood First IssueNeeds Triage

Métricas do repositório

Stars
 (7.529 stars)
Métricas de merge de PR
 (Mesclagem média 3d 12h) (139 fundiu PRs em 30d)

Description

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

Guia do colaborador