{
	"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
	"linter": {
		"enabled": true,
		"rules": {
			"recommended": false,
			"complexity": {
				"noExtraBooleanCast": "error",
				"noMultipleSpacesInRegularExpressionLiterals": "error",
				"noUselessCatch": "error",
				"noUselessConstructor": "error",
				"noUselessStringConcat": "error",
				"noUselessThisAlias": "error",
				"noUselessTypeConstraint": "error",
				"noWith": "error"
			},
			"correctness": {
				"noConstAssign": "error",
				"noConstantCondition": "error",
				"noEmptyCharacterClassInRegex": "error",
				"noEmptyPattern": "error",
				"noGlobalObjectCalls": "error",
				"noInvalidBuiltinInstantiation": "error",
				"noInvalidConstructorSuper": "error",
				"noInvalidUseBeforeDeclaration": "error",
				"noNonoctalDecimalEscape": "error",
				"noPrecisionLoss": "error",
				"noSelfAssign": "error",
				"noSetterReturn": "error",
				"noSwitchDeclarations": "error",
				"noUndeclaredVariables": "error",
				"noUnreachable": "error",
				"noUnreachableSuper": "error",
				"noUnsafeFinally": "error",
				"noUnsafeOptionalChaining": "error",
				"noUnusedLabels": "error",
				"noUnusedPrivateClassMembers": "error",
				"noUnusedVariables": "error",
				"useArrayLiterals": "off",
				"useIsNan": "error",
				"useValidForDirection": "error",
				"useYield": "error"
			},
			"nursery": {
				"noCommonJs": "error",
				"noDuplicateElseIf": "error",
				"noIrregularWhitespace": "error",
				"noTemplateCurlyInString": "error",
				"noUselessEscapeInRegex": "error",
				"useExplicitType": "off"
			},
			"style": {
				"noNamespace": "error",
				"useAsConstAssertion": "error",
				"useBlockStatements": "off",
				"useDefaultParameterLast": "error",
				"useTemplate": "error"
			},
			"suspicious": {
				"noAssignInExpressions": "error",
				"noAsyncPromiseExecutor": "error",
				"noCatchAssign": "error",
				"noClassAssign": "error",
				"noCompareNegZero": "error",
				"noConsole": "error",
				"noControlCharactersInRegex": "error",
				"noDebugger": "error",
				"noDuplicateCase": "error",
				"noDuplicateClassMembers": "error",
				"noDuplicateObjectKeys": "error",
				"noDuplicateParameters": "error",
				"noEmptyBlockStatements": "off",
				"noExplicitAny": "error",
				"noExtraNonNullAssertion": "error",
				"noFallthroughSwitchClause": "error",
				"noFunctionAssign": "error",
				"noGlobalAssign": "error",
				"noImportAssign": "error",
				"noMisleadingCharacterClass": "error",
				"noMisleadingInstantiator": "error",
				"noPrototypeBuiltins": "error",
				"noRedeclare": "error",
				"noShadowRestrictedNames": "error",
				"noSparseArray": "error",
				"noUnsafeDeclarationMerging": "error",
				"noUnsafeNegation": "error",
				"useAwait": "off",
				"useGetterReturn": "error",
				"useNamespaceKeyword": "error",
				"useValidTypeof": "error"
			}
		}
	},
	"javascript": { "globals": [] },
	"overrides": [
		{
			"include": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
			"linter": {
				"rules": {
					"correctness": {
						"noConstAssign": "off",
						"noGlobalObjectCalls": "off",
						"noInvalidBuiltinInstantiation": "off",
						"noInvalidConstructorSuper": "off",
						"noNewSymbol": "off",
						"noSetterReturn": "off",
						"noUndeclaredVariables": "off",
						"noUnreachable": "off",
						"noUnreachableSuper": "off"
					},
					"style": {
						"noArguments": "error",
						"noVar": "error",
						"useConst": "error"
					},
					"suspicious": {
						"noClassAssign": "off",
						"noDuplicateClassMembers": "off",
						"noDuplicateObjectKeys": "off",
						"noDuplicateParameters": "off",
						"noFunctionAssign": "off",
						"noImportAssign": "off",
						"noRedeclare": "off",
						"noUnsafeNegation": "off",
						"useGetterReturn": "off"
					}
				}
			}
		},
		{
			"include": ["*.cjs", "*.js", "*.mjs", "*.ts", "*.jsx", "*.tsx"],
			"linter": { "rules": { "nursery": { "noSecrets": "error" } } }
		},
		{ "include": ["*.cjs", "*.js", "*.mjs", "*.ts", "*.jsx", "*.tsx"] },
		{ "include": ["**/*.ts"], "javascript": { "globals": [] } },
		{
			"include": ["**/*.ts"],
			"linter": {
				"rules": {
					"correctness": {
						"noConstAssign": "off",
						"noGlobalObjectCalls": "off",
						"noInvalidBuiltinInstantiation": "off",
						"noInvalidConstructorSuper": "off",
						"noNewSymbol": "off",
						"noSetterReturn": "off",
						"noUndeclaredVariables": "off",
						"noUnreachable": "off",
						"noUnreachableSuper": "off"
					},
					"style": {
						"noArguments": "error",
						"noVar": "error",
						"useConst": "error"
					},
					"suspicious": {
						"noClassAssign": "off",
						"noDuplicateClassMembers": "off",
						"noDuplicateObjectKeys": "off",
						"noDuplicateParameters": "off",
						"noFunctionAssign": "off",
						"noImportAssign": "off",
						"noRedeclare": "off",
						"noUnsafeNegation": "off",
						"useGetterReturn": "off"
					}
				}
			}
		},
		{
			"include": ["**/*.ts"],
			"linter": {
				"rules": {
					"complexity": {
						"noStaticOnlyClass": "error",
						"noUselessConstructor": "error",
						"noUselessThisAlias": "error",
						"noUselessTypeConstraint": "error"
					},
					"correctness": {
						"noUnusedVariables": "error",
						"useArrayLiterals": "off"
					},
					"nursery": { "noCommonJs": "error" },
					"style": {
						"noNamespace": "error",
						"noNonNullAssertion": "error",
						"useAsConstAssertion": "error",
						"useLiteralEnumMembers": "error",
						"useThrowOnlyError": "error"
					},
					"suspicious": {
						"noConfusingVoidType": "error",
						"noExplicitAny": "error",
						"noExtraNonNullAssertion": "error",
						"noMisleadingInstantiator": "error",
						"noUnsafeDeclarationMerging": "error",
						"useAwait": "error",
						"useNamespaceKeyword": "error"
					}
				}
			}
		},
		{
			"include": ["**/*.ts"],
			"linter": {
				"rules": {
					"complexity": { "useLiteralKeys": "error" },
					"correctness": {
						"noConstAssign": "off",
						"noGlobalObjectCalls": "off",
						"noInvalidConstructorSuper": "off",
						"noNewSymbol": "off",
						"noSetterReturn": "off",
						"noUndeclaredVariables": "off",
						"noUnreachable": "off",
						"noUnreachableSuper": "off"
					},
					"nursery": { "useExplicitType": "error" },
					"style": {
						"useNamingConvention": {
							"level": "error",
							"options": {
								"strictCase": false,
								"conventions": [
									{
										"selector": { "kind": "function" },
										"formats": ["camelCase", "PascalCase"]
									},
									{
										"selector": { "kind": "variable" },
										"formats": ["camelCase", "PascalCase", "CONSTANT_CASE"]
									},
									{
										"selector": { "kind": "typeLike" },
										"formats": ["PascalCase"]
									}
								]
							}
						},
						"useThrowOnlyError": "error"
					},
					"suspicious": {
						"noDuplicateClassMembers": "off",
						"noDuplicateObjectKeys": "off",
						"noDuplicateParameters": "off",
						"noEmptyBlockStatements": "off",
						"noFunctionAssign": "off",
						"noImportAssign": "off",
						"noRedeclare": "off",
						"noUnsafeNegation": "off",
						"useGetterReturn": "off",
						"useValidTypeof": "off"
					}
				}
			}
		},
		{
			"include": ["**/*.cjs"],
			"linter": { "rules": { "nursery": { "noCommonJs": "off" } } }
		}
	]
}
