{
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
  "assist": {
    "enabled": false
  },
  "files": {
    "ignoreUnknown": true,
    "includes": ["**", "!**/package.json"]
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": false,
      "a11y": {
        "useButtonType": "error",
        "useHeadingContent": "error",
        "useHtmlLang": "error",
        "useIframeTitle": "error",
        "useValidAriaRole": "error",
        "useValidLang": "error"
      },
      "complexity": {
        "noExtraBooleanCast": "error",
        "noStaticOnlyClass": "error",
        "noUselessCatch": "error",
        "noUselessConstructor": "error",
        "noUselessEmptyExport": "error",
        "noUselessFragments": "error",
        "noUselessLabel": "error",
        "noUselessLoneBlockStatements": "error",
        "noUselessRename": "error",
        "noUselessTernary": "error",
        "noUselessThisAlias": "error",
        "noUselessTypeConstraint": "error",
        "noVoid": "error",
        "useArrowFunction": "error",
        "useFlatMap": "error",
        "useLiteralKeys": "off",
        "useOptionalChain": "error",
        "useRegexLiterals": "error",
        "noUselessStringConcat": "error",
        "noAdjacentSpacesInRegex": "error",
        "noCommaOperator": "error",
        "useNumericLiterals": "error",
        "noArguments": "error"
      },
      "correctness": {
        "noChildrenProp": "error",
        "noConstantCondition": "error",
        "noConstAssign": "error",
        "noConstructorReturn": "error",
        "noEmptyCharacterClassInRegex": "error",
        "noEmptyPattern": "error",
        "noGlobalObjectCalls": "error",
        "noInnerDeclarations": "error",
        "noInvalidConstructorSuper": "error",
        "noNonoctalDecimalEscape": "error",
        "noPrecisionLoss": "error",
        "noSelfAssign": "error",
        "noSetterReturn": "error",
        "noSwitchDeclarations": "error",
        "noUnreachable": "error",
        "noUnreachableSuper": "error",
        "noUnsafeFinally": "error",
        "noUnsafeOptionalChaining": "error",
        "noUnusedLabels": "error",
        "noVoidElementsWithChildren": "error",
        "useExhaustiveDependencies": "error",
        "useIsNan": "error",
        "useJsxKeyInIterable": "error",
        "useValidForDirection": "error",
        "useYield": "error",
        "noInvalidBuiltinInstantiation": "error",
        "useValidTypeof": "error"
      },
      "style": {
        "noImplicitBoolean": "off",
        "noInferrableTypes": "error",
        "noNamespace": "error",
        "noRestrictedGlobals": "error",
        "useAsConstAssertion": "error",
        "useBlockStatements": "error",
        "useCollapsedElseIf": "error",
        "useConst": "error",
        "useExponentiationOperator": "error",
        "useLiteralEnumMembers": "error",
        "useSelfClosingElements": "error",
        "useSingleVarDeclarator": "error",
        "noNegationElse": "error",
        "useConsistentArrayType": {
          "level": "error",
          "options": { "syntax": "shorthand" }
        },
        "useDefaultParameterLast": "error",
        "useExportType": "error",
        "useImportType": "error",
        "useForOf": "error",
        "useShorthandAssign": "error",
        "useShorthandFunctionType": "error",
        "noUselessElse": "error",
        "useConsistentBuiltinInstantiation": "error",
        "useThrowNewError": "error",
        "useThrowOnlyError": "error",
        "noYodaExpression": "error"
      },
      "security": {
        "noGlobalEval": "error",
        "noDangerouslySetInnerHtml": "error",
        "noDangerouslySetInnerHtmlWithChildren": "error",
        "noBlankTarget": "error"
      },
      "suspicious": {
        "noAssignInExpressions": "error",
        "noAsyncPromiseExecutor": "error",
        "noFunctionAssign": "error",
        "noArrayIndexKey": "error",
        "noCatchAssign": "error",
        "noClassAssign": "error",
        "noCommentText": "error",
        "noControlCharactersInRegex": "error",
        "noDebugger": "error",
        "noDuplicateJsxProps": "error",
        "noDuplicateObjectKeys": "error",
        "noExtraNonNullAssertion": "error",
        "noFallthroughSwitchClause": "error",
        "noGlobalAssign": "error",
        "noImportAssign": "error",
        "noMisleadingCharacterClass": "error",
        "noPrototypeBuiltins": "error",
        "noRedeclare": "error",
        "noSelfCompare": "error",
        "noShadowRestrictedNames": "error",
        "noUnsafeDeclarationMerging": "error",
        "useDefaultSwitchClauseLast": "error",
        "useGetterReturn": "error",
        "useNamespaceKeyword": "error",
        "noUnsafeNegation": "error",
        "noDuplicateParameters": "error",
        "noEmptyBlockStatements": "error",
        "noEmptyInterface": "error",
        "noCompareNegZero": "error",
        "noConfusingLabels": "error",
        "noSparseArray": "error",
        "noDoubleEquals": "error",
        "noDuplicateClassMembers": "error",
        "noLabelVar": "error",
        "noDuplicateCase": "error",
        "noMisplacedAssertion": "error",
        "useErrorMessage": "error",
        "noWith": "error",
        "noVar": "error"
      }
    }
  },
  "formatter": {
    "enabled": true,
    "formatWithErrors": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf"
  },
  "json": {
    "formatter": {
      "enabled": true,
      "lineWidth": 100
    }
  },
  "javascript": {
    "formatter": {
      "enabled": true,
      "lineWidth": 100,
      "quoteStyle": "single",
      "jsxQuoteStyle": "double",
      "quoteProperties": "asNeeded",
      "trailingCommas": "all",
      "semicolons": "always",
      "arrowParentheses": "asNeeded",
      "bracketSpacing": true,
      "bracketSameLine": false
    }
  }
}
