Last active
July 15, 2025 10:07
-
-
Save giladbarnea/9640357691e1ef50dc030babe8c418db to your computer and use it in GitHub Desktop.
biome.json
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
Show hidden characters
| { | |
| "$schema": "https://biomejs.dev/schemas/2.0.4/schema.json", | |
| "files": { | |
| "ignoreUnknown": false | |
| }, | |
| "vcs": { | |
| "enabled": true, | |
| "clientKind": "git", | |
| "defaultBranch": "main", | |
| "useIgnoreFile": true | |
| }, | |
| "formatter": { | |
| "enabled": true, | |
| "formatWithErrors": false, | |
| "indentWidth": 2, | |
| "lineEnding": "lf", | |
| "lineWidth": 120, | |
| "attributePosition": "auto" | |
| }, | |
| "linter": { | |
| "enabled": true, | |
| "rules": { | |
| "recommended": true, // As of 2025-07-03 and biome 2.0.4, these are complete and explicit: complexity, correctness, security, style | |
| "a11y": { | |
| "useHtmlLang": "warn", | |
| "noHeaderScope": "warn", | |
| "useValidAriaRole": { | |
| "level": "warn", | |
| "options": { | |
| "ignoreNonDom": false, | |
| "allowInvalidRoles": [ | |
| "none", | |
| "text" | |
| ] | |
| } | |
| }, | |
| "useAriaPropsSupportedByRole": "off", | |
| "useSemanticElements": "off", | |
| "noSvgWithoutTitle": "off", | |
| "useMediaCaption": "off", | |
| "noAutofocus": "off", | |
| "useFocusableInteractive": "off", | |
| "useAriaPropsForRole": "off", | |
| "useKeyWithClickEvents": "off", | |
| "useButtonType": "off", | |
| "useValidAnchor": "off" | |
| }, | |
| "complexity": { | |
| "noAdjacentSpacesInRegex": "warn", | |
| // "noBannedTypes": "warn", // What are banned types? | |
| "noExcessiveCognitiveComplexity": "warn", | |
| "noForEach": "off", | |
| "noThisInStatic": "warn", | |
| "noUselessEscapeInRegex": "warn", | |
| "noUselessStringConcat": "warn", | |
| "noUselessSwitchCase": "off", | |
| "noUselessTernary": "warn", | |
| "noUselessThisAlias": "off", | |
| "noUselessUndefinedInitialization": "off", | |
| "useArrowFunction": "off", | |
| "useDateNow": "warn", | |
| "useOptionalChain": "warn", | |
| "useSimplifiedLogicExpression": "warn", | |
| }, | |
| "correctness": { | |
| "noGlobalObjectCalls": "warn", | |
| "noInnerDeclarations": "warn", | |
| "noInvalidBuiltinInstantiation": "warn", | |
| "noInvalidConstructorSuper": "warn", | |
| "noInvalidGridAreas": "warn", | |
| "noInvalidPositionAtImportRule": "warn", | |
| "noInvalidUseBeforeDeclaration": "warn", | |
| "noMissingVarFunction": "warn", | |
| "noPrecisionLoss": "info", | |
| "noStringCaseMismatch": "warn", | |
| "noSwitchDeclarations": "warn", | |
| "noUndeclaredDependencies": "warn", | |
| "noUndeclaredVariables": "error", | |
| "noUnknownFunction": "warn", | |
| "noUnknownMediaFeatureName": "warn", | |
| "noUnknownProperty": "warn", // This was meant to be only CSS. If it's annoying in JS/TS, turn it off. | |
| "noUnknownPseudoClass": "warn", | |
| "noUnknownPseudoElement": "warn", | |
| "noUnknownTypeSelector": "warn", | |
| "noUnknownUnit": "warn", | |
| "noUnmatchableAnbSelector": "warn", | |
| "noUnreachable": "warn", | |
| "noUnreachableSuper": "warn", | |
| "noUnsafeFinally": "warn", | |
| "noUnsafeOptionalChaining": "warn", | |
| "noUnusedFunctionParameters": "warn", | |
| "noUnusedImports": "warn", | |
| "noUnusedLabels": "warn", | |
| "noUnusedPrivateClassMembers": "warn", | |
| "noUnusedVariables": "error", | |
| "noVoidElementsWithChildren": "warn", | |
| "noVoidTypeReturn": "warn", | |
| "useExhaustiveDependencies": "warn", | |
| "useHookAtTopLevel": "warn", | |
| "useJsxKeyInIterable": "warn", | |
| "useValidForDirection": "warn", | |
| "useValidTypeof": "warn", | |
| "useYield": "warn" | |
| }, | |
| "security": { | |
| "noDangerouslySetInnerHtml": "info", | |
| "noGlobalEval": "warn", | |
| "noBlankTarget": "warn", | |
| "noDangerouslySetInnerHtmlWithChildren": "info" | |
| }, | |
| "style": { | |
| "noDefaultExport": "info", | |
| "noDescendingSpecificity": "info", | |
| "noHeadElement": "warn", | |
| "noImplicitBoolean": "info", | |
| "noNegationElse": "info", | |
| "noNestedTernary": "info", | |
| "noNonNullAssertion": "off", | |
| "noParameterAssign": "info", | |
| "noUnusedTemplateLiteral": "info", | |
| "noUselessElse": "info", | |
| "noYodaExpression": "warn", | |
| "useAsConstAssertion": "info", | |
| "useCollapsedElseIf": "info", | |
| "useCollapsedIf": { | |
| "level": "info", | |
| "fix":"safe" | |
| }, | |
| "useComponentExportOnlyModules": "warn", | |
| "useConsistentArrayType": "info", | |
| "useConsistentCurlyBraces": "info", | |
| "useConst": "off", | |
| "useDefaultParameterLast": "warn", | |
| "useDefaultSwitchClause": "info", | |
| "useEnumInitializers": "info", | |
| "useExponentiationOperator": "off", | |
| "useExportType": "info", | |
| "useFilenamingConvention": "info", | |
| "useForOf": "info", | |
| "useFragmentSyntax": "warn", | |
| "useImportType": "info", | |
| "useNamingConvention": "info", | |
| "useTemplate": "info", | |
| "useThrowOnlyError": "warn", | |
| "useTrimStartEnd": "warn" | |
| }, | |
| "suspicious": { | |
| "noArrayIndexKey": "off", | |
| "noDebugger": "off", | |
| "noExplicitAny": "off", | |
| "noImplicitAnyLet": "off" | |
| } | |
| } | |
| }, | |
| "javascript": { | |
| "jsxRuntime": "reactClassic", | |
| "formatter": { | |
| "jsxQuoteStyle": "double", | |
| "quoteProperties": "asNeeded", | |
| "trailingCommas": "all", | |
| "arrowParentheses": "always", | |
| "bracketSpacing": true, | |
| "bracketSameLine": false, | |
| "attributePosition": "auto", | |
| "semicolons": "asNeeded" | |
| } | |
| }, | |
| "json": { | |
| "formatter": { | |
| "enabled": true, | |
| "trailingCommas": "none" | |
| }, | |
| "parser": { | |
| "allowComments": true, | |
| "allowTrailingCommas": false | |
| } | |
| }, | |
| "css": { | |
| "formatter": { | |
| "enabled": false | |
| }, | |
| "linter": { | |
| "enabled": false | |
| } | |
| }, | |
| "assist": { | |
| "enabled": true, | |
| "actions": { | |
| "source": { | |
| "organizeImports": "on", | |
| "recommended": true | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment