Registry release silently skips manifests with no name and does not name invalid JSON manifests

Aperta Adatta ai principianti
#135 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à
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
75/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
bun, typescript
Ambito
backend, tooling

Direzione di ricerca

Leggi src/nf-registry-release/packages.ts, in particolare listNfPackages e assertNfPackages; l’issue identifica il filtro che scarta i manifest senza nome e il percorso di parsing JSON che omette i nomi dei file. Traccia come entrambi i workflow del registry usano questa funzione, poi controlla i test pertinenti o aggiungi copertura per un manifest senza nome e JSON non valido. Il lavoro è completato quando la validazione segnala il manifest senza nome e gli errori di parsing includono il percorso del manifest.

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

Descrizione

bug good first issue
Issue description

listNfPackages (src/nf-registry-release/packages.ts#L34-L44) drops every manifest whose name is missing or empty (.filter((pkg) => pkg.name)) before assertNfPackages sees it. A typo such as "nmae" makes the package silently disappear from both registry workflows, while assertNfPackages is meant to list every bad manifest at once. A manifest with invalid JSON throws a bare JSON.parse error that doesn't name the file. Traced, not run.

Expected: a nameless manifest is reported by assertNfPackages (name "" is not @scope/name), and a parse error names the manifest path.

Found by a read-only audit of main at 435a16b (first done at 046494f; no src/ file changed in between), report audits/actions-2026-11-11.md in the workspace repo.

Code sample
const manifest = JSON.parse(readFileSync(join(entry.parentPath, entry.name), "utf-8")) as Manifest;
// ...
.filter((pkg) => pkg.name);
Versions
  • @nanoforge-dev/actions 3.3.0 (main at 435a16b)
  • Bun 1.3.14
Issue priority

Low (slightly annoying)

I have tested this issue on a development release

435a16b

Lingua principale
TypeScript
Stelle
0
Fork
0
Merge medio
15h 51m
PR unite (30g)
21

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 NanoForge-dev/actions

Tutte le issue di NanoForge-dev/actions

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.