{
  "extends": ["airbnb", "plugin:flowtype/recommended"],
  "parser": "babel-eslint",
  "plugins": ["jest", "flowtype"],
  "rules": {
    "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
    "react/forbid-prop-types": [1, { "forbid": ["object", "any"] }],
    "class-methods-use-this": 0,
    "semi": ["error", "never"],
    "max-len": [
      "error",
      120,
      2,
      {
        "ignoreUrls": true,
        "ignoreComments": false,
        "ignoreRegExpLiterals": true,
        "ignoreStrings": true,
        "ignoreTemplateLiterals": true
      }
    ],
    "import/no-unresolved": 0,
    "import/no-extraneous-dependencies": 0,
    "import/extensions": 0,
    "import/prefer-default-export": 0,
    "react/default-props-match-prop-types": ["error", { "allowRequiredDefaults": true }],
    // https://github.com/yannickcr/eslint-plugin-react/issues/1593 ^
    "jsx-a11y/label-has-for": 0,
    "indent": ["error", 2, { "SwitchCase": 1 }],
    "no-console": ["error", { "allow": ["warn", "error"] }],
    "flowtype/require-valid-file-annotation": [
      2,
      "always",
      {
        "annotationStyle": "line"
      }
    ],
    "jsx-a11y/anchor-is-valid": [
      "error",
      {
        "components": ["Link"],
        "specialLink": ["to", "hrefLeft", "hrefRight"],
        "aspects": ["noHref", "invalidHref", "preferButton"]
      }
    ],
    "react/require-default-props": 0,
    "react/no-array-index-key": 0,
    "react/jsx-props-no-spreading": 0
  },
  "env": {
    "jest/globals": true,
    "browser": true
  }
}