1.5 KiB
title, date, author
| title | date | author |
|---|---|---|
| G0: typecheck-gaten pinnet og lagt i CI | 2026-08-14 | Claude |
Tredje av de fire P0-ene fra helsesjekken 10. juli.
Hva som faktisk var galt
Helsesjekken beskrev gaten som rød fordi TS 7.0.2 hadde fjernet baseUrl, som consumer-strict brukte. Det stemmer ikke lenger: baseUrl finnes ikke noe sted i repoet, og bun run typecheck er grønn for alle 26 pakker — inkludert den nye shade-vault.
Den ekte feilen står likevel, og er den viktigere av de to: scripts/typecheck-all.ts kjørte bunx tsc, som henter nyeste utgivelse ved hver kjøring. Gaten kunne altså gå rød — eller stille slutte å fange ting — fordi TypeScript hadde sluppet en versjon, ikke fordi repoet endret seg. Det er en gate som ikke måler det den utgir seg for å måle.
Fiksen
typescript er pinnet til 7.0.2 i rotens devDependencies, og typecheck-all.ts kjører node_modules/.bin/tsc i stedet for bunx. Et Typecheck-steg er lagt inn i .gitea/workflows/test.yml, plassert før testene: en typefeil er billigere å lese enn kjøretidsfeilen den til slutt forårsaker.
Verifisering
bun run typecheck med den pinnede kompilatoren: alle 26 pakker grønne, inkludert consumer-strict-røyktesten (lib: DOM, exactOptionalPropertyTypes, paths → workspace).
Gjenstår i G0
De to siste P0-ene — @shade/observer tomt på registry og @shade/cli sin dinglende bin — krever begge publisering til npm. Det er en utadvendt handling, og ble ikke gjort i en uovervåket økt.