{
  "extends": [
    "eslint:recommended",
    "plugin:import/recommended",
    "plugin:prettier/recommended"
  ],
  "plugins": ["prettier"],
  "rules": {
    "strict": [2, "global"],
    "no-duplicate-imports": [2, { "includeExports": true }],

    "eqeqeq": 2,
    "block-scoped-var": 2,
    "no-constant-condition": 2,
    "no-console": 2,
    "no-debugger": 2,
    "no-lonely-if": 2,
    "no-lone-blocks": 2,
    "no-nested-ternary": 2,
    "no-dupe-keys": 2,
    "no-extra-boolean-cast": 2,
    "no-irregular-whitespace": 2,
    "no-else-return": 2,
    "no-eval": 2,
    "no-multi-str": 2,
    "no-self-compare": 2,
    "no-useless-call": 2,
    "no-shadow-restricted-names": 2,
    "no-shadow": 2,
    "no-undef": 2,
    "no-undef-init": 2,
    "no-unreachable": 2,
    "no-unused-vars": 2,
    "no-use-before-define": 2,

    "radix": 2,
    "curly": 2,
    "no-fallthrough": 2,
    "default-case": 2,

    "no-var": 2,
    "no-unused-expressions": 2,
    "camelcase": 0,
    "import/order": [
      2,
      {
        "newlines-between": "always",
        "groups": [
          ["builtin", "external"],
          ["internal", "parent", "sibling", "index"],
          ["unknown"]
        ],
        "pathGroups": [
          {
            "group": "internal",
            "pattern": "^/**"
          }
        ]
      }
    ],
    "import/no-unresolved": [
      2,
      {
        "commonjs": true,
        "amd": true
      }
    ],
    "import/no-self-import": 2,
    "import/no-cycle": 2,
    "import/no-useless-path-segments": [
      2,
      {
        "noUselessIndex": true
      }
    ],
    "import/no-unused-modules": 0,
    "import/no-deprecated": 2,
    "import/no-extraneous-dependencies": 2,
    "import/no-mutable-exports": 2,
    "import/no-duplicates": 2,
    "import/extensions": [
      2,
      "always",
      {
        "js": "never",
        "jsx": "never",
        "ts": "never",
        "tsx": "never"
      }
    ],
    "import/prefer-default-export": 0,
    "import/no-anonymous-default-export": [
      2,
      {
        "allowArray": false,
        "allowArrowFunction": false,
        "allowAnonymousClass": false,
        "allowAnonymousFunction": false,
        "allowCallExpression": true,
        "allowLiteral": false,
        "allowObject": false
      }
    ],
    "import/named": 2
  }
}
