{
  "root": true,
  "parser": "babel-eslint",
  "plugins": [
    "react"
  ],
  "extends": "eslint:recommended",
  "rules": {
    "strict": 0,
    "quotes": [0, "single"],
    "curly": [1, "multi-line"],
    "camelcase": 0,
    "comma-dangle": 0,
    "dot-notation": 0,
    "jsx-quotes": [1, "prefer-double"], // use double quotes in jsx
    "no-alert": 2,
    "no-console": 2,
    "no-debugger": 2,
    "no-use-before-define": [1, "nofunc"],
    "no-underscore-dangle": 0,
    "no-unused-vars": [1, {
      "argsIgnorePattern": "^((prev|next)(State|Props)|e|_.*)$",
      "vars": "local",
      "varsIgnorePattern": "(debug|^_)"
    }],
    "new-cap": 0,
    "prefer-const": 1,
    "react/jsx-boolean-value": [1, "always"], // forces `var={true}` instead of `var`
    "react/jsx-curly-spacing": [1, "never"], // don't allow `var={ 1 }`
    "react/jsx-no-duplicate-props": 1, // prevent <foo name="bar" name="baz" />
    "react/jsx-no-undef": 2, // warn when using undefined components (why is this not default?)
    "react/jsx-uses-react": 1, // marks `React` as consumed by any jsx el (squelched unused)
    "react/jsx-uses-vars": 1, // marks any vars in jsx as used
    "react/wrap-multilines": 1, // require parens around multiline jsx
    "semi": [1, "always"]
  },
  env: {
    "browser": true,
    "node": true,
    "es6": true
  },
  "ecmaFeatures": {
    "jsx": true
  },
  "globals": {
    // For Flow
    "ReactElement",
    "ReactClass"
  }
}
