{
  "parser": "babel-eslint",
  "parserOptions": {
    "sourceType": "module",
    "allowImportExportEverywhere": true
  },
  "extends": [
    "airbnb",
    "plugin:react/recommended",
    "plugin:flowtype/recommended",
    "plugin:import/errors",
    "plugin:import/warnings",
    "plugin:jsx-a11y/strict",
    "plugin:promise/recommended"
  ],
  "env": {
    "browser": true,
    "node": true
  },
  "rules": {
    "comma-dangle": ["error", "never"],
    "semi": ["error", "never"],
    "indent": 2,
    "jsx-quotes": ["error", "prefer-single"],
    "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
    "jsx-a11y/no-static-element-interactions": 0,
    "jsx-a11y/no-noninteractive-element-interactions": 0,
    "jsx-a11y/click-events-have-key-events": 0,
    "jsx-a11y/label-has-for": [ 2, {
      "components": [ "Label" ],
      "required": {
        "every": [ "id" ]
      },
      "allowChildren": false
    }],
    "react/no-array-index-key": 0,
    "react/forbid-prop-types": 0,
    "camelcase": 0,
    "react/require-default-props": 0,
    "max-len": ["error", 150],
    "import/no-extraneous-dependencies": 0,
    "no-new": 0,
    "compat/compat": "error",
    "flowtype-errors/show-errors": "error",
    "flowtype-errors/enforce-min-coverage": ["error", 20]
  },
  "plugins": [
    "flowtype",
    "flowtype-errors",
    "import",
    "promise",
    "compat",
    "react"
  ],
  "settings": {
    "import/resolver": {
      "node": {
        "moduleDirectory": ["app", "app/node_modules", "node_modules"]
      },
      "webpack": {
        "config": "webpack.config.eslint.js"
      }
    }
  }
}