{
  "env": {
    "browser": true,
    "es6": true
  },
  "extends": [
    "plugin:react/recommended",
    "plugin:prettier/recommended",
    "plugin:import/errors",
    "plugin:import/warnings",
    "plugin:import/typescript"
  ],
  "globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 2018,
    "sourceType": "module"
  },
  "plugins": [
    "react",
    "prettier"
  ],
  "rules": {
    "prettier/prettier": [
      "error",
      {
        "singleQuote": true,
        "printWidth": 100,
        "quoteProps": "consistent"
      }
    ],
    "import/order": [
      "error",
      {
        "groups": [
          ["builtin", "external"],
          "internal",
          ["index", "sibling", "parent", "object"]
        ],
        "pathGroupsExcludedImportTypes": ["builtin"],
        "pathGroups": [{
          "pattern": "@**/**",
          "group": "external",
          "position": "after"
        }],
        "newlines-between": "always-and-inside-groups",
        "alphabetize": {
          "order": "asc",
          "caseInsensitive": true
        }
      }
    ],
    "no-var": "error",
    "prefer-const": "error",
    "camelcase": "error",
    "quotes": ["error", "single"],
    "jsx-quotes": ["error", "prefer-double"],
    "prefer-template": "error",
    "prefer-arrow-callback": "error",
    "no-useless-rename": "error",
    "no-duplicate-imports": "error",
    "indent": ["error", 2],
    "require-jsdoc": 0,
    "object-curly-spacing": ["error", "always"],
    "object-property-newline": "error",
    "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 2 }]
  }
}
