{ "env": { "es6": true, }, "parserOptions": { "ecmaVersion": 7, "sourceType": "module", }, "settings": { "flowtype": { "onlyFilesWithFlowAnnotation": true, }, }, "plugins": [ "babel", "flow-vars", "flowtype", "import", "promise", "you-dont-need-lodash-underscore", ], "rules": { "arrow-body-style": [ "error", "as-needed", ], "arrow-spacing": "error", "comma-dangle": [ "error", "always-multiline", ], "consistent-this": "off", "constructor-super": "error", "import/default": "error", "import/export": "error", "import/extensions": "error", "babel/func-params-comma-dangle": [ "error", "always-multiline", ], "babel/generator-star-spacing": [ "error", "after", ], "import/imports-first": "error", "import/named": "error", "new-cap": "off", "babel/new-cap": "error", "import/newline-after-import": "error", "babel/no-await-in-loop": "error", "no-class-assign": "error", "no-confusing-arrow": [ "error", {"allowParens": true}, ], "no-constant-condition": "error", "no-const-assign": "error", "import/no-deprecated": "error", "no-dupe-class-members": "error", "no-duplicate-imports": "error", "no-empty-pattern": "error", "no-invalid-this": 1, "no-loop-func": "off", "no-magic-numbers": [ "warn", { "enforceConst": true, "ignore": [0, 1], "ignoreArrayIndexes": true, }, ], "no-mixed-requires": "error", "no-multi-spaces": "error", "import/no-mutable-exports": "error", "no-new-symbol": "error", "import/no-namespace": "error", "import/no-unresolved": [ "error", { "amd": true, "commonjs": true, "ignore": [ "build/locales/getLocales$", "js/render/prerenderSimple$", ], }, ], "no-param-reassign": "error", "no-this-before-super": "error", "no-useless-concat": "error", "no-useless-constructor": "error", "no-var": "error", "object-shorthand": "error", "prefer-arrow-callback": "error", "prefer-const": "error", "prefer-reflect": "error", "prefer-rest-params": "error", "prefer-spread": "error", "prefer-template": "error", "require-yield": "error", // TODO: Implement a version more tailored to our needs. // "sort-imports": "error", "strict": [ "error", "never", ], "template-curly-spacing": "error", "yield-star-spacing": "error", // Promises. "promise/always-return": "error", "promise/catch-or-return": "error", "promise/param-names": "error", // Flow. "flow-vars/define-flow-type": "error", "flowtype/require-parameter-type": "error", "flowtype/require-return-type": "error", "flowtype/require-valid-file-annotation": "error", "flowtype/space-after-type-colon": "error", "flowtype/space-before-type-colon": "error", "flowtype/type-id-match": "error", "flow-vars/use-flow-type": "error", // Lo-Dash "lodash/prefer-startswith": "off", "lodash/prefer-includes": "off", "you-dont-need-lodash-underscore/assign": "error", "you-dont-need-lodash-underscore/concat": "error", "you-dont-need-lodash-underscore/each": "error", "you-dont-need-lodash-underscore/fill": "error", "you-dont-need-lodash-underscore/find-index": "error", "you-dont-need-lodash-underscore/index-of": "error", "you-dont-need-lodash-underscore/is-na-n": "error", "you-dont-need-lodash-underscore/join": "error", "you-dont-need-lodash-underscore/keys": "error", "you-dont-need-lodash-underscore/last-index-of": "error", "you-dont-need-lodash-underscore/repeat": "error", "you-dont-need-lodash-underscore/reverse": "error", "you-dont-need-lodash-underscore/size": "error", "you-dont-need-lodash-underscore/to-lower": "error", "you-dont-need-lodash-underscore/to-upper": "error", "you-dont-need-lodash-underscore/trim": "error", }, }