{
	"$schema": "https://biomejs.dev/schemas/2.3.5/schema.json",
	"vcs": {
		"enabled": true,
		"clientKind": "git",
		"useIgnoreFile": true
	},
	"files": {
		"includes": [
			"**",
			"!!**/dist",
			"!src/types/proto"
		],
		"ignoreUnknown": true
	},
	"formatter": {
		"enabled": true,
		"formatWithErrors": false,
		"indentStyle": "space",
		"indentWidth": 2,
		"lineEnding": "lf",
		"lineWidth": 140,
		"attributePosition": "auto",
		"bracketSameLine": false,
		"bracketSpacing": true,
		"expand": "auto",
		"useEditorconfig": true
	},
	"linter": {
		"enabled": true,
		"rules": {
			"recommended": false,
			"complexity": {
				"noAdjacentSpacesInRegex": "error",
				"noExtraBooleanCast": "error",
				"noUselessCatch": "error",
				"noUselessEscapeInRegex": "error",
				"noUselessTypeConstraint": "error"
			},
			"correctness": {
				"noConstAssign": "error",
				"noConstantCondition": "error",
				"noEmptyCharacterClassInRegex": "error",
				"noEmptyPattern": "error",
				"noGlobalObjectCalls": "error",
				"noInvalidBuiltinInstantiation": "error",
				"noInvalidConstructorSuper": "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",
				"useIsNan": "error",
				"useValidForDirection": "error",
				"useValidTypeof": "error",
				"useYield": "error"
			},
			"style": {
				"noCommonJs": "error",
				"noNamespace": "error",
				"useArrayLiterals": "error",
				"useAsConstAssertion": "error",
				"useBlockStatements": "off"
			},
			"suspicious": {
				"noAsyncPromiseExecutor": "error",
				"noCatchAssign": "error",
				"noClassAssign": "error",
				"noCompareNegZero": "error",
				"noConstantBinaryExpressions": "error",
				"noControlCharactersInRegex": "error",
				"noDebugger": "error",
				"noDuplicateCase": "error",
				"noDuplicateClassMembers": "error",
				"noDuplicateElseIf": "error",
				"noDuplicateObjectKeys": "error",
				"noDuplicateParameters": "error",
				"noEmptyBlockStatements": "off",
				"noExplicitAny": "error",
				"noExtraNonNullAssertion": "error",
				"noFallthroughSwitchClause": "error",
				"noFunctionAssign": "error",
				"noGlobalAssign": "error",
				"noImportAssign": "error",
				"noIrregularWhitespace": "error",
				"noMisleadingCharacterClass": "error",
				"noMisleadingInstantiator": "error",
				"noNonNullAssertedOptionalChain": "error",
				"noPrototypeBuiltins": "error",
				"noRedeclare": "error",
				"noShadowRestrictedNames": "error",
				"noSparseArray": "error",
				"noUnsafeDeclarationMerging": "error",
				"noUnsafeNegation": "error",
				"noUselessRegexBackrefs": "error",
				"noWith": "error",
				"useGetterReturn": "error",
				"useNamespaceKeyword": "error"
			}
		},
		"includes": [
			"**",
			"!**/dist/**",
			"!**/node_modules/**",
			"!src/types/proto/**"
		]
	},
	"javascript": {
		"formatter": {
			"jsxQuoteStyle": "double",
			"quoteProperties": "asNeeded",
			"trailingCommas": "all",
			"semicolons": "always",
			"arrowParentheses": "always",
			"bracketSameLine": false,
			"quoteStyle": "double",
			"attributePosition": "auto",
			"bracketSpacing": true
		},
		"globals": []
	},
	"css": {
		"parser": {
			"cssModules": false,
			"allowWrongLineComments": true,
			"tailwindDirectives": true
		}
	},
	"html": {
		"formatter": {
			"indentScriptAndStyle": false,
			"selfCloseVoidElements": "always"
		}
	},
	"overrides": [
		{
			"includes": [
				"**/*.ts",
				"**/*.tsx",
				"**/*.mts",
				"**/*.cts"
			],
			"linter": {
				"rules": {
					"complexity": {
						"noArguments": "error"
					},
					"correctness": {
						"noConstAssign": "off",
						"noGlobalObjectCalls": "off",
						"noInvalidBuiltinInstantiation": "off",
						"noInvalidConstructorSuper": "off",
						"noSetterReturn": "off",
						"noUndeclaredVariables": "off",
						"noUnreachable": "off",
						"noUnreachableSuper": "off"
					},
					"style": {
						"useConst": "error"
					},
					"suspicious": {
						"noClassAssign": "off",
						"noDuplicateClassMembers": "off",
						"noDuplicateObjectKeys": "off",
						"noDuplicateParameters": "off",
						"noFunctionAssign": "off",
						"noImportAssign": "off",
						"noRedeclare": "off",
						"noUnsafeNegation": "off",
						"noVar": "error",
						"noWith": "off",
						"useGetterReturn": "off"
					}
				}
			}
		},
		{
			"includes": [
				"src/utils/i18n.ts"
			],
			"linter": {
				"rules": {}
			}
		}
	],
	"assist": {
		"enabled": true,
		"actions": {
			"source": {
				"organizeImports": "on"
			}
		}
	}
}