{ // babel parser to support ES6/7 features "parser": "babel-eslint", "parserOptions": { "ecmaVersion": 7, "ecmaFeatures": { "experimentalObjectRestSpread": true, "jsx": true }, "sourceType": "module" }, "extends": [ "prettier", "prettier/react" ], "plugins": [ "promise", "react" ], "env": { "es6": true, "node": true }, "globals": { "document": false, "navigator": false, "window": false, // Flow global types "HTMLInputElement": false, "ReactClass": false, "ReactComponent": false, "ReactElement": false, "ReactPropsChainableTypeChecker": false, "ReactPropsCheckType": false, "ReactPropTypes": false, "SyntheticEvent": false }, "rules": { "camelcase": 0, "constructor-super": 2, "default-case": [2, { commentPattern: '^no default$' }], "eqeqeq": [2, "allow-null"], "handle-callback-err": [2, "^(err|error)$" ], "new-cap": [2, { "newIsCap": true, "capIsNew": false }], "no-alert": 1, "no-array-constructor": 2, "no-caller": 2, "no-case-declarations": 2, "no-class-assign": 2, "no-cond-assign": 2, "no-const-assign": 2, "no-control-regex": 2, "no-debugger": 2, "no-delete-var": 2, "no-dupe-args": 2, "no-dupe-class-members": 2, "no-dupe-keys": 2, "no-duplicate-case": 2, "no-duplicate-imports": 2, "no-empty-character-class": 2, "no-empty-pattern": 2, "no-eval": 2, "no-ex-assign": 2, "no-extend-native": 2, "no-extra-bind": 2, "no-extra-boolean-cast": 2, "no-fallthrough": 2, "no-floating-decimal": 2, "no-func-assign": 2, "no-implied-eval": 2, "no-inner-declarations": [2, "functions"], "no-invalid-regexp": 2, "no-irregular-whitespace": 2, "no-iterator": 2, "no-label-var": 2, "no-labels": [2, { "allowLoop": false, "allowSwitch": false }], "no-lone-blocks": 2, "no-loop-func": 2, "no-multi-str": 2, "no-native-reassign": 2, "no-negated-in-lhs": 2, "no-new": 2, "no-new-func": 2, "no-new-object": 2, "no-new-require": 2, "no-new-symbol": 2, "no-new-wrappers": 2, "no-obj-calls": 2, "no-octal": 2, "no-octal-escape": 2, "no-path-concat": 2, "no-proto": 2, "no-redeclare": 2, "no-regex-spaces": 2, "no-return-assign": [2, "except-parens"], "no-script-url": 2, "no-self-assign": 2, "no-self-compare": 2, "no-sequences": 2, "no-shadow-restricted-names": 2, "no-sparse-arrays": 2, "no-this-before-super": 2, "no-throw-literal": 2, "no-undef": 2, "no-undef-init": 2, "no-unexpected-multiline": 2, "no-unmodified-loop-condition": 2, "no-unneeded-ternary": [2, { "defaultAssignment": false }], "no-unreachable": 2, "no-unsafe-finally": 2, "no-unused-vars": [2, { "vars": "all", "args": "none" }], "no-useless-call": 2, "no-useless-computed-key": 2, "no-useless-concat": 2, "no-useless-constructor": 2, "no-useless-escape": 2, "no-var": 2, "no-with": 2, "prefer-const": 2, "prefer-rest-params": 2, "quotes": [2, "single", "avoid-escape"], "radix": 2, "use-isnan": 2, "valid-typeof": 2, "yoda": [2, "never"], // promise "promise/param-names": 2, // react "react/display-name": 0, "react/jsx-no-bind": 2, "react/jsx-no-duplicate-props": 2, "react/jsx-no-undef": 2, "react/jsx-pascal-case": 2, "react/jsx-sort-props": 2, "react/jsx-uses-react": 2, "react/jsx-uses-vars": 2, "react/no-did-mount-set-state": 0, "react/no-did-update-set-state": 2, "react/no-direct-mutation-state": 2, "react/no-multi-comp": 0, "react/no-string-refs": 2, "react/no-unknown-property": 2, "react/prefer-es6-class": 2, "react/prop-types": 2, "react/react-in-jsx-scope": 0, "react/self-closing-comp": 2, "react/sort-comp": 0, "react/sort-prop-types": 2, "react/wrap-multilines": 0 } }