{ "parser": "babel-eslint", "parserOptions": { "sourceType": "module" }, "env": { "jest": true, "browser": true, "node": true, "es6": true }, "rules": { /* STRICT MODE */ "strict": [ 2, "never" ], /* POSSIBLE ERRORS */ "no-cond-assign": "warn", "no-console": "off", "no-constant-condition": "warn", "no-control-regex": "off", "no-debugger": "warn", "no-dupe-args": "warn", "no-dupe-keys": "warn", "no-duplicate-case": "warn", "no-empty-character-class": "warn", "no-empty": "warn", "no-ex-assign": "warn", "no-extra-boolean-cast": "warn", "no-extra-parens": "off", "no-extra-semi": "warn", "no-func-assign": "warn", "no-inner-declarations": "warn", "no-invalid-regexp": "warn", "no-irregular-whitespace": "warn", "no-obj-calls": "warn", "no-prototype-builtins": "off", "no-regex-spaces": "warn", "no-sparse-arrays": "warn", "no-template-curly-in-string": "warn", "no-unexpected-multiline": "warn", "no-unreachable": "warn", "no-unsafe-finally": "warn", "no-unsafe-negation": "warn", "use-isnan": "warn", "valid-jsdoc": ["warn", {"requireReturn": false, "prefer": {"return": "returns"}}], "valid-typeof": "warn", /* BEST PRACTICES */ "array-callback-return": "warn", "block-scoped-var": "warn", "class-methods-use-this": "off", "complexity": ["error", { "max": 40 }], "consistent-return": "warn", "curly": ["error", "multi-line"], "default-case": "warn", "dot-location": ["warn", "property"], "dot-notation": "warn", "eqeqeq": "warn", "guard-for-in": "warn", "no-alert": "warn", "no-caller": "warn", "no-case-declarations": "warn", "no-div-regex": "warn", "no-else-return": "off", "no-empty-function": "off", "no-empty-pattern": "warn", "no-eq-null": "warn", "no-eval": "warn", "no-extend-native": "warn", "no-extra-bind": "warn", "no-extra-label": "warn", "no-fallthrough": "warn", "no-floating-decimal": "warn", "no-global-assign": "warn", "no-implicit-coercion": "warn", "no-implicit-globals": "warn", "no-implied-eval": "warn", "no-invalid-this": "warn", "no-iterator": "warn", "no-labels": "warn", "no-lone-blocks": "warn", "no-loop-func": "warn", "no-magic-numbers": "off", "no-multi-spaces": "warn", "no-multi-str": "warn", "no-new-func": "warn", "no-new-wrappers": "warn", "no-new": "warn", "no-octal-escape": "warn", "no-octal": "warn", "no-param-reassign": "warn", "no-proto": "warn", "no-redeclare": "warn", "no-restricted-properties": "warn", "no-return-assign": "warn", "no-script-url": "warn", "no-self-assign": "warn", "no-self-compare": "warn", "no-sequences": "warn", "no-throw-literal": "warn", "no-unmodified-loop-condition": "warn", "no-unused-expressions": "warn", "no-unused-labels": "warn", "no-useless-call": "warn", "no-useless-concat": "warn", "no-useless-escape": "warn", "no-void": "warn", "no-warning-comments": "error", "no-with": "warn", "radix": "warn", "vars-on-top": "warn", "wrap-iife": "warn", "yoda": "warn", /* VARIABLES */ "init-declarations": "warn", "no-catch-shadow": "warn", "no-delete-var": "warn", "no-label-var": "warn", "no-restricted-globals": "warn", "no-shadow-restricted-names": "error", "no-shadow": "warn", "no-undef-init": "warn", "no-undef": "error", "no-undefined": "warn", "no-unused-vars": "warn", "no-use-before-define": "error", /* STYLISTIC */ "array-bracket-spacing": "off", "block-spacing": "warn", "brace-style": ["warn", "1tbs", { "allowSingleLine": true }], "camelcase": "off", "comma-dangle": "warn", "comma-spacing": ["warn", {"before": false, "after": true}], "comma-style": ["warn", "last"], "computed-property-spacing": "warn", "consistent-this": "warn", "eol-last": "off", "func-call-spacing": ["warn", "never"], "func-names": "warn", "func-style": ["warn", "declaration", { "allowArrowFunctions": true }], "id-blacklist": ["warn", "function", "e", "ex", "exc", "ev", "evt", "el", "elm", "ele"], "id-length": "off", "id-match": "warn", "indent": "off", "jsx-quotes": "warn", "key-spacing": "off", "keyword-spacing": "off", "line-comment-position": "off", "linebreak-style": "off", "lines-around-comment": "off", "lines-around-directive": "warn", "max-depth": ["warn", { "max": 6 }], "max-len": "off", "max-lines": "off", "max-nested-callbacks": "warn", "max-params": ["warn", { "max": 9 }], "max-statements-per-line": "off", "max-statements": ["warn", { "max": 50 }], "multiline-ternary": "off", "new-cap": ["warn", { "capIsNewExceptions": ["ToInteger", "ToObject", "ToPrimitive", "ToUint32", "Map", "Register", "Deferred"] }], "new-parens": "warn", "newline-after-var": "off", "newline-before-return": "off", "newline-per-chained-call": "off", "no-array-constructor": "warn", "no-bitwise": "off", "no-continue": "warn", "no-inline-comments": "off", "no-lonely-if": "warn", "no-mixed-operators": "off", "no-mixed-spaces-and-tabs": "warn", "no-multiple-empty-lines": ["warn", { "max": 3 }], "no-negated-condition": "warn", "no-nested-ternary": "warn", "no-new-object": "warn", "no-plusplus": "off", "no-restricted-syntax": "warn", "no-tabs": "off", "no-ternary": "off", "no-trailing-spaces": ["warn", { "skipBlankLines": false }], "no-underscore-dangle": "off", "no-unneeded-ternary": "warn", "no-whitespace-before-property": "warn", "object-curly-newline": "off", "object-curly-spacing": "off", "object-property-newline": "off", "one-var-declaration-per-line": "off", "one-var": "off", "operator-assignment": "warn", "operator-linebreak": "warn", "padded-blocks": "off", "quote-props": "off", "quotes": ["warn", "single"], "require-jsdoc": "off", "semi-spacing": "warn", "semi": ["error", "always"], "sort-keys": "off", "sort-vars": "off", "space-before-blocks": "off", "space-before-function-paren": "off", "space-in-parens": "off", "space-infix-ops": "warn", "space-unary-ops": "warn", "spaced-comment": "off", "unicode-bom": "warn", "wrap-regex": "warn", /* ES6/ES2015 SPECIFIC */ "arrow-body-style": "warn", "arrow-parens": ["error", "always"], "arrow-spacing": ["error", { "before": true, "after": true }], "constructor-super": "error", "generator-star-spacing": "error", "no-class-assign" : 2, "no-confusing-arrow": ["error", {"allowParens": true}], "no-const-assign": "error", "no-dupe-class-members": "error", "no-duplicate-imports": "error", "no-new-symbol": "error", "no-restricted-imports": "error", "no-this-before-super": "error", "no-useless-computed-key": "error", "no-useless-constructor": "error", "no-useless-rename": "error", "no-var": "error", "object-shorthand": ["warn", "never"], "prefer-arrow-callback": "error", "prefer-const": "error", "prefer-numeric-literals": "error", "prefer-reflect": "off", "prefer-rest-params": "error", "prefer-spread": "error", "prefer-template": "warn", "require-yield": "warn", "rest-spread-spacing": "warn", "sort-imports": "off", "symbol-description": "warn", "yield-star-spacing": "warn", /* IMPORTS PLUGIN */ "import/no-unresolved": ["error"], "import/named": ["error"], "import/default": ["error"], "import/namespace": ["error"], "import/export": ["error"], "import/no-named-as-default": ["error"], "import/no-named-as-default-member": ["error"], "import/no-mutable-exports": ["error"], "import/no-extraneous-dependencies": ["off", { "devDependencies": false, "optionalDependencies": false, "peerDependencies": false }], "import/imports-first": ["error"], "import/no-duplicates": ["error"], "import/extensions": ["error", "never"], "import/order": ["error", { "groups": [ "builtin", "external", "internal", ["parent", "sibling"], "index" ], "newlines-between": "always" }], "import/newline-after-import": ["error"] }, "globals": { "Promise": true, "Set": true, "__PACKAGE_VERSION__": true, "__BUILD_TIME__": true }, "settings": { "import/extensions": [".js"], "import/parser": "babel-eslint", "react": { "version": "16.5" } }, "plugins": [ "import", "react" ], "extends": ["eslint:recommended", "plugin:react/recommended"] }