A frozen install failed in a project with no dependencies when
pnpm-lock.yaml held only the env document, which every command writes
before the first install. v12 reported a missing lockfile, v11 a broken
one. When the separator after the env document was also gone, both read
the file as having no env document and rejected the pinned pnpm version
as outdated.
- Both stacks now read a file that opens with `---` and has no separator
as an env-only lockfile when it carries `configDependencies`, so its pin is found and a main-lockfile write
keeps it.
- v11 no longer calls a lockfile with an env document but no main
document broken.
- The env-only fallback requires the root importer's `configDependencies`
key, so a main lockfile that merely opens with `---` is not read as an
env document.
- v12 lets a frozen install without a lockfile proceed when no project
has dependencies, as v11 does.
Closespnpm/pnpm#16477
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>