Repository navigation
fix(cli): retire the five stale scaffold peerDependencyRules entries - #25239
Conversation
On the better-auth 1.7.12 pin, better-auth declares no better-sqlite3 peer and @better-auth/core, oauth-provider, scim and sso peer @better-auth/utils as ^0.4.2 || ^0.5.0, so all five allowedVersions entries suppress nothing. SCAFFOLD_ALLOWED_PEER_VERSIONS is now empty, both scaffold paths drop the block, and the pins flip to absence. Claude-Session: https://claude.ai/code/session_01CxBKycaiUpA1yGx1XyoGqX Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 2 package(s): 6 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 4 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 30 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 6d10ecf86c45836b43e1a0e63b64e19c41effd28 && git checkout 6d10ecf86c45836b43e1a0e63b64e19c41effd28
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin f2ade4afb0efb5af694eec0c4f956ee7dd59d18a 3737254383df0ce1600acb8656922c5a2146c996 && git checkout -B drift-repro f2ade4afb0efb5af694eec0c4f956ee7dd59d18a && git merge --no-ff 3737254383df0ce1600acb8656922c5a2146c996
node scripts/docs-audit/affected-docs.mjs --json f2ade4afb0efb5af694eec0c4f956ee7dd59d18a
|
席位核对ACCEPT ·
Generated by Claude Code |
Requested by Sales · project thread
Fixes #25123
Clause-②: no
Metadata-protocol: none
What
On the better-auth
1.7.12pin, all fiveSCAFFOLD_ALLOWED_PEER_VERSIONSentries suppress peer mismatches that no longer exist, so they retire at once (a ledger entry states a fact that holds; no staged grace):origin/main123ff6fbetter-auth>better-sqlite3(13)better-auth@1.7.12declares nobetter-sqlite3peer (lockfilepeerDependenciesblock andnpm view). Control leg:npm view better-auth@1.7.3 peerDependenciesstill namesbetter-sqlite3: ^12.0.0.@better-auth/core,/oauth-provider,/scim,/ssoeach>@better-auth/utils(0.5.0)^0.4.2 || ^0.5.0; the tree resolves0.5.0.The map is now empty, so both scaffold paths (
objectstack initandnpx create-objectstack) stop emitting apeerDependencyRulesblock;renderPnpmWorkspaceYamlalready omitted it for an empty map. The docblock's better-call reading is corrected to what holds: stable scim peersbetter-callexactly at1.4.4, the resolved copy (it read1.4.0on the 1.7.3 pin).allowedVersionsonly silences a report, so the resolution a scaffold gets is unchanged.Files
packages/cli/src/commands/init.ts: map emptied; its docblock rewritten as the retired-entries record; therenderPnpmWorkspaceYamldocblock line about the peer block updated.packages/cli/test/init.test.ts: presence pins flipped to per-key absence pins, a set pin (toEqual({})), a no-block pin, and a fixture-map pin for the render path; the top-level key list losespeerDependencyRules.packages/cli/test/better-sqlite3-peer-declaration.pin.test.ts: the widening-equals-declared-major limb becomes an absence pin; the CLI's own 13.x declaration pins stay.packages/cli/test/scaffold-workspace-consistency.test.ts: drops the non-vacuity guard that required a non-empty peer map (two empty maps are now the intended state; the byte-equality limb still holds both files).packages/create-objectstack/src/templates/blank/pnpm-workspace.yaml+src/template-consistency.test.ts: same retirement in the bundled template, which is held byte-equal to the cli renderer.pnpm-workspace.yaml(root): one comment sentence that called these entries' retirement conditions unmet..changeset/25123-scaffold-peer-ledger-retired.md:patchfor@objectstack/cliandcreate-objectstack(the template ships indist/templates).Verification (head 3737254)
pnpm --filter '@objectstack/cli^...' --filter 'create-objectstack^...' --filter @objectstack/cli --filter create-objectstack build→VERDICT command-exit 0.test/init.test.ts,test/better-sqlite3-peer-declaration.pin.test.ts,test/scaffold-workspace-consistency.test.ts→ 3 files, 63/63; create-objectstacksrc/template-consistency.test.ts→ 1 file, 39/39.vitest run --project unit) → 324 files, 4775/4775;create-objectstackpnpm test→ 18 files, 278/278;pnpm --filter @objectstack/cli typecheckandpnpm --filter create-objectstack typecheck→ exit 0. The integration layer is left to CI (no spawn entry or integration file touched).scripts/ablation-replace.mjs, restored bygit checkout HEAD, blob re-verified as73c71be9f): re-adding'better-auth>better-sqlite3': '13'to the map turns 7 tests red across the three cli files. Tests importsrc/, so no dist leg applies.pnpm lint→ exit 0.dispatch-gates --commands: 81 derived; 79 exit 0;check:dual-build-cjs-loadsandcheck:i18n-coverageexit 3 PREREQUISITE NOT MET (they need dist for packages outside this closure) → NOT MEASURED locally, CI runs them.Acceptance notes
packages/cli/src/commands/init.test.ts; the pins actually live atpackages/cli/test/init.test.ts.create-objectstack(unscoped), so the changeset names it that way.Generated by Claude Code