{
  "extends": [
    "airbnb",
    "plugin:prettier/recommended"
  ],
  "parser": "babel-eslint",
  "plugins": [
    "cypress",
    "spellcheck"
  ],
  "parserOptions": {
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "modules": true,
      "legacyDecorators": true
    }
  },
  "env": {
    "es6": true,
    "commonjs": true,
    "browser": true,
    "jest": true,
    "cypress/globals": true
  },
  "settings": {
    "import/resolver": {
      "alias": {
        "map": [
          [
            "src",
            "./src"
          ],
          [
            "image",
            "./src/asset/image"
          ],
          [
            "components",
            "./src/components"
          ],
          [
            "utils",
            "./src/utils"
          ],
          [
            "stores",
            "./src/stores"
          ],
          [
            "pages",
            "./src/pages"
          ],
          [
            "containers",
            "./src/containers"
          ],
          [
            "layouts",
            "./src/layouts"
          ],
          [
            "client",
            "./src/client"
          ],
          [
            "resources",
            "./src/resources"
          ],
          [
            "core",
            "./src/core"
          ],
          [
            "asset",
            "./src/asset"
          ],
          [
            "styles",
            "./src/styles"
          ]
        ],
        "extensions": [
          ".js",
          ".jsx"
        ]
      }
    }
  },
  "rules": {
    "camelcase": "warn",
    "react/prop-types": "warn",
    "class-methods-use-this": "off",
    "react/prefer-stateless-function": "warn",
    "no-plusplus": "warn",
    "no-param-reassign": "warn",
    "react/jsx-props-no-spreading": "warn",
    "react/static-property-placement": "warn",
    "prefer-destructuring": "warn",
    "no-use-before-define": "warn",
    "react/forbid-prop-types": "warn",
    "react/no-array-index-key": "warn",
    "react/require-default-props": "warn",
    "consistent-return": "warn",
    "no-underscore-dangle": "warn",
    "no-unused-expressions": "warn",
    "no-empty": [
      2,
      {
        "allowEmptyCatch": true
      }
    ],
    "react/destructuring-assignment": "warn",
    "jsx-a11y/click-events-have-key-events": "warn",
    "jsx-a11y/no-static-element-interactions": "warn",
    "import/no-extraneous-dependencies": "warn",
    "import/prefer-default-export": "off",
    "no-nested-ternary": "warn",
    "import/no-named-as-default": "warn",
    "global-require": "off",
    "spellcheck/spell-checker": [
      "warn",
      {
        "comments": true,
        "strings": true,
        "identifiers": true,
        "templates": true,
        "lang": "en_US",
        "skipWords": [],
        "skipIfMatch": [],
        "skipWordIfMatch": [],
        "minLength": 3
      }
    ],
    "linebreak-style": ["error", "unix"]
  },
  "globals": {
    "t": true,
    "globals": true,
    "request": true,
    "METRICDICT": true,
    "globalCSS": true,
    "GLOBAL_VARIABLES": true
  }
}
