Skip to content

Fold app/ onto TypeScript 7 once typescript-eslint supports the TS 7.1 API #1048

Description

@KvFxKaido

Follow-up to #1044, which moved cli/ and mcp/github-server onto TypeScript 7.0 RC (typescript@rc) but held app/ back on the tsgo + TS 6 split.

Why app/ was held

TypeScript 7.0 only exposes the ./unstable/* programmatic API. typescript-eslint depends on the legacy programmatic API, which Microsoft says lands in TS 7.1 (several months out). Moving app/ to typescript@rc now breaks ESLint with ERR_PACKAGE_PATH_NOT_EXPORTED. So app/ still:

  • typechecks via tsgo (@typescript/native-preview) — already the TS 7 checker, so no type-coverage gap today
  • keeps typescript@^6.0.3 for ESLint (typescript-eslint) and its (unused) tsc emit

What to do when TS 7.1 ships with eslint support

Once typescript-eslint declares support for the TS 7.1 programmatic API:

  1. In app/package.json: replace typescript@^6.0.3 with typescript@rc/latest and drop @typescript/native-preview.
  2. Swap app/'s typecheck script from tsgo back to tsc (tsc --noEmit -p tsconfig.app.json && tsc --noEmit -p tsconfig.node.json).
  3. Now that all three packages use tsc, the typecheck:all umbrella runs a single compiler — consider whether the tsgo/@typescript/native-preview fallback wording in the docs is still needed.
  4. Verify: cd app && npm run lint && npm run typecheck, plus the root typecheck:all and the cli/mcp builds.

Docs to update in the same change

The split toolchain is described in ARCHITECTURE.md, CONTRIBUTING.md, CLAUDE.md, and REVIEW.md — collapse those back to a single TS 7 story once app/ folds in.

Signals to watch

  • typescript-eslint release notes / its SUPPORTED_TYPESCRIPT_VERSIONS range advertising TS 7.x
  • TypeScript 7.1 shipping the stable programmatic API (also unblocks ts-morph, custom transformers, etc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions