/typescript-eslint

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

Primary LanguageJavaScriptOtherNOASSERTION

TypeScript ESLint

Monorepo for all the tooling which enables ESLint to support TypeScript

Azure Pipelines GitHub license NPM Downloads Codecov Commitizen friendly


About

This repo contains several packages which allow ESLint users to lint their TypeScript code.

  • @typescript-eslint/typescript-estree - An entirely generic TypeScript parser which takes TypeScript source code and produces an ESTree-compatible AST

    • This package is also used to power the amazing opinionated code formatter Prettier's own TypeScript use-case.
  • @typescript-eslint/parser - An ESLint-specific parser which leverages typescript-estree and is designed to be used as a replacement for ESLint's default parser, espree.

  • @typescript-eslint/eslint-plugin - An ESLint-specific plugin which, when used in conjunction with @typescript-eslint/parser, allows for TypeScript-specific linting rules to run.

  • @typescript-eslint/eslint-plugin-tslint - An ESLint-specific plugin which runs an instance of TSLint within your ESLint setup to allow for users to more easily migrate from TSLint to ESLint.

Package Versions

All of the packages are published with the same version number to make it easier to coordinate both releases and installations.

Additionally, we also publish a canary release on every successful merge to master, so you never need to wait for a new stable version to make use of any updates.

The latest (stable) version is:

NPM Version

The canary (latest master) version is:

NPM Version

Supported TypeScript Version

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.

The version range of TypeScript currently supported by this parser is >=3.2.1 <3.4.0.

This is reflected in the devDependency requirement within the package.json file, and it is what the tests will be run against. We 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.

Contributing

COMING SOON!

License

TypeScript ESLint inherits from the the original TypeScript ESLint Parser license, as the majority of the work began there. It is licensed under a permissive BSD 2-clause license.