Monorepo for all the tooling which enables ESLint to support TypeScript
👇
See typescript-eslint.io for documentation.
👆
See https://typescript-eslint.io/docs/development/architecture/packages for more details.
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
@typescript-eslint/eslint-plugin-tslint
@typescript-eslint/utils
@typescript-eslint/typescript-estree
@typescript-eslint/scope-manager
All of the packages are published with the same version number to make it easier to coordinate both releases and installations.
We publish a canary release on every successful merge to main
, so you never need to wait for a new stable version to make use of any updates.
Additionally, we promote to the latest
tag on NPM once per week, on Mondays at 1 pm Eastern.
The latest version under the latest
tag is:
The latest version under the canary
tag (latest commit to main
) is:
(Note: The only exception to the automated publishes described above is when we are in the final phases of creating the next major version of the libraries - e.g. going from 1.x.x
to 2.x.x
. During these periods, we manually publish canary
releases until we are happy with the release and promote it to latest
.)
The version range of TypeScript currently supported by this parser is >=4.2.0 <4.9.0
.
Note that we mirror DefinitelyTyped's version support window - meaning we only support versions of TypeScript less than 2 years old.
You may find that our tooling works on older TypeScript versions however we provide no guarantees and we will not accept issues against unsupported versions.
With each new TypeScript release we file an issue to track the changes in the new version. The issue should always be pinned, and you can also find the issues by searching for issues tagged with "New TypeScript Version". If the issue is open, we do not have official support yet - please be patient.
In terms of what versions we support:
- We do not support the
beta
releases. - We generally do not officially support the
rc
releases. - We endeavor to support the latest stable TypeScript versions as soon as possible after the release.
Generally we will begin working on supporting the next release when the rc
version is released.
Note that our packages have an open peerDependency
requirement in order to allow for experimentation on newer/beta versions of TypeScript.
However if you use a non-supported version of TypeScript, the parser will log a warning to the console.
If you want to disable this warning, you can configure this in your parserOptions
. See: @typescript-eslint/parser
and @typescript-eslint/typescript-estree
.
Please ensure that you are using a supported version before submitting any issues/bug reports.
We endeavour to support the latest stable ESLint versions as soon as possible after the release.
See the value of eslint
declared in @typescript-eslint/eslint-plugin
's package.json.
This project makes an effort to support Active LTS and Maintenance LTS release statuses of Node according to Node's release document. Support for specific Current status releases are considered periodically.
TypeScript ESLint inherits from the original TypeScript ESLint Parser license, as the majority of the work began there. It is licensed under a permissive BSD 2-clause license.
I'm so glad you asked!
Although typescript-eslint's packages are already downloaded millions of times per month and power high profile projects across our industry, this is a 100% community-driven project. From the second you install one of the packages from this monorepo, you are a part of that community.
See an issue? Report it in as much detail as possible, ideally with a clear and minimal reproduction.
If you have the time and the inclination, you can even take it a step further and submit a PR to improve the project.
There are also financial ways to contribute, please see Financial Contributors for more details.
All positive contributions are welcome here!
Please be respectful and mindful of how many hours of unpaid work go into typescript-eslint.
This project exists thanks to every one of the awesome people who contribute code and documentation:
🙏 An extra special thanks goes out to the wonderful people listed in CONTRIBUTORS.md
In addition to submitting code and documentation updates, you can help us sustain our community by becoming a financial contributor [Click here to contribute - every little bit helps!]