{
  "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
  "vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false },
  "files": { "ignoreUnknown": false, "ignore": [] },
  "formatter": {
    "enabled": true,
    "formatWithErrors": false,
    "indentStyle": "space",
    "indentWidth": 2,
    "attributePosition": "auto",
    "bracketSpacing": true
  },
  "organizeImports": { "enabled": true },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "complexity": {
        "noExtraBooleanCast": "warn",
        "noMultipleSpacesInRegularExpressionLiterals": "warn",
        "noUselessLoneBlockStatements": "warn",
        "noUselessUndefinedInitialization": "warn",
        "noVoid": "warn",
        "noWith": "warn",
        "useLiteralKeys": "warn",
        "noBannedTypes": "off"
      },
      "correctness": {
        "noConstAssign": "error",
        "noConstantCondition": "off",
        "noEmptyCharacterClassInRegex": "warn",
        "noGlobalObjectCalls": "warn",
        "noInnerDeclarations": "off",
        "noInvalidUseBeforeDeclaration": "off",
        "noUndeclaredVariables": "error",
        "noUnreachable": "error",
        "noUnusedVariables": "warn",
        "useArrayLiterals": "warn",
        "useExhaustiveDependencies": "error",
        "useHookAtTopLevel": "error",
        "useIsNan": "warn",
        "noUnusedImports": "warn"
      },
      "security": { "noGlobalEval": "error" },
      "style": {
        "noCommaOperator": "warn",
        "noYodaExpression": "warn",
        "useBlockStatements": "warn",
        "useCollapsedElseIf": "off",
        "useConsistentBuiltinInstantiation": "warn",
        "useDefaultSwitchClause": "off",
        "useSingleVarDeclarator": "off",
        "noNonNullAssertion": "off"
      },
      "suspicious": {
        "noCatchAssign": "warn",
        "noCommentText": "error",
        "noConsole": "error",
        "noControlCharactersInRegex": "warn",
        "noDebugger": "warn",
        "noDoubleEquals": "warn",
        "noDuplicateClassMembers": "error",
        "noDuplicateJsxProps": "error",
        "noDuplicateObjectKeys": "error",
        "noEmptyBlockStatements": "off",
        "noFallthroughSwitchClause": "warn",
        "noFunctionAssign": "warn",
        "noGlobalAssign": "error",
        "noLabelVar": "warn",
        "noRedeclare": "off",
        "noSelfCompare": "warn",
        "noShadowRestrictedNames": "warn",
        "noSparseArray": "warn",
        "useValidTypeof": "warn",
        "noExplicitAny": "off"
      }
    }
  },
  "javascript": {
    "formatter": {
      "quoteStyle": "single",
      "jsxQuoteStyle": "single",
      "quoteProperties": "asNeeded",
      "trailingCommas": "all",
      "semicolons": "always",
      "arrowParentheses": "asNeeded",
      "attributePosition": "auto",
      "bracketSpacing": true
    },
    "globals": [
      "clearImmediate",
      "queueMicrotask",
      "Blob",
      "Set",
      "Promise",
      "requestIdleCallback",
      "setImmediate",
      "requestAnimationFrame",
      "File",
      "Map",
      "__DEV__",
      "WebSocket"
    ]
  },
  "overrides": [
    { "include": ["*.js"], "linter": { "rules": {} } },
    { "include": ["*.jsx"] },
    {
      "include": ["*.ts", "*.tsx"],
      "linter": {
        "rules": {}
      }
    },
    {
      "include": [
        "*.{spec,test}.{js,ts,tsx}",
        "**/__{mocks,tests}__/**/*.{js,ts,tsx}"
      ],
      "linter": { "rules": {} }
    }
  ]
}
