module.exports = { 'root': true, 'plugins': [ 'react', 'ubervu' ], 'parserOptions': { 'ecmaVersion': 6, 'sourceType': 'module', 'ecmaFeatures': { 'jsx': true } }, 'env': { 'node': true, 'es6': true }, 'rules': { // eslint-plugin-react 'react/jsx-uses-vars': 1, 'react/jsx-equals-spacing': [2, 'never'], 'react/jsx-indent': [2, 2], 'react/jsx-uses-react': 1, 'react/jsx-space-before-closing': [2, 'always'], 'react/sort-comp': [2, { order: [ 'displayName', 'propTypes', 'mixins', 'statics', 'getDefaultProps', 'getInitialState', 'children', 'render', '/^_render.+$/', // any auxiliary _render methods 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount', '/^on[A-Z].+$/', // onSomething handlers 'everything-else', '/^_.+$/' // private methods ] }], // eslint-plugin-ubervu 'ubervu/indent-function-args': 2, // Possible Errors 'comma-dangle': [2, 'never'], 'no-cond-assign': [2, 'always'], 'no-console': 2, 'no-constant-condition': 2, 'no-control-regex': 2, 'no-debugger': 2, 'no-dupe-args': 2, 'no-dupe-keys': 2, 'no-duplicate-case': 2, 'no-empty-character-class': 2, 'no-empty': 2, 'no-ex-assign': 2, 'no-extra-boolean-cast': 2, 'no-extra-parens': 2, 'no-extra-semi': 2, 'no-func-assign': 2, 'no-inner-declarations': 2, 'no-invalid-regexp': 2, 'no-irregular-whitespace': 2, 'no-negated-in-lhs': 2, 'no-obj-calls': 2, 'no-regex-spaces': 2, 'no-sparse-arrays': 2, 'no-unreachable': 2, 'use-isnan': 2, // Best Practices 'curly': [2, 'all'], 'dot-notation': 2, 'eqeqeq': [2, 'allow-null'], 'guard-for-in': 2, 'no-caller': 2, 'no-multi-str': 2, 'no-multi-spaces': 2, 'no-unused-vars': 2, 'no-with': 2, // Variables 'no-undef': 2, // Stylistic Issues 'array-bracket-spacing': [2, 'never'], 'brace-style': [2, '1tbs', {'allowSingleLine': true}], 'camelcase': [2, {'properties': 'never'}], 'comma-spacing': 2, 'eol-last': 2, 'indent': [2, 2, {'VariableDeclarator': 2, 'SwitchCase': 1}], 'key-spacing': [2, {'beforeColon': false, 'afterColon': true}], 'new-cap': 2, 'no-mixed-spaces-and-tabs': [2, 'smart-tabs'], 'no-multiple-empty-lines': 2, 'no-trailing-spaces': 2, 'object-curly-spacing': [2, 'never'], 'operator-linebreak': [2, 'after', { 'overrides': { ':': 'ignore', '?': 'ignore' } }], 'quotes': [2, 'single', 'avoid-escape'], 'jsx-quotes': [2, "prefer-double"], 'semi-spacing': [2, {'before': false, 'after': true}], 'semi': [2, 'always'], 'keyword-spacing': 2, 'space-before-function-paren': [2, { 'anonymous': 'never', 'named': 'never' }], 'space-before-blocks': [2, 'always'], 'space-in-parens': [2, 'never'], 'space-infix-ops': 2, 'space-unary-ops': [2, {'nonwords': false}], // Legacy 'max-len': [2, 80, 4, { ignoreUrls: true, ignorePattern: '^import' }] } };