{
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
  "files": {
    "includes": [
      "app/**/*.ts",
      "operations/**/*.ts",
      "workers/**/*.ts",
      "pages/**/*.ts",
      "components/**/*.ts",
      "scripts/**/*.ts",
      "main.ts",
      "!**/*.test.ts",
      "!nano-generated/**",
      "!node_modules/**"
    ]
  },
  "linter": {
    "enabled": true,
    "includes": [
      "app/**/*.ts",
      "operations/**/*.ts",
      "workers/**/*.ts",
      "pages/**/*.ts",
      "components/**/*.ts",
      "scripts/**/*.ts",
      "main.ts",
      "!**/*.test.ts",
      "!nano-generated/**",
      "!node_modules/**"
    ],
    "rules": {
      "recommended": true,
      "complexity": {
        "noAdjacentSpacesInRegex": "error",
        "noArguments": "error",
        "noBannedTypes": "error",
        "noCommaOperator": "error",
        "noEmptyTypeParameters": "error",
        "noExtraBooleanCast": "error",
        "noFlatMapIdentity": "error",
        "noImportantStyles": "error",
        "noStaticOnlyClass": "error",
        "noThisInStatic": "error",
        "noUselessCatch": "error",
        "noUselessConstructor": "error",
        "noUselessContinue": "error",
        "noUselessEmptyExport": "error",
        "noUselessEscapeInRegex": "error",
        "noUselessFragments": "error",
        "noUselessLabel": "error",
        "noUselessLoneBlockStatements": "error",
        "noUselessRename": "error",
        "noUselessStringRaw": "error",
        "noUselessSwitchCase": "error",
        "noUselessTernary": "error",
        "noUselessThisAlias": "error",
        "noUselessTypeConstraint": "error",
        "noUselessUndefinedInitialization": "error",
        "useArrowFunction": "error",
        "useDateNow": "error",
        "useFlatMap": "error",
        "useIndexOf": "error",
        "useLiteralKeys": "error",
        "useNumericLiterals": "error",
        "useOptionalChain": "error",
        "useRegexLiterals": "error",
        "useSimpleNumberKeys": "error"
      },
      "correctness": {
        "noUnusedFunctionParameters": "error",
        "noUnusedImports": "error",
        "noUnusedLabels": "error",
        "noUnusedPrivateClassMembers": "error",
        "noUnusedVariables": "error",
        "useParseIntRadix": "error"
      },
      "performance": {
        "noAccumulatingSpread": "error",
        "noDynamicNamespaceImportAccess": "error"
      },
      "style": {
        "noDescendingSpecificity": "error",
        "noNonNullAssertion": "error",
        "useArrayLiterals": "error",
        "useConst": "error",
        "useDeprecatedReason": "error",
        "useExponentiationOperator": "error",
        "useExportType": "error",
        "useImportType": "error",
        "useLiteralEnumMembers": "error",
        "useNodejsImportProtocol": "error",
        "useShorthandFunctionType": "error",
        "useTemplate": "error"
      },
      "suspicious": {
        "noApproximativeNumericConstant": "error",
        "noCatchAssign": "error",
        "noConfusingLabels": "error",
        "noConfusingVoidType": "error",
        "noConstEnum": "error",
        "noDocumentCookie": "error",
        "noDuplicateFields": "error",
        "noEmptyBlock": "error",
        "noEvolvingTypes": "error",
        "noExplicitAny": "error",
        "noExtraNonNullAssertion": "error",
        "noGlobalIsFinite": "error",
        "noGlobalIsNan": "error",
        "noImplicitAnyLet": "error",
        "noIrregularWhitespace": "error",
        "noOctalEscape": "error",
        "noPrototypeBuiltins": "error",
        "noQuickfixBiome": "error",
        "noRedundantUseStrict": "error",
        "noSuspiciousSemicolonInJsx": "error",
        "noTemplateCurlyInString": "error",
        "noTsIgnore": "error",
        "noUselessEscapeInString": "error",
        "noUselessRegexBackrefs": "error",
        "useAdjacentOverloadSignatures": "error",
        "useBiomeIgnoreFolder": "error",
        "useDefaultSwitchClauseLast": "error",
        "useGoogleFontDisplay": "error",
        "useIsArray": "error"
      }
    },
    "domains": {
      "react": "none",
      "solid": "none",
      "next": "none",
      "qwik": "none",
      "vue": "none"
    }
  },
  "plugins": [
    "./plugins/no-unsafe-type-assertion.grit"
  ],
  "formatter": {
    "enabled": false
  },
  "overrides": [
    {
      "includes": [
        "workers/readiness-probe/**"
      ],
      "linter": {
        "rules": {
          "style": {
            "noRestrictedGlobals": {
              "level": "error",
              "options": {
                "deniedGlobals": {
                  "setTimeout": "Use engine BPMN timers; readiness-probe must be single-shot.",
                  "setInterval": "Use engine BPMN timers; readiness-probe must be single-shot.",
                  "Date": "Use engine BPMN timers; readiness-probe must not read wall-clock time."
                }
              }
            }
          }
        }
      }
    }
  ]
}
