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.
Jason Knight
The less code you use, the less there is to break