Last active
May 3, 2025 15:17
-
-
Save cristiandelahooz/ef3121557f2713a378bbcf074bb1c812 to your computer and use it in GitHub Desktop.
biome formater-lint configuration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", | |
"vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false }, | |
"files": { "ignoreUnknown": false, "ignore": ["./tsconfig*"] }, | |
"formatter": { | |
"enabled": true, | |
"useEditorconfig": true, | |
"formatWithErrors": false, | |
"indentStyle": "space", | |
"indentWidth": 2, | |
"lineEnding": "lf", | |
"lineWidth": 80, | |
"attributePosition": "auto", | |
"bracketSpacing": true | |
}, | |
"organizeImports": { "enabled": true }, | |
"linter": { | |
"enabled": true, | |
"rules": { "recommended": false }, | |
"ignore": ["dist"] | |
}, | |
"javascript": { | |
"formatter": { | |
"jsxQuoteStyle": "double", | |
"quoteProperties": "asNeeded", | |
"trailingCommas": "none", | |
"semicolons": "asNeeded", | |
"arrowParentheses": "asNeeded", | |
"bracketSameLine": false, | |
"quoteStyle": "single", | |
"attributePosition": "auto", | |
"bracketSpacing": true | |
} | |
}, | |
"overrides": [ | |
{ | |
"include": ["**/*.{ts,tsx}"], | |
"linter": { | |
"rules": { | |
"complexity": { | |
"noExtraBooleanCast": "error", | |
"noMultipleSpacesInRegularExpressionLiterals": "error", | |
"noUselessCatch": "error", | |
"noWith": "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", | |
"useYield": "error" | |
}, | |
"suspicious": { | |
"noAsyncPromiseExecutor": "error", | |
"noCatchAssign": "error", | |
"noClassAssign": "error", | |
"noCompareNegZero": "error", | |
"noControlCharactersInRegex": "error", | |
"noDebugger": "error", | |
"noDuplicateCase": "error", | |
"noDuplicateClassMembers": "error", | |
"noDuplicateObjectKeys": "error", | |
"noDuplicateParameters": "error", | |
"noEmptyBlockStatements": "error", | |
"noFallthroughSwitchClause": "error", | |
"noFunctionAssign": "error", | |
"noGlobalAssign": "error", | |
"noImportAssign": "error", | |
"noMisleadingCharacterClass": "error", | |
"noPrototypeBuiltins": "error", | |
"noRedeclare": "error", | |
"noShadowRestrictedNames": "error", | |
"noSparseArray": "error", | |
"noUnsafeNegation": "error", | |
"useGetterReturn": "error", | |
"useValidTypeof": "error" | |
} | |
} | |
} | |
}, | |
{ "include": ["**/*.{ts,tsx}"], "javascript": { "globals": [] } }, | |
{ | |
"include": ["**/*.{ts,tsx}"], | |
"linter": { | |
"rules": { | |
"complexity": { "noWith": "off" }, | |
"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,tsx}"], | |
"linter": { | |
"rules": { | |
"complexity": { "noUselessTypeConstraint": "error" }, | |
"correctness": { | |
"noUnusedVariables": "error", | |
"useArrayLiterals": "off" | |
}, | |
"style": { "noNamespace": "error", "useAsConstAssertion": "error" }, | |
"suspicious": { | |
"noExplicitAny": "error", | |
"noExtraNonNullAssertion": "error", | |
"noMisleadingInstantiator": "error", | |
"noUnsafeDeclarationMerging": "error", | |
"useNamespaceKeyword": "error" | |
} | |
} | |
} | |
}, | |
{ | |
"include": ["**/*.{ts,tsx}"], | |
"javascript": { | |
"globals": [ | |
"onscrollend", | |
"onpointerleave", | |
"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" | |
] | |
}, | |
"linter": { | |
"rules": { | |
"correctness": { | |
"noUnusedVariables": "warn", | |
"useExhaustiveDependencies": "warn", | |
"useHookAtTopLevel": "error" | |
}, | |
"suspicious": { "noExplicitAny": "off" } | |
} | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment