{
	"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
	"linter": {
		"enabled": true,
		"rules": {
			"recommended": false,
			"complexity": {
				"noUselessConstructor": "error",
				"noUselessFragments": "error",
				"noUselessStringConcat": "error"
			},
			"correctness": {
				"noInvalidUseBeforeDeclaration": "error",
				"noPrecisionLoss": "error",
				"noUnusedVariables": "error",
				"useArrayLiterals": "off"
			},
			"nursery": {
				"noTemplateCurlyInString": "error",
				"useComponentExportOnlyModules": "warn",
				"useExplicitType": "off"
			},
			"style": {
				"useDefaultParameterLast": "error",
				"useNamingConvention": {
					"level": "error",
					"options": {
						"strictCase": false,
						"conventions": [
							{
								"selector": { "kind": "function" },
								"match": "([^_]*)",
								"formats": ["camelCase"]
							},
							{
								"selector": { "kind": "classMethod" },
								"match": "([^_]*)",
								"formats": ["camelCase"]
							},
							{
								"selector": { "kind": "objectLiteralMethod" },
								"match": "([^_]*)",
								"formats": ["camelCase"]
							},
							{
								"selector": { "kind": "typeMethod" },
								"match": "([^_]*)",
								"formats": ["camelCase"]
							},
							{
								"selector": { "kind": "objectLiteralProperty" },
								"match": "([^_]*)",
								"formats": ["PascalCase"]
							},
							{
								"selector": { "kind": "variable" },
								"match": "([^_]*)",
								"formats": ["camelCase"]
							},
							{
								"selector": { "kind": "classProperty" },
								"match": "([^_]*)",
								"formats": ["camelCase", "snake_case"]
							},
							{
								"selector": { "kind": "typeProperty" },
								"match": "([^_]*)",
								"formats": ["camelCase", "snake_case"]
							},
							{
								"selector": { "kind": "objectLiteralProperty" },
								"match": "([^_]*)",
								"formats": ["camelCase", "snake_case"]
							},
							{
								"selector": { "kind": "typeLike" },
								"match": "([^_]*)",
								"formats": ["PascalCase"]
							}
						]
					}
				},
				"useTemplate": "error"
			},
			"suspicious": {
				"noConsole": "error",
				"noDuplicateClassMembers": "error",
				"noEmptyBlockStatements": "off",
				"noRedeclare": "error",
				"useAwait": "off"
			}
		}
	},
	"javascript": {
		"globals": [
			"onpointerleave",
			"onscrollend",
			"oncontextrestored",
			"onemptied",
			"ongamepaddisconnected",
			"onkeypress",
			"onloadeddata",
			"onmouseup",
			"onvolumechange",
			"onpaste",
			"onstorage",
			"onkeyup",
			"onabort",
			"oncut",
			"ontransitionrun",
			"onafterprint",
			"onblur",
			"ondurationchange",
			"ontransitionstart",
			"oncanplaythrough",
			"onanimationend",
			"onmouseleave",
			"ondragleave",
			"onplay",
			"onunhandledrejection",
			"onbeforeprint",
			"onpointercancel",
			"onsubmit",
			"ondragstart",
			"onmessage",
			"location",
			"onoffline",
			"onappinstalled",
			"onwheel",
			"onended",
			"onkeydown",
			"onclick",
			"onfocus",
			"onscroll",
			"ongamepadconnected",
			"oncanplay",
			"onpointerdown",
			"ondeviceorientationabsolute",
			"onauxclick",
			"ondevicemotion",
			"onratechange",
			"ontransitionend",
			"onscrollsnapchanging",
			"onchange",
			"onselect",
			"onbeforeinstallprompt",
			"onbeforetoggle",
			"onmouseout",
			"ontimeupdate",
			"ondragover",
			"oncuechange",
			"ontransitioncancel",
			"onprogress",
			"onbeforeinput",
			"onpointerenter",
			"onmouseenter",
			"oninvalid",
			"onpointerout",
			"onpagereveal",
			"onpause",
			"onanimationstart",
			"onwaiting",
			"onscrollsnapchange",
			"ondeviceorientation",
			"onclose",
			"onbeforeunload",
			"oncancel",
			"onseeked",
			"onpointerover",
			"ongotpointercapture",
			"onloadedmetadata",
			"onpageshow",
			"onstalled",
			"oncontextmenu",
			"onreset",
			"ondrag",
			"onbeforematch",
			"onload",
			"onlostpointercapture",
			"onsuspend",
			"onselectionchange",
			"onpagehide",
			"onrejectionhandled",
			"onunload",
			"onanimationcancel",
			"onmousedown",
			"onpointerup",
			"onmouseover",
			"onformdata",
			"oncontentvisibilityautostatechange",
			"onresize",
			"onsearch",
			"ontoggle",
			"onpageswap",
			"onbeforexrselect",
			"onlanguagechange",
			"ondragenter",
			"onerror",
			"onpointermove",
			"onmousemove",
			"ondrop",
			"onhashchange",
			"onsecuritypolicyviolation",
			"onslotchange",
			"oncopy",
			"onanimationiteration",
			"ondblclick",
			"ondragend",
			"onpointerrawupdate",
			"onpopstate",
			"onplaying",
			"oncontextlost",
			"onloadstart",
			"onseeking",
			"oninput",
			"onmessageerror",
			"onselectstart",
			"onmousewheel",
			"ononline"
		]
	},
	"overrides": [
		{ "include": ["*.jsx", "*.tsx"], "linter": { "rules": {} } },
		{ "include": ["*.tsx"], "linter": { "rules": {} } }
	]
}
