{
  "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
  "organizeImports": {
    "enabled": true
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space"
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "complexity": {
        "noExcessiveCognitiveComplexity": {
          "level": "error",
          "options": {
            "maxAllowedComplexity": 11
          }
        },
        "useSimplifiedLogicExpression": "error"
      },
      "correctness": {
        "noConstantMathMinMaxClamp": "error",
        "noUndeclaredVariables": "error",
        "noUnusedImports": "warn",
        "noUnusedPrivateClassMembers": "error",
        "noUnusedVariables": "warn",
        "useArrayLiterals": "error",
        "useHookAtTopLevel": "error"
      },
      "nursery": {
        "noDuplicateAtImportRules": "error",
        "noDuplicateElseIf": "error",
        "noDuplicateFontNames": "error",
        "noDuplicateJsonKeys": "error",
        "noDuplicateSelectorsKeyframeBlock": "error",
        "noEmptyBlock": "info",
        "noEvolvingTypes": "error",
        "noImportantInKeyframe": "error",
        "noInvalidPositionAtImportRule": "error",
        "noLabelWithoutControl": "warn",
        "noMisplacedAssertion": "error",
        "noUndeclaredDependencies": "error",
        "noUnknownFunction": "warn",
        "noUnknownMediaFeatureName": "warn",
        "noUnknownProperty": "warn",
        "noUnknownPseudoClassSelector": "warn",
        "noUnknownUnit": "warn",
        "noUnmatchableAnbSelector": "error",
        "noUnusedFunctionParameters": "info",
        "noUselessUndefinedInitialization": "error",
        "noYodaExpression": "error",
        "useAdjacentOverloadSignatures": "error",
        "useConsistentBuiltinInstantiation": "error",
        "useDateNow": "error",
        "useDefaultSwitchClause": "warn",
        "useErrorMessage": "error",
        "useExplicitLengthCheck": "error",
        "useFocusableInteractive": "error",
        "useImportExtensions": "info",
        "useNumberToFixedDigitsArgument": "error",
        "useSemanticElements": "error",
        /**
         * The rule is working in progress, and is only partially implemented. Progress
         * is tracked in the issue linked below.
         *
         * @see [issue](https://github.com/biomejs/biome/issues/1274)
         * @see [rule docs](https://biomejs.dev/linter/rules/use-sorted-classes/)
         */
        "useSortedClasses": {
          "level": "info",
          "options": {
            "functions": [
              "cn",
              "clsx",
              "cva",
              "tw"
            ]
          }
        },
        "useThrowNewError": "error",
        "useThrowOnlyError": "error",
        "useTopLevelRegex": "warn"
      },
      "performance": {
        "noAccumulatingSpread": "warn",
        "noBarrelFile": "error",
        "noReExportAll": "warn"
      },
      "style": {
        "noDefaultExport": "info",
        "noNegationElse": "warn",
        "noRestrictedGlobals": {
          "level": "error",
          "options": {
            "deniedGlobals": [
              "alert",
              "confirm",
              "prompt",
              "React",
              "ReactDOM"
            ]
          }
        },
        "noShoutyConstants": "warn",
        "useBlockStatements": "error",
        "useCollapsedElseIf": "error",
        "useConsistentArrayType": "warn",
        "useForOf": "error",
        "useFragmentSyntax": "error",
        "useNodeAssertStrict": "error",
        "useShorthandArrayType": "error",
        "useShorthandAssign": "error",
        "useSingleCaseStatement": "error"
      },
      "suspicious": {
        "noEmptyBlockStatements": "error",
        "noSkippedTests": "error",
        "useAwait": "error"
      }
    }
  },
  "vcs": {
    "enabled": true,
    "clientKind": "git",
    "useIgnoreFile": true,
    "defaultBranch": "main"
  },
  "overrides": [
    {
      "include": [
        ".vscode/**"
      ],
      "json": {
        "parser": {
          "allowComments": true,
          "allowTrailingCommas": true
        }
      }
    }
  ]
}
