Skip to content

docs: document TypeScript 5.3 minimum supported version#20547

Merged
mdjermanovic merged 4 commits intoeslint:mainfrom
sethamus:ts-5.3-min-types
Feb 24, 2026
Merged

docs: document TypeScript 5.3 minimum supported version#20547
mdjermanovic merged 4 commits intoeslint:mainfrom
sethamus:ts-5.3-min-types

Conversation

@sethamus
Copy link
Contributor

Prerequisites checklist

AI acknowledgment

  • I did not use AI to generate this PR.
  • (If the above is not checked) I have reviewed the AI-generated content before submitting.

What is the purpose of this pull request? (put an "X" next to an item)

[x] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

What changes did you make? (Give an overview)

I updated the documentation prerequisites to clarify that ESLint’s TypeScript type definitions require TypeScript 5.3 or later.

I also adjusted the CI type-test workflow to run the existing type tests against two TypeScript versions: the latest TypeScript 5.x, and the earliest publishable TypeScript 5.3.x on npm (5.3.2).

Fixes #19920

Is there anything you'd like reviewers to focus on?

@sethamus sethamus requested a review from a team as a code owner February 22, 2026 14:09
@eslint-github-bot eslint-github-bot bot added the documentation Relates to ESLint's documentation label Feb 22, 2026
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Feb 22, 2026
@netlify
Copy link

netlify bot commented Feb 22, 2026

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 85b9ae5
🔍 Latest deploy log https://app.netlify.com/projects/docs-eslint/deploys/699c84f72414260008545e66

@MikeMcC399
Copy link
Contributor

The TypeScript 6 beta was announced on Feb 11, 2026 and includes a list of Breaking Changes and Deprecations.

I suggest to consider the wording:

If you use ESLint's TypeScript type definitions, TypeScript 5.3 or later is required.

which would include TypeScript 6. If you want to exclude TypeScript 6 you could write something like:

If you use ESLint's TypeScript type definitions, TypeScript 5 (5.3 or later) is required.

TypeScript 6 could be added later, after it has been released and can be added to ESLint's CI tests.

@fasttime
Copy link
Member

The TypeScript 6 beta was announced on Feb 11, 2026 and includes a list of Breaking Changes and Deprecations.

Thanks for the heads‑up, @MikeMcC399. I tried installing typescript@beta6.0.0-beta, and I'm not seeing any differences in this repo compared to TypeScript 5.9.3. In the eslint/rewrite repo, after installing typescript@beta6.0.0-beta, both the build and the tests ran successfully with only minimal changes to the tsconfig (essentially just disabling strict mode by default and adding rootDir to the compiler options). So it looks like our current types will continue to work in TypeScript 6 without any modifications.

I suggest to consider the wording:

If you use ESLint's TypeScript type definitions, TypeScript 5.3 or later is required.

which would include TypeScript 6. If you want to exclude TypeScript 6 you could write something like:

If you use ESLint's TypeScript type definitions, TypeScript 5 (5.3 or later) is required.

TypeScript 6 could be added later, after it has been released and can be added to ESLint's CI tests.

Once TypeScript 6 is officially released, it would make sense to update our entire build tooling to use it, while still running tests on TypeScript 5.3 also. If users start reporting issues on ESLint because they run into errors when upgrading to TypeScript 6, we could also consider adding troubleshooting instructions. But if a bug only appears with TypeScript 6, I think it would be better to address it rather than saying that TypeScript 6 isn't supported yet. So I don't think we should proactively limit compatibility to TypeScript 5.

@MikeMcC399
Copy link
Contributor

@fasttime

So I don't think we should proactively limit compatibility to TypeScript 5.

If there are no obvious major incompatibilities between the TypeScript 6 beta and ESLint, that sounds like a reasonable strategy. It's good that you were able to check.

@fasttime fasttime moved this from Needs Triage to Implementing in Triage Feb 23, 2026
@fasttime fasttime added accepted There is consensus among the team that this change meets the criteria for inclusion contributor pool labels Feb 23, 2026
Copy link
Member

@fasttime fasttime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks. Leaving open for another review, and also because release #20497 is still pending.

@fasttime fasttime moved this from Implementing to Second Review Needed in Triage Feb 23, 2026
Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@mdjermanovic mdjermanovic merged commit e7d72a7 into eslint:main Feb 24, 2026
41 of 42 checks passed
@github-project-automation github-project-automation bot moved this from Second Review Needed to Complete in Triage Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

accepted There is consensus among the team that this change meets the criteria for inclusion contributor pool documentation Relates to ESLint's documentation github actions

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

Change Request: Set minimum supported TypeScript version to v5.3

5 participants