{
  "plugins": ["eslint", "unicorn", "oxc", "vue"],
  "categories": {
    "correctness": "error",
    "suspicious": "warn",
    "pedantic": "warn",
    "perf": "warn",
    "style": "warn",
    "restriction": "warn",
    "nursery": "off"
  },
  "env": {
    "browser": true,
    "builtin": true
  },
  "rules": {
    "eslint/capitalized-comments": "off",
    "eslint/complexity": "off",
    "eslint/id-length": "off",
    "eslint/init-declarations": "off",
    "eslint/max-depth": "off",
    "eslint/max-lines": "off",
    "eslint/max-lines-per-function": "off",
    "eslint/max-statements": "off",
    "eslint/no-console": ["warn", { "allow": ["info", "warn", "error"] }],
    "eslint/no-inline-comments": "off",
    "eslint/no-irregular-whitespace": ["error", { "skipTemplates": true }],
    "eslint/no-magic-numbers": "off",
    "eslint/no-new": "off",
    "eslint/no-shadow": "off",
    "eslint/no-ternary": "off",
    "eslint/no-throw-literal": "off",
    "eslint/no-undefined": "off",
    "eslint/no-underscore-dangle": "off",
    "eslint/no-unexpected-multiline": "off",
    "eslint/prefer-destructuring": [
      "warn",
      {
        "AssignmentExpression": {
          "array": false,
          "object": false
        },
        "VariableDeclarator": {
          "array": false,
          "object": true
        }
      }
    ],
    "eslint/prefer-named-capture-group": "off",
    "eslint/radix": "off",
    "eslint/require-unicode-regexp": "off",
    "eslint/sort-imports": "off",
    "eslint/sort-keys": "off",
    "oxc/no-async-await": "off",
    "oxc/no-map-spread": "off",
    "oxc/no-optional-chaining": "off",
    "oxc/no-rest-spread-properties": "off",
    "unicorn/filename-case": ["warn", { "cases": { "kebabCase": true, "pascalCase": true } }],
    "unicorn/no-empty-file": "warn",
    "unicorn/no-nested-ternary": "off",
    "unicorn/no-useless-switch-case": "off",
    "unicorn/prefer-global-this": "off",
    "vue/define-props-destructuring": "off",
    "vue/max-props": "off"
  },
  "overrides": [
    {
      "files": ["build-scripts/*.js"],
      "rules": {
        "eslint/no-console": "off"
      }
    },
    {
      "files": ["src/scripts/mocks/**/*.js"],
      "rules": {
        "eslint/no-console": "off",
        "unicorn/prefer-ternary": "off"
      }
    },
    {
      "files": ["src/scripts/blocks/**/*.js"],
      "rules": {
        "unicorn/prefer-top-level-await": "off"
      }
    },
    {
      "files": ["src/scripts/composables/*.js"],
      "rules": {
        "unicorn/filename-case": ["warn", { "cases": { "camelCase": true } }]
      }
    }
  ],
  "ignorePatterns": [".yarn"],
  "options": {
    "maxWarnings": 10
  }
}
