biome.json•3.03 kB
{
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"includes": [
"**/*.{js,jsx,ts,tsx,mjs,cts,mts,md,yml,yaml,css,html,vue,svelte,solid,astro,json}",
"!**/package.json"
]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 80,
"lineEnding": "lf"
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"correctness": {
"noUnusedVariables": "warn",
"useExhaustiveDependencies": "off",
"useUniqueElementIds": "off",
"noNestedComponentDefinitions": "warn"
},
"style": {
"noNonNullAssertion": "off",
"useConst": "error",
"useTemplate": "error",
"useShorthandAssign": "error",
"useSingleVarDeclarator": "error"
},
"suspicious": {
"noConsole": {
"options": {
"allow": ["assert", "error", "info", "warn"]
}
},
"noUnknownAtRules": "warn",
"noExplicitAny": "off",
"noArrayIndexKey": "warn",
"noTsIgnore": "off"
},
"complexity": {
"noBannedTypes": "off",
"noImportantStyles": "warn",
"noUselessFragments": "off",
"useOptionalChain": "error"
},
"performance": {
"noAccumulatingSpread": "warn",
"noDelete": "error"
},
"security": {
"noDangerouslySetInnerHtml": "error"
},
"a11y": {
"useAltText": "warn",
"useAnchorContent": "warn",
"useAriaPropsForRole": "warn",
"useButtonType": "warn",
"useHeadingContent": "warn",
"useHtmlLang": "warn",
"useIframeTitle": "warn",
"useKeyWithClickEvents": "warn",
"useKeyWithMouseEvents": "warn",
"useMediaCaption": "warn",
"useValidAnchor": "warn",
"useValidAriaProps": "warn",
"useValidAriaValues": "warn",
"useValidLang": "warn",
"useSemanticElements": "warn",
"useAriaPropsSupportedByRole": "warn"
},
"nursery": {
"useSortedClasses": {
"level": "warn",
"fix": "safe",
"options": {
"functions": ["cva", "cn", "clsx"]
}
}
}
}
},
"javascript": {
"formatter": {
"quoteStyle": "single",
"semicolons": "always",
"trailingCommas": "es5",
"bracketSpacing": true,
"bracketSameLine": false,
"quoteProperties": "asNeeded",
"arrowParentheses": "always"
}
},
"json": {
"formatter": {
"indentStyle": "space",
"indentWidth": 2,
"trailingCommas": "none"
}
},
"css": {
"formatter": {
"indentStyle": "space",
"indentWidth": 2
}
},
"assist": {
"enabled": true,
"actions": {
"source": {
"organizeImports": "on"
}
}
}
}