who's the best and why ?
Generally I would say "none of the above" -- since the default rules for them are often pedantic, having little to do with what I would consider good practice, next to nothing to do with the ECMA specifications, and on the whole end up a colossal waste of time.
Like how ESLint is too stupid to realize that document, window, navigator, or XMLHttpRequest exists and can be assigned to variables, or complains about NEEDED escapes inside regex, or bitches about assignments as conditions inside 'for' or 'do/while' (but not on regular while or if? DERP)
They're all like that, to the point I have the choice of wasting time better spent writing code on configuring the bloody thing, or end up so buried in false positives / bullshit warnings I can't actually find any actual errors or issues using them.
When by default, throw new typeError('invalid type'); shows up with "typeError is not defined" or they complain about a lack of a break inside switch when you were PLANNING on it dropping-through to the next case , that's when you KNOW they are 100% grade A farm fresh BS.
Ben Buchanan (200ok)
I make some bits of the web.
It'll really come down to your config, regardless of the tool. Some of the popular style guides out there are excessively restrictive and it's arguable if they ultimately make the team more efficient. In many cases you'll need to tone them down a little and tune them to suit the sort of code your own team needs to write.
To address the vote/question - ESLint is hugely popular and highly configurable. There's not much reason to go with an alternative right now (it'll change eventually, it always does ;)).