Repository navigation
Ranged catalog: override makes aube write a version specifier that pnpm rejects
#1809
The root depends on catalog:
is-odd: 3.0.1
overrides:
"is-odd@^3": "catalog:"Starting from a pnpm-written lockfile without the dependency, PNPM_BIN=/path/to/real/pnpm ./repro.shA related difference: with an override that has no range ( I found this in pingdotgg/t3code, where |
Replies: 2 comments
|
Thanks for the repro. #1816 fixes both cases. The root cause was that aube expanded I compared the generated 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 native pnpm 12.14.0 as the control. aube keeps the importer Fix shipped in aube 2.8.2 via #1816. Marking your reply as the answer. |
Thanks for the repro. #1816 fixes both cases.
The root cause was that aube expanded
catalog:to the catalog version before matching overrides, sois-odd@^3matched3.0.1. pnpm matches the selector against the manifest text (catalog:), so a ranged override never applies to acatalog:dependency. aube now does the same, which keepsspecifier: 'catalog:'in the importer. Separately, an entry that an override points at viacatalog:is no longer listed undercatalogs:, matching pnpm.I compared the generated
pnpm-lock.yamlagainst pnpm 12.9.1 on 10 setups (ranged and unranged overrides,link:,npm:aliases) and it was byte-identical in all of them. I did not check pnpm 11.x. One side effect: a…