Skip to content

Re-enable the TypeScript 7 upgrade once typescript-eslint supports it #50

Description

@iangoodnight

Context

Dependabot's TypeScript 6 → 7 bump (#49) is un-mergeable. TypeScript 7 (the native rewrite) removes the ts.Extension enum from its JS API; @typescript-eslint/typescript-estree reads ts.Extension.Cjs at import, so under TS 7 it throws Cannot read properties of undefined (reading 'Cjs') and takes ESLint down in both the check CI job (pnpm checkeslint .) and the lefthook pre-commit lint hook.

No released typescript-eslint supports TS 7 yet — the current stable (8.65.0) caps its peer range at typescript >=4.8.4 <6.1.0. There is no companion bump that makes the upgrade green.

To stop the weekly red PR, .github/dependabot.yml ignores the typescript semver-major. Minor and patch bumps still flow through the npm-minor-patch group; only the major is held.

Readiness check

TS 7 becomes viable once typescript-eslint widens its peer range past 7.x:

npm view @typescript-eslint/typescript-estree peerDependencies.typescript
# ready when the upper bound clears 7.x, e.g. ">=4.8.4 <7.1.0"
# at time of writing:  ">=4.8.4 <6.1.0"   ← still blocked

Dependabot may also surface a natural nudge: when typescript-eslint ships a new major (the likely vehicle for TS 7 support), it opens an individual bump PR that isn't covered by the ignore.

When it's ready

  1. Remove the typescript semver-major ignore from .github/dependabot.yml.
  2. Bump typescript-eslint (likely a new major) and typescript to 7.x together across the workspace (root + packages/* devDependencies).
  3. Confirm pnpm lint, the lefthook lint pre-commit hook, and pnpm typecheck all pass.

Blocked on upstream: typescript-eslint TypeScript 7 support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions