fix(ci): record @slopus/happy-wire under devDependencies in the lockfile - #1663
fix(ci): record @slopus/happy-wire under devDependencies in the lockfile#1663chphch wants to merge 1 commit into
Conversation
e7e0ff6 moved `@slopus/happy-wire` from `dependencies` to `devDependencies` in packages/happy-cli/package.json, but pnpm-lock.yaml still records it under `dependencies` for that importer. `pnpm install --frozen-lockfile` compares the two field by field and refuses: ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with <ROOT>/packages/happy-cli/package.json Failure reason: "devDependencies" in the lockfile (…) doesn't match the same field in package.json (… "@slopus/happy-wire": "workspace:*" …) CI sets frozen-lockfile by default, so this fails at the install step — before any check runs — on main and on every PR opened against it. This moves the three lockfile lines and changes nothing else. Resolution is untouched (`link:../happy-wire` either way); only the field recording it moves. A plain `pnpm install --lockfile-only` regeneration also fixes the mismatch but drags in unrelated churn from re-resolved floating ranges (+76/-96 here, including a typescript resolution bump), so the entry is moved by hand instead. Verified on a clean checkout with the pinned pnpm 10.11.0: `pnpm install --frozen-lockfile` fails on 3876770 and succeeds with this change; the install leaves the lockfile untouched afterwards; happy-wire and happy-cli both build, and the published bundle carries no import or require of @slopus/happy-wire, so the inlining e7e0ff6 was after still holds.
|
@bra1nDump heads-up, since this one blocks you rather than me:
This PR moves the three lockfile lines and changes nothing else; resolution stays Verified with the pinned pnpm 10.11.0: fails on 3876770, No ask beyond this one — happy to close it if you'd rather regenerate the lockfile yourself. |
main is red at the install step
pnpm install --frozen-lockfilefails onmainas of 3876770, so CI stops before any check runs — on main itself and on every PR opened against it.Cause
e7e0ff6 moved
@slopus/happy-wirefromdependenciestodevDependenciesinpackages/happy-cli/package.json— which is the right fix for the DOA1.2.1-beta.0, sincedependenciesis pkgroll's externals policy. The lockfile still records it underdependenciesfor that importer, and pnpm compares the two field by field.The change
The three lockfile lines move from
dependenciestodevDependencies. Nothing else changes — resolution islink:../happy-wireeither way; only the field recording it moves.A plain
pnpm install --lockfile-onlyregeneration also clears the mismatch, but it drags in unrelated churn from re-resolved floating ranges — +76/-96 on my machine, including atypescriptresolution moving 5.9.3 → 6.0.3 under@prisma/client. That did not belong in a CI unblock, so the entry is moved by hand.Verification
Clean checkout, pinned pnpm 10.11.0 (the
packageManagerversion):pnpm install --frozen-lockfileon 3876770 →ERR_PNPM_OUTDATED_LOCKFILEDone in 13.4s, exit 0pnpm-lock.yamlbyte-identical afterwards (no drift hiding in it)packages/happy-wireandpackages/happy-cliboth build cleanpackages/happy-cli/distcarries noimportorrequireof@slopus/happy-wire— the only occurrences are the bundled copy of package.json's own text — so the inlining e7e0ff6 was after still holds with the entry indevDependenciesFor cross-reference:
main's own CLI Smoke Test is failing on 3876770 and passing on 9ac022f, which brackets the change.