Verify latest release
pnpm version
11.5.2
Which area(s) of pnpm are affected? (leave empty if unsure)
No response
Link to the code that reproduces this issue or a replay of the bug
No response
Reproduction steps
echo 'pmOnFail: ignore' > pnpm-workspace.yaml
-
cat <<'EOF' > package.json
{
"devEngines": {
"packageManager": {
"name": "pnpm",
"version": "^11.0.0"
}
}
}
EOF
pnpm install
- Observe
pnpm-lock.yaml does not contain packageManagerDependencies
pnpm self-update
- Observe
pnpm-lock.yaml now unexpectedly does contain packageManagerDependencies
Describe the Bug
It seems that some commands, at least pnpm self-update, write packageManagerDependencies even when it is not normally written due to pmOnFail: ignore.
Expected Behavior
In this scenario, pnpm-lock.yaml does not contain packageManagerDependencies regardless of what commands are executed.
Failing that, it always contains packageManagerDependencies regardless of what commands are executed. But IMO with pmOnFail: ignore there's really no point to recording it, and I'm not sure how much point there really is for anything except pmOnFail: download.
Which Node.js version are you using?
v24.16.0
Which operating systems have you used?
If your OS is a Linux based, which one it is? (Include the version if relevant)
Debian
Verify latest release
pnpm version
11.5.2
Which area(s) of pnpm are affected? (leave empty if unsure)
No response
Link to the code that reproduces this issue or a replay of the bug
No response
Reproduction steps
echo 'pmOnFail: ignore' > pnpm-workspace.yamlpnpm installpnpm-lock.yamldoes not containpackageManagerDependenciespnpm self-updatepnpm-lock.yamlnow unexpectedly does containpackageManagerDependenciesDescribe the Bug
It seems that some commands, at least
pnpm self-update, writepackageManagerDependencieseven when it is not normally written due topmOnFail: ignore.Expected Behavior
In this scenario,
pnpm-lock.yamldoes not containpackageManagerDependenciesregardless of what commands are executed.Failing that, it always contains
packageManagerDependenciesregardless of what commands are executed. But IMO withpmOnFail: ignorethere's really no point to recording it, and I'm not sure how much point there really is for anything exceptpmOnFail: download.Which Node.js version are you using?
v24.16.0
Which operating systems have you used?
If your OS is a Linux based, which one it is? (Include the version if relevant)
Debian