Skip to content

Upgrade TypeScript to 7.x once typescript-eslint supports it #91

Description

@tbcsec

Tracks the TypeScript upgrade to 7.x (the Go "tsgo" rewrite), blocked upstream. Dependabot proposed the 7.0 bump as #73; that PR is closed and a typescript >=7 Dependabot ignore is in place (.github/dependabot.yml, mirrors the eslint-10 handling in #15) so the perpetually-red PR isn't re-opened weekly. Lift both when this closes.

Update: TypeScript 6.0 shipped separately and is mergeable — done in #97 (bumped 5.9 → 6.0.3 plus a one-line declare module "*.css" for the item below). The only thing still gating 7.x is the typescript-eslint incompatibility.

Why 7.x is blocked

typescript-eslint refuses to load under TS 7.0 — the whole lint layer dies:

ESLint: typescript-eslint does not support TS 7.0.

Tracked upstream at typescript-eslint/typescript-eslint#10940, which targets TS >= 7.1. Our entire lint config (eslint-config-next → typescript-eslint, incl. the §8/§9 guardrails and the react-hooks rules promoted to error in #38) runs through it, so eslint . exits non-zero before checking a single file. Nothing fixable on our side.

Already handled (was mis-attributed to 7.x)

tsc errored TS2882: Cannot find module … for side-effect import of './globals.css' (and the @fontsource/* imports). This turned out to be a TS 6.0 semantics change, not tsgo-specific, and is fixed by the ambient frontend/src/css-modules.d.ts (declare module "*.css") added in #97. It carries forward to 7.x, so it's no longer a blocker here.

Exit criteria

When it does: remove the typescript >=7 ignore from .github/dependabot.yml, let Dependabot re-open the bump, and verify tsc + eslint + build are green (the CSS side-effect fix is already in place).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockedProgress being blockedconfirmedIssue has been confirmeddependenciesPull requests that update a dependency file

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions