We are using AirBnB style guide, but with a few style changes that we like better.
'rules': {
// The total number of characters allowed on each line of code including indentation
// http://eslint.org/docs/rules/max-len
'max-len': [2, 120, 2, {'ignoreUrls': true, 'ignoreComments': false}],
// Require Constructors to Use Initial Caps
// http://eslint.org/docs/rules/new-cap
'new-cap': [2, {'capIsNewExceptions': ['Match', 'Match.ObjectIncluding']}],
// Require a space after unary operator ! and not before new
// http://eslint.org/docs/rules/space-unary-ops
'space-unary-ops': [2, {
'words': true,
'nonwords': false,
'overrides': {
'new': false,
'!': true
}
}],
// Disallow Reassignment of Function Parameters, but allow modifying the properties of parameters
// http://eslint.org/docs/rules/no-param-reassign
'no-param-reassign': [2, {'props': false}],
// Dangling commas on multiple lines are not required
// http://eslint.org/docs/rules/comma-dangle
'comma-dangle': [2, 'only-multiline'],
// Allow quoting properties as needed
// http://eslint.org/docs/rules/quote-props
'quote-props': [2, 'as-needed', {'keywords': true, 'unnecessary': false, 'numbers': false}],
// Wrap the function expression for immediately-invoked function expressions (IIFE)
// http://eslint.org/docs/rules/wrap-iife
'wrap-iife': [2, 'inside'],
// No space after or before a curly brace wrapping an object or import
// http://eslint.org/docs/rules/object-curly-spacing.html
'object-curly-spacing': [2, 'never'],
// Put a blank space before line comments except at beginning of object or block
// http://eslint.org/docs/rules/lines-around-comment
'lines-around-comment': [2, { 'beforeLineComment': true, 'allowObjectStart': true, 'allowBlockStart': true }],
}
I use them pretty much every day for a number of different projects which include ES6, ES6 (Babel) and React JSX files. The trick is getting the right .eslintrc configuration.
Here: an example for an ES6 configuration that follows all of airbnbs rules:
You can omit the env entries for jasmine and jest (this project uses jest for testing).