{
  "$schema": "https://biomejs.dev/schemas/2.5.15/schema.json",
  "vcs": {
    "enabled": true,
    "clientKind": "git",
    "useIgnoreFile": true
  },
  "files": {
    "includes": ["**", "!vendor"]
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf",
    "lineWidth": 80
  },
  "javascript": {
    "globals": [
      "describe",
      "it",
      "test",
      "expect",
      "vi",
      "beforeEach",
      "afterEach",
      "beforeAll",
      "afterAll"
    ],
    "formatter": {
      "quoteStyle": "single",
      "trailingCommas": "none",
      "semicolons": "always",
      "arrowParentheses": "always"
    }
  },
  "linter": {
    "enabled": true,
    "rules": {
      "preset": "none",
      "complexity": {
        "noCommaOperator": "error",
        "noExtraBooleanCast": "error",
        "noUselessCatch": "error",
        "noUselessConstructor": "error",
        "noUselessLoneBlockStatements": "error",
        "noUselessRename": "error",
        "noUselessTernary": "error",
        "noVoid": "error",
        "useLiteralKeys": "error"
      },
      "correctness": {
        "noConstAssign": "error",
        "noConstantCondition": "error",
        "noEmptyCharacterClassInRegex": "error",
        "noEmptyPattern": "error",
        "noGlobalObjectCalls": "error",
        "noInvalidBuiltinInstantiation": "error",
        "noInvalidConstructorSuper": "error",
        "noPrecisionLoss": "error",
        "noSelfAssign": "error",
        "noSwitchDeclarations": "error",
        "noUndeclaredVariables": "error",
        "noUnreachable": "error",
        "noUnreachableSuper": "error",
        "noUnsafeFinally": "error",
        "noUnsafeOptionalChaining": "error",
        "noUnusedLabels": "error",
        "noUnusedVariables": {
          "level": "error",
          "options": {
            "ignoreRestSiblings": true
          }
        },
        "useIsNan": "error",
        "useValidForDirection": "error",
        "useValidTypeof": "error"
      },
      "style": {
        "noYodaExpression": "error",
        "useArrayLiterals": "error",
        "useConst": "error",
        "useThrowOnlyError": "error"
      },
      "suspicious": {
        "noAssignInExpressions": "error",
        "noAsyncPromiseExecutor": "error",
        "noCatchAssign": "error",
        "noClassAssign": "error",
        "noCompareNegZero": "error",
        "noControlCharactersInRegex": "off",
        "noDebugger": "error",
        "noDoubleEquals": {
          "level": "error",
          "options": {
            "ignoreNull": true
          }
        },
        "noDuplicateCase": "error",
        "noDuplicateClassMembers": "error",
        "noDuplicateObjectKeys": "error",
        "noDuplicateParameters": "error",
        "noFallthroughSwitchClause": "error",
        "noFunctionAssign": "error",
        "noGlobalAssign": "error",
        "noImportAssign": "error",
        "noIrregularWhitespace": "error",
        "noLabelVar": "error",
        "noMisleadingCharacterClass": "error",
        "noOctalEscape": "error",
        "noPrototypeBuiltins": "off",
        "noRedeclare": "error",
        "noSelfCompare": "error",
        "noShadowRestrictedNames": "error",
        "noSparseArray": "error",
        "noTemplateCurlyInString": "error",
        "noUnsafeNegation": "error",
        "noVar": "warn",
        "noWith": "error",
        "useGetterReturn": "error",
        "useIterableCallbackReturn": "error"
      }
    }
  },
  "assist": {
    "enabled": true,
    "actions": {
      "source": {
        "organizeImports": "off"
      }
    }
  }
}
