Skip to content

Enable tsc --checkJs type-checking in CI #4

Description

@jonfroehlich

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions