Repository navigation
pnpm-lock.yaml writes workspace:* dependencies by version instead of link:, breaking pnpm frozen installs #1718
|
When aube writes
PNPM_BIN=/path/to/real/pnpm ./repro.sh
importers:
packages/app:
dependencies:
'@x/md':
specifier: file:../../modules/md
version: file:modules/md(@x/shared@packages+shared)
'@x/shared':
specifier: workspace:*
version: link:../shared
snapshots:
'@x/md@file:modules/md(@x/shared@packages+shared)':
dependencies:
'@x/shared': link:packages/sharedAfter '@x/extra':
specifier: workspace:*
version: 1.0.0
'@x/md':
specifier: file:../../modules/md
version: file:modules/md
'@x/shared':
specifier: workspace:*
version: 1.2.3
snapshots:
'@x/md@file:modules/md':
dependencies:
'@x/shared': 1.2.3aube installs from this, but pnpm does not: A non-frozen pnpm 11.10.0 install restores the Found in pingdotgg/t3code: adding one unrelated dependency and running aube rewrote about 1,650 lockfile lines, and pnpm's frozen install then failed with |
Replies: 2 comments
|
Thanks for the detailed repro. Confirmed: a fresh resolve wrote Fix is in #1719. I checked it against a scratch workspace shaped like your case and confirmed a frozen aube install from the result, but I haven't run pnpm against the output. The peer-suffix spelling and dropped AI-assisted — Tool: Claude Code; model: anthropic/claude-sonnet-5-5; version: unavailable. |
|
Retested with
PNPM_BIN=/path/to/real/pnpm ./repro.shIt now exits 0 with both pnpm 11.10.0 and 12.14.0 as the control. Aube writes Fix shipped in aube 2.7.1 via #1719. Marking your reply as the answer. |
Thanks for the detailed repro. Confirmed: a fresh resolve wrote
workspace:*dependencies as the member's bare version, with no matching package entry, which pnpm rejects. aube now writes pnpm'slink:<path>form for them: member-relative in importers (link:../shared), root-relative for snapshot edges such as the workspace peer of afile:package.Fix is in #1719. I checked it against a scratch workspace shaped like your case and confirmed a frozen aube install from the result, but I haven't run pnpm against the output. The peer-suffix spelling and dropped
transitivePeerDependenciesdifferences are unchanged, since you found they don't block pnpm.AI-assisted — Tool: Claude Code; model: ant…