# Configures JS linting # https://eslint.org/ # Add third-party configs extends: - eslint:recommended - plugin:import/errors - plugin:import/warnings # Add third-party plugins plugins: - import - compat # Set target environment env: browser: true # Add support for babel (ES6) parser: babel-eslint rules: # Best Practices # https://github.com/eslint/eslint/tree/master/docs/rules#best-practices no-fallthrough: 2 no-redeclare: 2 # Browser compatibility compat/compat: error # Webpack import support import/default: 0 # Stylistic Issues # https://github.com/eslint/eslint/tree/master/docs/rules#stylistic-issues comma-spacing: 2 eol-last: 2 eqeqeq: ["error", "smart"] indent: [2, 2, {SwitchCase: 1}] keyword-spacing: 2 max-len: [1, 160, 2] new-parens: 2 no-mixed-spaces-and-tabs: 2 no-multiple-empty-lines: [2, {max: 2}] no-trailing-spaces: 2 object-curly-spacing: [2, "never"] quotes: [2, "double", "avoid-escape"] semi: never space-before-blocks: [2, "always"] space-before-function-paren: [2, "never"] space-in-parens: [2, "never"] space-infix-ops: 2 space-unary-ops: 2 # ECMAScript 6 # http://eslint.org/docs/rules/#ecmascript-6 arrow-parens: [2, "always"] arrow-spacing: [2, {"before": true, "after": true}] no-confusing-arrow: 2 prefer-const: 2 # Strict Mode # https://github.com/eslint/eslint/tree/master/docs/rules#strict-mode strict: [2, "global"] # Variables # https://github.com/eslint/eslint/tree/master/docs/rules#variables no-undef: 2 no-unused-vars: [2, {"args": "none"}] # Browser compatibility compat/compat: error # Global scoped method and vars globals: __dirname: true require: true process: true ENV: true module: true