{ "parser": "babel-eslint", "plugins": ["babel", "react", "flowtype"], "parserOptions": { "ecmaVersion": 2017, "sourceType": "module", "ecmaFeatures": { "jsx": true, "modules": true, "blockBindings": true, "defaultParams": true, "forOf": true, "generators": true, "objectLiteralComputedProperties": true, "objectLiteralDuplicateProperties": false, "objectLiteralShorthandMethods": true, "objectLiteralShorthandProperties": true, "templateStrings": true, "experimentalObjectRestSpread": true } }, "rules": { "quotes": [2, "single"], "strict": [2, "never"], "semi": [2, "never"], "brace-style": [2, "1tbs", { "allowSingleLine": true }], "comma-style": ["error", "first"], "comma-dangle": [2, "never"], "no-dupe-keys": 2, "no-ex-assign": 2, "no-extra-semi": 2, "valid-typeof": 2, "no-template-curly-in-string": "error", "symbol-description": "error", "class-methods-use-this": "error", "prefer-arrow-callback": ["error", {"allowNamedFunctions": true}], "babel/generator-star-spacing": 1, "babel/object-shorthand": 1, "babel/arrow-parens": 1, "babel/no-await-in-loop": 1, "babel/flow-object-type": [ "error", "comma" ], "babel/func-params-comma-dangle": 1, "react/jsx-uses-react": 2, "react/jsx-uses-vars": 2, "react/react-in-jsx-scope": 2, "flowtype/define-flow-type": 1, "flowtype/require-parameter-type": 1, "flowtype/require-return-type": [ 1, "always", { "annotateUndefined": "never" } ], "flowtype/space-after-type-colon": [ 1, "always" ], "flowtype/space-before-type-colon": [ 1, "never" ], "flowtype/type-id-match": [ 1, "^([A-Z]{1,3}[a-z0-9]+)+Type$" ], "flowtype/use-flow-type": 1, "flowtype/valid-syntax": 1 }, "settings": { "flowtype": { "onlyFilesWithFlowAnnotation": true } }, "env": { "es6": true, "browser": true, "node": true } }