Palantir, the creators of TSLint, recently announced the deprecation of TSLint, putting their support behind
typescript-eslint to consolidate efforts behind one unified linting solution for TypeScript users.
Discussions between the TypeScript team, ESLint team, and TSLint team have been ongoing. In January the TypeScript team announced plans to adopt ESLint. TypeScript program manager Daniel Rossenwasser explains:
Upon hearing this news, the ESLint team announced the separation of TypeScript-specific ESLint efforts into a separate project to be led by Nrwl software engineer James Henry:
James Henry, who has long been the driving force behind TypeScript compatibility for ESLint, has started the
typescript-eslintproject as a centralized repository for all things related to TypeScript ESLint compatibility. This will be the new home of the TypeScript parser,
eslint-plugin-typescript, and any other utilities that will make the TypeScript ESLint experience as seamless as possible.
This separation will allow for ESLint compatibility, while maintaining a separate focus on TypeScript specific needs. As explained by the ESLint team:
While the ESLint team won’t be formally involved in the new project, we are fully supportive of James’ efforts and will be keeping lines of communication open to ensure the best ESLint experience for TypeScript developers.
Palantir's goals for supporting the TSLint community with a smooth transition to ESLint include:
- Support and documentation for authoring ESLint rules in TypeScript
- Testing infrastructure in typescript-eslint
- Semantic, type-checker-based rules
Once Palantir considers ESLint feature-complete, TSLint will get deprecated. Before that date, Palantir pledges to continue TSLint support for new TypeScript releases. Once compatibility is reached, plans include a TSLint to ESLint compatibility package to make ESLint work as a drop-in replacement for the TSLint rule set.
typescript-eslint is an open source monorepo for tooling to enable ESLint to support TypeScript and is available under the New BSD License and supported by the JS Foundation. Contributions are welcome via the typescript-eslint GitHub project.