{
    "env": {
        "es6": true
    },
    "parser": "babel-eslint",
    "extends": ["standard", "standard-react"],
    "parserOptions": {
        "ecmaVersion": 6,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
    "globals": {
        "__DEV__": false,
        "__SCREENSHOT__": false,
        "__STORYBOOK__": false
    },
    "plugins": [
        "filenames", "babel", "import", "flowtype", "prettier"
    ],
    "settings": {
        "import/core-modules": [ electron, react-native ],
        "import/resolver": {
          webpack: 'webpack.config.base.js'
        },
    },
    "rules": {
        "babel/func-params-comma-dangle": "off",
        "camelcase": "off",
        "comma-dangle": ["error", "always-multiline"],
        "curly": "off",
        "filenames/match-regex": ["error", "^[0-9a-z-.]+(\\.desktop|\\.native|\\.ios|\\.android)?$"],
        "flowtype/define-flow-type": "error",
        "flowtype/delimiter-dangle": ["error", "always-multiline"],
        "flowtype/generic-spacing": "off",
        "flowtype/no-dupe-keys": "off",
        "flowtype/object-type-delimiter": ["error", "comma"],
        "flowtype/require-valid-file-annotation": ["error", "always", {"annotationStyle": "line"}],
        "flowtype/semi": ["error", "never"],
        "flowtype/space-after-type-colon": "off",
        "flowtype/space-before-generic-bracket": ["error", "never"],
        "flowtype/union-intersection-spacing": ["error", "always"],
        "flowtype/use-flow-type": "error",
        "flowtype/valid-syntax": ["error"],
        "generator-star-spacing": "off",
        "import/export": "error",
        "import/imports-first": "error",
        "import/named": "error",
        "import/no-duplicates": "error",
        "import/no-extraneous-dependencies": "error",
        "import/no-mutable-exports": "error",
        "import/no-named-as-default": "error",
        "import/no-named-as-default-member": "error",
        "indent": "off",
        "jsx-quotes": "off",
        "no-duplicate-imports": "off",
        "no-mixed-operators": "off",
        "prettier/prettier": ["error", {
          "singleQuote": true,
          "trailingComma": "es5",
          "tabWidth": 2,
          "bracketSpacing": false,
          "parser": "flow",
          "semi": false,
          "printWidth": 110,
        }],
        "react/jsx-boolean-value": ["error", "always"],
        "react/jsx-curly-spacing": "off",
        "react/jsx-equals-spacing": "error",
        "react/jsx-indent": "off",
        "react/jsx-indent-props": "off",
        "react/jsx-key": "error",
        "react/jsx-no-bind": ["error", {"allowArrowFunctions": true}],
        "react/jsx-no-duplicate-props": "error",
        "react/jsx-no-undef": "error",
        "react/jsx-pascal-case": "error",
        "react/jsx-uses-react": "error",
        "react/jsx-uses-vars": "error",
        "react/jsx-space-before-closing": "off",
        "react/no-danger": "error",
        "react/no-did-mount-set-state": "error",
        "react/no-did-update-set-state": "error",
        "react/no-direct-mutation-state": "error",
        "react/no-is-mounted": "error",
        "react/no-unknown-property": "error",
        "react/no-unused-prop-types": "off",
        "react/prop-types": "off",
        "react/react-in-jsx-scope": "error",
        "react/require-render-return": "error",
        "sort-keys": ["warn", "asc", {"caseSensitive": true, "natural": false}],
        "space-before-function-paren": "off",
        "standard/array-bracket-even-spacing": "off",
        "standard/computed-property-even-spacing": ["error", "never"],
        "standard/no-callback-literal": "off",
        "standard/object-curly-even-spacing": ["error", "never"],
        "strict": ["error", "global"],
        "yield-star-spacing": "off"
    }
}
