Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

rc.18 drift alarm false-positives on the template's own typescript peer-dep literal

Aperta
#545 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
54/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Start with packageObjectNeedsCatalogRefs in the scaffold and upgrade ref-rewrite detection, then compare it with the root package.json migration that writes peerDependencies.typescript. Run pnpm exec bos upgrade --check in a fresh rc.18 child and confirm the false positive. Done means the migration and check agree on the peer dependency and repeated checks do not reintroduce drift.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Summary

bos upgrade --check reports updatesAvailable: true on an rc.18 child with zero actual deltas, failing child CI's platform-drift alarm. The trigger is the root package.json:

  • The rc.18 upgrade's root-package migration (matching the published template bytes) writes peerDependencies.typescript: "^7.0.2" — a literal, exactly like the parent repo's own package.json at the release tag.
  • The same check's ref-rewrite detection (packageObjectNeedsCatalogRefs, scaffold/upgrade) counts any non-catalog: entry for an inherited-catalog package as pending drift — and typescript is in the inherited catalog.
  • Result: the migration normalizes away from catalog: and the alarm immediately flags it. Template and alarm disagree; setting peerDependencies.typescript: "catalog:" locally flips the alarm back to green (verified in a fresh worktree both ways).

Repro (fresh checkout of any rc.18 child)

pnpm install --frozen-lockfile --ignore-scripts
pnpm exec bos upgrade --check; echo $?
# exit 1 — packages from==to, no catalog deltas; only ref-rewrite detection fires
# JSON: { "packages": [ everything-dev from==to, every-plugin from==to ], "updatesAvailable": true }

Then set peerDependencies.typescript: "catalog:" → exit 0.

Suggested fix

Either (a) normalize the root package migration's typescript peer dep to catalog: (aligning template bytes with the check), or (b) make the ref-rewrite detection treat peerDependencies as literal-tolerant (peer-dep authors legitimately pin floors) — or filter typescript specifically. Also worth noting the alarm's run-to-run state: with catalog: the next upgrade may re-normalize to the literal again, re-tripping it — pick one direction for the template bytes and make the check agree with it.

Lingua principale
TypeScript
Stelle
5
Fork
3
Merge medio
9h 55m
PR unite (30g)
108

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NEARBuilders/everything-dev

Tutte le issue di NEARBuilders/everything-dev

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.