-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Closed
Labels
acceptedThere is consensus among the team that this change meets the criteria for inclusionThere is consensus among the team that this change meets the criteria for inclusioncoreRelates to ESLint's core APIs and featuresRelates to ESLint's core APIs and featuresdeprecationThis change deprecates an existing featureThis change deprecates an existing featureenhancementThis change enhances an existing feature of ESLintThis change enhances an existing feature of ESLint
Description
ESLint version
HEAD
What problem do you want to solve?
ESLint has a lot of core rules that simply move whitespace around. After years of maintaining these rules, I personally believe two things:
- ESLint is not the right tool for source code formatting. Having each augmentation of whitespace as a separate rule just doesn't scale and forces us to continue to add exceptions and new rules whenever new syntax is added. This type of whitespace management is better handled holistically by source code formatters.
- It's getting harder to maintain these rules and people aren't as willing to do so. The indent rule, for example, currently has eight open issues, most of which have been open for over a year. The complexity of this rule alone takes away from the time we can spend on more impactful changes.
What do you think is the correct solution?
I'd like to deprecate all formatting rules (anything that is adjusting whitespace) in v9 and recommend that people use a source code formatter instead. Both Prettier and dprint are viable options that solve the same problems in different ways.
This would free us up from maintaining a large number of core rules and make it easy for us to drop these rules during the rewrite.
Participation
- I am willing to submit a pull request for this change.
Additional comments
No response
Rec0iL99, JoshuaKGoldberg, bradzacher, JamesHenry, Applelo and 28 morenchevsky and Alhadispuskuruk, tivac, KaelWD, mikegsrv, louwers and 2 moreJoshuaKGoldberg, bradzacher, JamesHenry, Shinigami92, rmyz and 3 more
Metadata
Metadata
Assignees
Labels
acceptedThere is consensus among the team that this change meets the criteria for inclusionThere is consensus among the team that this change meets the criteria for inclusioncoreRelates to ESLint's core APIs and featuresRelates to ESLint's core APIs and featuresdeprecationThis change deprecates an existing featureThis change deprecates an existing featureenhancementThis change enhances an existing feature of ESLintThis change enhances an existing feature of ESLint
Type
Projects
Status
Complete