aube writes catalog: into pnpm-lock.yaml overrides and importer specifiers
#1343
pnpm 11 resolves overrides:
is-number: 7.0.0and the importer records #249 already taught aube to read that shape, so Restore only the overrides map to aube frozen-installs its own rewrite. The lockfile is only toxic to real pnpm. I hit this adding a single package in a catalog-heavy monorepo whose GitHub ReproductionFrom the case directory, with git clone https://github.com/mwolson/tmp-aube-issues.git
cd tmp-aube-issues/pnpm-catalog-override-lock-write
./repro.shThe script exits 1 on aube Equivalent by hand: mkdir -p repro/packages/app && cd repro
cat > package.json <<'EOF'
{ "name": "catalog-override-lock-write", "private": true }
EOF
cat > pnpm-workspace.yaml <<'EOF'
packages:
- "packages/*"
catalog:
is-number: 7.0.0
overrides:
is-number: "catalog:"
EOF
cat > packages/app/package.json <<'EOF'
{
"name": "app",
"version": "1.0.0",
"private": true,
"devDependencies": {
"is-number": "catalog:"
}
}
EOF
# Real pnpm, not an aube/aubeshim shim.
CI=1 pnpm install --ignore-scripts --lockfile-only
CI=1 pnpm install --frozen-lockfile --ignore-scripts # ok
aube add --filter app is-odd@3.0.1 --ignore-scripts
CI=1 pnpm install --frozen-lockfile --ignore-scripts # LOCKFILE_CONFIG_MISMATCH
aube install --frozen-lockfile --ignore-scripts # okExpectedWhen aube writes Related
|
Replies: 2 comments
|
Confirmed and fixed in PR #1344. The resolver already expanded the catalog override for package resolution, but the lockfile graph retained the raw override map and original importer specifier. The fix now stores catalog-expanded override metadata and the effective override target for direct importers, while preserving I ran the provided reproduction against the current debug build with pnpm 11.22.0. It now reports: Thanks for the especially clear two-layer reproduction. AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable. |
|
Retested with aube
Fix shipped in aube 2.0.1 via #1344 catalog-overrides-pnpm-output. Marking the maintainer reply as the answer. |
Confirmed and fixed in PR #1344.
The resolver already expanded the catalog override for package resolution, but the lockfile graph retained the raw override map and original importer specifier. The fix now stores catalog-expanded override metadata and the effective override target for direct importers, while preserving
catalog:for ordinary catalog dependencies where no override fires.I ran the provided reproduction against the current debug build with pnpm 11.22.0. It now reports:
Thanks for the especially clear two-layer reproduction.
AI-assisted — Tool: Codex; model: open…