{
  "plugins": [
    "babel",
    "react",
    "flowtype",
    "jest",
    "verdaccio",
    "jsx-a11y"
  ],
  "extends": [
    "eslint:recommended",
    "google",
    "plugin:flowtype/recommended",
    "plugin:jest/recommended",
    "plugin:prettier/recommended",
    "plugin:react/recommended",
    "plugin:verdaccio/recommended",
    "plugin:jsx-a11y/recommended"
  ],
  "settings": {
    "react": {
      "pragma": "React",
      "version": "16.4.2",
      "flowVersion": "0.81.0"
    }
  },
  "parser": "babel-eslint",
  "parserOptions": {
    "sourceType": "module",
    "ecmaVersion": 7,
    "ecmaFeatures": {
      "impliedStrict": true,
      "jsx": true
    }
  },
  "env": {
    "browser": true,
    "node": true,
    "es6": true,
    "jest": true
  },
  "globals": {
    "__APP_VERSION__": true
  },
  "rules": {
    "babel/no-invalid-this": 1,
    "prettier/prettier": ["error", null, "@prettier"],
    "react/no-deprecated": 1,
    "react/jsx-no-target-blank": 1,
    "react/destructuring-assignment": ["error", "always"],
    "react/forbid-component-props": ["warn", { "forbid": ["style"] }],
    "react/no-this-in-sfc": ["warn"],
    "react/no-unsafe": ["warn"],
    "react/sort-comp": ["warn", {
      "order": [
        "static-methods",
        "lifecycle",
        "render",
        "everything-else",
        "/^on.+$/",
        "/^render.+$/"
      ]
    }],
    "react/void-dom-elements-no-children": ["warn"],
    "react/no-did-mount-set-state": ["error", "disallow-in-func"],
    "react/jsx-wrap-multilines": ["error",{
      "declaration": "parens",
      "assignment": "parens",
      "return": "parens",
      "arrow": "parens",
      "condition": "parens",
      "logical": "parens",
      "prop": "parens"
    }],
    "react/jsx-boolean-value": ["error", "always"],
    "react/jsx-closing-tag-location": ["error"],
    "react/jsx-curly-spacing": ["error", "never"],
    "react/jsx-equals-spacing": ["error", "never"],
    "react/jsx-first-prop-new-line": ["error", "multiline-multiprop"],
    "react/jsx-handler-names": ["warn"],
    "react/jsx-indent": ["error", 2],
    "react/jsx-indent-props": ["error", 2],
    "react/jsx-key": ["error"],
    "react/jsx-max-depth": ["error", { "max": 2}],
    "react/jsx-max-props-per-line": ["error", {"maximum": 3, "when": "multiline" }],
    "react/jsx-no-bind": ["error"],
    "react/jsx-no-comment-textnodes": ["error"],
    "react/jsx-no-duplicate-props": ["error"],
    "react/jsx-no-literals": ["error"],
    "react/jsx-no-undef": ["error"],
    "react/jsx-one-expression-per-line": ["error", {"allow": "single-child"}],
    "react/jsx-curly-brace-presence": ["error", { "props": "always", "children": "ignore" }],
    "react/jsx-pascal-case": ["error"],
    "react/jsx-props-no-multi-spaces": ["error"],
    "react/jsx-sort-default-props": ["error"],
    "react/jsx-sort-props": ["error"],
    "react/no-string-refs": ["error"],
    "react/no-danger-with-children": ["error"],
    "react/jsx-tag-spacing": ["error", {
      "closingSlash": "never",
      "beforeSelfClosing": "always",
      "afterOpening": "allow-multiline",
      "beforeClosing": "allow"
    }],
    "react/prefer-es6-class": [
      2,
      "always"
    ],
    "semi": ["error"],
    "comma-dangle": ["error"],
    "camelcase": 0,
    "no-useless-escape": ["error"],
    "no-invalid-this": 0,
    "handle-callback-err": ["error"],
    "no-fallthrough": ["error"],
    "no-new-require": ["error"],
    "max-len": ["error", 160],
    "require-jsdoc": 0,
    "valid-jsdoc": 0,
    "prefer-spread": 1,
    "prefer-rest-params": 1,
    "linebreak-style": 0,
    "quote-props":["error", "as-needed"],
    "verdaccio/jsx-no-style": ["warn"],
    "verdaccio/jsx-spread": ["warn"],
    "jest/expect-expect": 0
  }
}