{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "ignorePatterns": [
    "build/**",
    "node_modules/**",
    "public/**",
    "server/migrations/**",
    "server/scripts/**",
    "patches/**",
    "*.d.ts"
  ],
  "rules": {
    "for-direction": "error",
    "no-async-promise-executor": "error",
    "no-case-declarations": "error",
    "no-class-assign": "error",
    "no-compare-neg-zero": "error",
    "no-cond-assign": "error",
    "no-const-assign": "error",
    "no-constant-binary-expression": "error",
    "no-constant-condition": "error",
    "no-control-regex": "error",
    "no-debugger": "error",
    "no-delete-var": "error",
    "no-dupe-class-members": "error",
    "no-dupe-else-if": "error",
    "no-dupe-keys": "error",
    "no-duplicate-case": "error",
    "no-empty": "error",
    "no-empty-character-class": "error",
    "no-empty-pattern": "error",
    "no-empty-static-block": "error",
    "no-ex-assign": "error",
    "no-explicit-any": "warn",
    "no-extra-boolean-cast": "error",
    "no-fallthrough": "error",
    "no-func-assign": "error",
    "no-global-assign": "error",
    "no-import-assign": "error",
    "no-invalid-regexp": "error",
    "no-irregular-whitespace": "error",
    "no-loss-of-precision": "error",
    "no-new-native-nonconstructor": "error",
    "no-nonoctal-decimal-escape": "error",
    "no-obj-calls": "error",
    "no-prototype-builtins": "error",
    "no-redeclare": "error",
    "no-regex-spaces": "error",
    "no-self-assign": "error",
    "no-setter-return": "error",
    "no-shadow-restricted-names": "error",
    "no-sparse-arrays": "error",
    "no-this-before-super": "error",
    "no-unexpected-multiline": "error",
    "no-unsafe-finally": "error",
    "no-unsafe-negation": "error",
    "no-unsafe-optional-chaining": "error",
    "no-unused-labels": "error",
    "no-unused-private-class-members": "error",
    "no-unused-vars": "error",
    "no-useless-backreference": "error",
    "no-useless-catch": "error",
    "no-useless-escape": "error",
    "no-with": "error",
    "require-yield": "error",
    "use-isnan": "error",
    "valid-typeof": "error"
  },
  "overrides": [
    {
      "files": ["**/*.{js,jsx,ts,tsx}"],
      "rules": {
        "eqeqeq": "error",
        "curly": "error",
        "no-console": "error",
        "arrow-body-style": ["error", "as-needed"],
        "no-useless-escape": "off",
        "react/react-in-jsx-scope": "off",
        "react/self-closing-comp": [
          "error",
          {
            "component": true,
            "html": true
          }
        ],
        "@typescript-eslint/no-require-imports": "off",
        "import/no-named-as-default": "off",
        "import/no-named-as-default-member": "off",
        "typescript/consistent-type-imports": "error",
        "no-unused-vars": [
          "error",
          {
            "argsIgnorePattern": "^_",
            "caughtErrorsIgnorePattern": "^_",
            "args": "after-used",
            "ignoreRestSiblings": true
          }
        ],
        "react/rules-of-hooks": "error"
      },
      "plugins": ["eslint", "oxc", "react", "typescript", "import"]
    }
  ]
}
