{
  "parser": "babel-eslint",
  "parserOptions": {
    "sourceType": "module",
    "allowImportExportEverywhere": false,
    "codeFrame": false
  },
  "env": {
    "browser": true,
    "node": true,
    "jest": true
  },
  "globals": {
    "$": true
  },
  "extends": "standard",
  "plugins": [
    "flowtype",
    "react"
  ],
  "rules": {
    "no-console": [
      "warn",
      {
        "allow": [
          "error"
        ]
      }
    ],
    "no-duplicate-imports": 0,
    "react/sort-comp": [
      2,
      {
        "order": [
          "type-annotations",
          "static-methods",
          "life-cycle",
          "everything-else",
          "render"
        ]
      }
    ],
    "react/no-unused-prop-types": 0,
    "react/jsx-uses-react": 2,
    "react/jsx-uses-vars": 2,
    "react/react-in-jsx-scope": 2,
    "flowtype/boolean-style": [
      2,
      "boolean"
    ],
    "flowtype/define-flow-type": 1,
    "flowtype/generic-spacing": [
      2,
      "never"
    ],
    "flowtype/no-primitive-constructor-types": 2,
    "flowtype/no-weak-types": 1,
    "flowtype/object-type-delimiter": [
      2,
      "comma"
    ],
    "flowtype/require-valid-file-annotation": 2,
    "flowtype/space-after-type-colon": [
      2,
      "always"
    ],
    "flowtype/space-before-generic-bracket": [
      2,
      "never"
    ],
    "flowtype/space-before-type-colon": [
      2,
      "never"
    ],
    "flowtype/union-intersection-spacing": [
      2,
      "always"
    ],
    "flowtype/use-flow-type": 1,
    "flowtype/valid-syntax": 1,
    // Workaround to bypass error: TypeError: Cannot read property 'range' of null
    // See: https://github.com/babel/babel-eslint/issues/681#issuecomment-420663038
    // We should upgrade from babel-eslint (deprecated) to @babel/eslint-parser
    "template-curly-spacing": "off",
    "indent": "off"
  },
  "settings": {
    "react": {
      "version": "detect"
    },
    "flowtype": {
      "onlyFilesWithFlowAnnotation": true
    }
  }
}
