Ranked in these QuestionsQuestion Ranking
Pros
Pro Good ES6 support
Pro Highly flexible ruleset
ESLint allows customizing rules for errors, best practices, variable declarations, ES6, style and JS running on Node. Additionally, custom rules can be applied.
Pro Functionality can be extended with a wide variety of plugins
A wide variety of plugins are available on npm's repository.
Pro Clear warnings and error messages
Warnings and error messages are detailed and easy to understand because of the usage of natural language throughout all warnings and messages.
For each message, the rule name is given so you can know what rule is being broken.
Pro JSX support
JSX extends JavaScript's syntax and makes code faster, safer and easier to write than using plain JavaScript. ESLint is actually the only tool of it's kind to support JSX.
Cons
Con Can throw a weird error out of the box
Con Requires some configuration before use
Some options and rules need to be configured before using it. This is done by using JavaScript comments inside the file itself, or through a configuration file which can be either a YAML or a JSON file.
Con The documentation can be a hit or miss
ESLint's documentation is very detailed and helpful in some parts, while in others it gets a little confusing.
For example, the rules list is easy to follow and is grouped into logical categories, while the configuration tutorials can get a little confusing.