From the June 2026 audit. We now generate .d.ts from the JSDoc (emit-only; checkJs is intentionally off in tsconfig.json).
Problem
Full type-checking (tsc --noEmit --checkJs) currently reports many errors from loose JSDoc — Object/Array without type arguments, string index signatures (e.g. the color-name map), etc. — and the emitted types contain ~62 anys (mostly in the logo internals).
Proposal
- Tighten the JSDoc types (typedefs for
{r,g,b,a} color objects, generic Array<T>, index signatures, etc.) until tsc --noEmit --checkJs is clean.
- Then add a type-check step to
.github/workflows/ci.yml so type regressions fail CI.
Acceptance
tsc --noEmit --checkJs passes with no errors.
- CI runs it and fails on new type errors.
- Bonus: the generated
.d.ts lose most of their anys.
From the June 2026 audit. We now generate
.d.tsfrom the JSDoc (emit-only;checkJsis intentionally off intsconfig.json).Problem
Full type-checking (
tsc --noEmit --checkJs) currently reports many errors from loose JSDoc —Object/Arraywithout type arguments, string index signatures (e.g. the color-name map), etc. — and the emitted types contain ~62anys (mostly in the logo internals).Proposal
{r,g,b,a}color objects, genericArray<T>, index signatures, etc.) untiltsc --noEmit --checkJsis clean..github/workflows/ci.ymlso type regressions fail CI.Acceptance
tsc --noEmit --checkJspasses with no errors..d.tslose most of theiranys.