{
  "$schema": "https://json.schemastore.org/eslintrc",
  "root": true,
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint"
  ],
  "overrides": [
    {
      "files": ["*.ts", "*.mjs"],
      "extends": [
        "airbnb-base",
        "airbnb-typescript/base",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended"
      ],
      "parserOptions": {
        "parser": "@typescript-eslint/parser",
        "project": "./tsconfig.json",
        "sourceType": "module"
      },
      "rules": {
        "max-len": ["error", { "code": 120 }],
        "consistent-return": "off",
        "no-underscore-dangle": "off",
        "import/no-cycle": "off",
        "class-methods-use-this": "off",
        "import/prefer-default-export": "off",
        "import/no-default-export": "error",
        "import/no-extraneous-dependencies": "off",
        "import/extensions": "off",
        "@typescript-eslint/quotes": ["error", "double"],
        "@typescript-eslint/no-explicit-any": "off"
      }
    }
  ]
}