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 >=3.3.1 <5.0.0
.
These versions are what we test against.
We will always endeavor to support the latest stable version of TypeScript. Sometimes, but not always, changes in TypeScript will not require breaking changes in this project, and so we are able to support more than one version of TypeScript. In some cases, we may even be able to support additional pre-releases (i.e. betas and release candidates) of TypeScript, but only if doing so does not require us to compromise on support for the latest stable version.
Note that our packages have an open peerDependency
requirement in order to allow for experimentation on newer/beta versions of TypeScript.
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.
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!]