{ "$schema": "https://biomejs.dev/schemas/2.4.16/schema.json", "assist": { "actions": { "source": { "useSortedAttributes": "on", "useSortedInterfaceMembers": "on", "useSortedKeys": "on", "useSortedProperties": "on" } } }, "files": { "ignoreUnknown": true, "includes": [ "**/*.js", "**/*.ts", "**/*.tsx", "!src/static", "!src/ui/static", "!src/ui/client/scanner.js", "!**/.pi-worktrees", "!**/.security-worktrees", "!**/.mutation-runs", "!**/.scratch" ] }, "formatter": { "indentStyle": "space", "indentWidth": 2, "lineWidth": 80 }, "linter": { "domains": { "project": "all" }, "enabled": true, "rules": { "a11y": { "noLabelWithoutControl": "off", "useValidAnchor": "off" }, "complexity": { "noExcessiveCognitiveComplexity": { "level": "warn", "options": { "maxAllowedComplexity": 13 } }, "noForEach": "error", "noStaticOnlyClass": "error", "noThisInStatic": "error", "noUselessStringConcat": "error", "noUselessTernary": "error", "noUselessThisAlias": "error", "noUselessUndefined": "error", "useArrowFunction": "error", "useDateNow": "error", "useFlatMap": "error", "useLiteralKeys": "error", "useOptionalChain": "error", "useRegexLiterals": "error", "useWhile": "error" }, "correctness": { "noUndeclaredDependencies": "off", "noUnresolvedImports": "off", "noUnusedFunctionParameters": "error", "noUnusedImports": "error", "noUnusedVariables": "error" }, "nursery": { "noExcessiveLinesPerFile": { "level": "error", "options": { "maxLines": 1000 } }, "useSortedClasses": "error" }, "performance": { "noAccumulatingSpread": "error" }, "style": { "noNonNullAssertion": "off", "noUnusedTemplateLiteral": "error", "noUselessElse": "error", "noYodaExpression": "error", "useAsConstAssertion": "error", "useCollapsedElseIf": "error", "useConsistentArrayType": { "level": "error", "options": { "syntax": "shorthand" } }, "useConsistentArrowReturn": "error", "useConst": "error", "useExponentiationOperator": "error", "useNumberNamespace": "error", "useShorthandAssign": "error", "useShorthandFunctionType": "error", "useSingleVarDeclarator": "error", "useTemplate": "error", "useThrowNewError": "error", "useTrimStartEnd": "error" }, "suspicious": { "noAssignInExpressions": "error", "noConsole": "error", "noDoubleEquals": { "level": "error", "options": { "ignoreNull": false } }, "noExplicitAny": "off", "noFocusedTests": "error", "noImplicitAnyLet": "error", "noSkippedTests": "error", "noVar": "error" } } }, "overrides": [ { "includes": ["src/**/*.ts", "src/**/*.tsx"], "linter": { "rules": { "complexity": { "noExcessiveCognitiveComplexity": { "level": "warn", "options": { "maxAllowedComplexity": 12 } } } } } }, { "includes": ["test/**/*.js", "test/**/*.ts", "test/**/*.tsx"], "linter": { "rules": { "correctness": { "noUnusedFunctionParameters": "off", "noUnusedVariables": "off" }, "suspicious": { "noConsole": "off" } } } }, { "includes": ["src/shared/logger.ts", "src/ui/client/order.ts"], "linter": { "rules": { "suspicious": { "noConsole": "off" } } } }, { "includes": ["scripts/**/*.ts"], "linter": { "rules": { "suspicious": { "noConsole": "off" } } } }, { "includes": ["src/ui/client/scanner.js", "src/ui/static/**"], "linter": { "enabled": false } }, { "includes": ["test/scripts/code-quality/**"], "linter": { "rules": { "suspicious": { "noTemplateCurlyInString": "off" } } } } ], "vcs": { "useIgnoreFile": true } }