Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

Roadmap: tslint-microsoft-contrib -> ESLint #876

Closed
JoshuaKGoldberg opened this issue Jun 6, 2019 · 7 comments
Closed

Roadmap: tslint-microsoft-contrib -> ESLint #876

JoshuaKGoldberg opened this issue Jun 6, 2019 · 7 comments
Labels
Domain: Documentation Rules or repository tasks related to how to document code.

Comments

@JoshuaKGoldberg
Copy link

JoshuaKGoldberg commented Jun 6, 2019

TSLint is being deprecated soon: see palantir/tslint#4534.

As you may have read in this blog post, we plan to deprecate TSLint in 2019 and support the migration to ESLint as the standard linter for both TypeScript & JavaScript. This will not be an immediate deprecation; on the contrary, there is a lot of work to do to ensure a smooth transition to the new tooling without any regressions.

tslint-microsoft-contrib will follow the timeline in that issue. We'll continue accepting classifications of issues and pull requests, such as new rules, features, and bug fixes, on the same timeline as TSLint. The timeline is:

  • August 1st, 2019: Stop accepting new core rules. Still accept bug fixes, minor features, and rule enhancements. Custom rules are always an option and can be maintained outside this repo.
  • November 1st, 2019: Stop accepting features or rule enhancements (with the exception of ones that make migrating to typescript-eslint easier). Still accept bug fixes.
  • January 1st, 2020: Stop accepting anything except security fixes.
  • December 1st, 2020: Stop accepting any PRs 🎉

Update (August 2019): see tslint-to-eslint-config for a CLI command that migrates TSLint configuration files to ESLint configuration files.

@JoshuaKGoldberg JoshuaKGoldberg added the Domain: Documentation Rules or repository tasks related to how to document code. label Jun 6, 2019
@JoshuaKGoldberg
Copy link
Author

Copying a couple FAQs from the other issue:

How can I use existing TSLint rules in ESLint?

You can use your TSLint rules within ESLint using typescript-eslint/packages/eslint-plugin-tslint. It wraps a TSLint configuration and lints your code using TSLint.

How can I write TypeScript-capable rules in ESLint?

To write rules in ESLint, see typescript-eslint/packages/eslint-plugin. That README.md has a list of all their supported rules (the list has gotten pretty big!). The ROADMAP.md there has a mapping of existing TSLint rules to the new equivalents.

@AndrewCraswell
Copy link

In the future, do you imagine the tslint-microsoft-contrib can be consumed in ESLint without using the eslint-plugin-tslint?

@JoshuaKGoldberg
Copy link
Author

JoshuaKGoldberg commented Aug 30, 2019

@AndrewCraswell alas, no, such a thing is not technically feasible. This library is a collection of TSLint rules, and eslint-plugin-tslint is the way for consuming (running) TSLint rules in ESLint.

@lumaxis
Copy link

lumaxis commented Sep 3, 2019

Are there any plans for a eslint-microsoft-contrib package or some such?

@JoshuaKGoldberg
Copy link
Author

@lumaxis no, no plans. Unlike TSLint, ESLint's community is rich and thriving; there'd be no need. 😄

@IllusionMH
Copy link
Contributor

You can check roadmap for TSLint rules in typescript-eslint repo: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/ROADMAP.md#tslint-microsoft-contrib-rules

It has list of corresponding ESLint rules or ESLint plugins that implement similar functionality to existing rules.
Most likely rules from this repo with hight demand/usability can be added to typescript-eslint package, so discussions for concrete rules can be started there (if not started already).

This was referenced Dec 15, 2019
@brndkfr
Copy link
Contributor

brndkfr commented Dec 10, 2020

This project is read-only and archive mode.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Domain: Documentation Rules or repository tasks related to how to document code.
Projects
None yet
Development

No branches or pull requests

5 participants