ESLint is the most recent out of the JavaScript linters out there. It was designed to be easily extensible, comes with a large number of custom rules, and is easy to install more in the form of plugins. It gives concise output, but includes the rule name by default so you always know which rules are causing the error messages.

There are two very popular ready to use configuration for ESLint: standard (no semicolons) and semistandard.