/typescript-eslint

:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript

Primary LanguageTypeScriptOtherNOASSERTION

TypeScript ESLint

Monorepo for all the tooling which enables ESLint to support TypeScript

CI Financial Contributors on Open Collective NPM Downloads Codecov

👇

See typescript-eslint.io for documentation.

👆

Packages included in this project

See https://typescript-eslint.io/docs/development/architecture/packages for more details.

Versioning

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:

NPM Version

The latest version under the canary tag (latest commit to main) is:

NPM Version

(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.)

Supported TypeScript Version

The version range of TypeScript currently supported by this parser is >=3.3.1 <4.9.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.

Supported ESLint Version

See the value of eslint declared in @typescript-eslint/eslint-plugin's package.json.

Supported Node Version

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.

License

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.

How can I help?

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!

See the contributing guide here.

Please be respectful and mindful of how many hours of unpaid work go into typescript-eslint.

Code Contributors

This project exists thanks to every one of the awesome people who contribute code and documentation:

Gallery of all contributors' profile photos

🙏 An extra special thanks goes out to the wonderful people listed in CONTRIBUTORS.md

Financial Contributors

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!]

Deploys by Netlify