104 lines
2.4 KiB
JSON
104 lines
2.4 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
|
|
"vcs": {
|
|
"enabled": true,
|
|
"clientKind": "git",
|
|
"useIgnoreFile": true
|
|
},
|
|
"files": {
|
|
"includes": [
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
"**/*.js",
|
|
"**/*.jsx",
|
|
"**/*.json",
|
|
"!**/node_modules",
|
|
"!**/.pnpm-store",
|
|
"!**/dist"
|
|
]
|
|
},
|
|
"formatter": {
|
|
"enabled": true,
|
|
"indentStyle": "space",
|
|
"indentWidth": 2,
|
|
"lineWidth": 82,
|
|
"lineEnding": "lf"
|
|
},
|
|
"javascript": {
|
|
"formatter": {
|
|
"quoteStyle": "single",
|
|
"jsxQuoteStyle": "double",
|
|
"semicolons": "asNeeded",
|
|
"trailingCommas": "es5",
|
|
"arrowParentheses": "always"
|
|
}
|
|
},
|
|
"linter": {
|
|
"enabled": true,
|
|
"rules": {
|
|
"recommended": true,
|
|
"complexity": {
|
|
"noExcessiveCognitiveComplexity": {
|
|
"level": "error",
|
|
"options": { "maxAllowedComplexity": 25 }
|
|
},
|
|
"noForEach": "off",
|
|
"useLiteralKeys": "off"
|
|
},
|
|
"correctness": {
|
|
"noUnusedVariables": "error",
|
|
"noUnusedImports": "error",
|
|
"useExhaustiveDependencies": "warn",
|
|
"useHookAtTopLevel": "error",
|
|
"noUndeclaredVariables": "error"
|
|
},
|
|
"style": {
|
|
"useImportType": "error",
|
|
"useConst": "error",
|
|
"useTemplate": "error",
|
|
"useSelfClosingElements": "error",
|
|
"useFragmentSyntax": "error",
|
|
"noNonNullAssertion": "error",
|
|
"useConsistentArrayType": {
|
|
"level": "error",
|
|
"options": { "syntax": "shorthand" }
|
|
},
|
|
"useNamingConvention": "off"
|
|
},
|
|
"suspicious": {
|
|
"noExplicitAny": "error",
|
|
"noDebugger": "error",
|
|
"noConsole": "warn",
|
|
"noArrayIndexKey": "warn",
|
|
"noAssignInExpressions": "error",
|
|
"noDoubleEquals": "error",
|
|
"noRedeclare": "error",
|
|
"noVar": "error"
|
|
},
|
|
"security": {
|
|
"noDangerouslySetInnerHtml": "error"
|
|
},
|
|
"a11y": {
|
|
"useAltText": "error",
|
|
"useAnchorContent": "error",
|
|
"useKeyWithClickEvents": "error",
|
|
"noStaticElementInteractions": "error",
|
|
"useButtonType": "error",
|
|
"useValidAnchor": "error"
|
|
}
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"includes": ["src/main.tsx"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noNonNullAssertion": "off"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|