{ "parser": "babel-eslint", "plugins": [ "babel", "flowtype", "jest" ], "parserOptions": { "ecmaFeatures": { "jsx": true } }, "extends": ["eslint:recommended", "plugin:flowtype/recommended", "plugin:jest/recommended", "airbnb"], "env": { "commonjs": true, "es6": true, "node": true, "jest/globals": true }, "globals": { "process": false, "window": true, "document": true, "Event": true, "HTMLFormElement": true }, "settings": { "flowtype": { "onlyFilesWithFlowAnnotation": true } }, "rules": { "max-lines": ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}], "indent": ["error", "tab", {"SwitchCase": 1}], "no-tabs": "off", "arrow-parens": ["error", "as-needed"], "comma-dangle": ["error", "always-multiline"], "no-underscore-dangle": ["error", {"allowAfterThis": true}], "global-require": "error", "generator-star-spacing": "off", "object-curly-spacing": ["error", "never"], "new-cap": "warn", "prefer-arrow-callback": ["error", {"allowNamedFunctions": true}], "class-methods-use-this": "off", "max-len": ["error", {"code": 200}], "space-before-function-paren": ["error", "never"], "no-return-assign": ["error", "except-parens"], "import/no-extraneous-dependencies": "off", "import/no-unresolved": "off", "import/prefer-default-export": "off", "import/extensions": "off", "flowtype/define-flow-type": "error", "flowtype/require-valid-file-annotation": "error", "flowtype/semi": ["error", "always"], "flowtype/space-after-type-colon": ["error", "always", {"allowLineBreak": true}], "jsx-a11y/label-has-for": "off" } }