Files
suaveplan/biome.json
2026-05-27 23:29:53 +01:00

157 lines
4.7 KiB
JSON

{
"root": true,
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"assist": { "actions": { "source": { "organizeImports": "on" } } },
"files": {
"ignoreUnknown": true,
"includes": [
"*.ts",
"*.js",
"!**/dist",
"!**/coverage",
"!**/worktrees",
"!**/.turbo",
"!**/scaffold-output/snapshots",
"packages/*/*/*/src/**/*.ts",
"packages/*/*/*/src/**/*.tsx",
"packages/*/*/*/src/**/*.js",
"packages/*/*/*/src/**/*.jsx",
"packages/*/*/*/tests/**/*.ts",
"packages/*/*/*/tests/**/*.tsx",
"scripts/**/*.ts",
"scripts/**/*.js"
]
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"style": {
"noNonNullAssertion": "off",
"noParameterAssign": "off",
"useConst": "error",
"useAsConstAssertion": "error",
"useDefaultParameterLast": "error",
"useEnumInitializers": "error",
"useSelfClosingElements": "error",
"useSingleVarDeclarator": "error",
"noUnusedTemplateLiteral": "error",
"useNumberNamespace": "error",
"noInferrableTypes": "error",
"noUselessElse": "error"
},
"security": {
"noDangerouslySetInnerHtml": "off"
},
"complexity": {
"noForEach": "error",
"useLiteralKeys": "off"
},
"suspicious": {
"noRedeclare": "off",
"noExplicitAny": "error",
"noExportsInTest": "off",
"noAssignInExpressions": "off",
"noFallthroughSwitchClause": "off"
},
"correctness": {
"noInnerDeclarations": "off",
"noPrecisionLoss": "off",
"noUnusedVariables": "error",
"useExhaustiveDependencies": "warn",
"noInvalidUseBeforeDeclaration": "warn"
},
"a11y": {
"useButtonType": "warn",
"noLabelWithoutControl": "warn"
}
}
},
"formatter": {
"enabled": true,
"formatWithErrors": false,
"indentStyle": "space",
"indentWidth": 4,
"lineWidth": 80,
"lineEnding": "lf"
},
"json": {
"formatter": {
"lineEnding": "lf"
}
},
"javascript": {
"formatter": {
"lineEnding": "lf",
"quoteStyle": "double",
"trailingCommas": "es5",
"semicolons": "always"
}
},
"css": {
"linter": {
"enabled": false
},
"formatter": {
"enabled": false
}
},
"overrides": [
{
"includes": [
"**/*.test.ts",
"**/*.test.tsx",
"**/*.test.js",
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.spec.js"
],
"linter": {
"rules": {
"a11y": {
"useButtonType": "off"
},
"complexity": {
"noForEach": "off"
},
"correctness": {
"useHookAtTopLevel": "off",
"noUnreachable": "off",
"noUnusedFunctionParameters": "off"
},
"style": {
"noNonNullAssertion": "off"
},
"suspicious": {
"noExplicitAny": "off",
"noRedeclare": "off",
"noTemplateCurlyInString": "off",
"useIterableCallbackReturn": "off"
}
}
}
},
{
"includes": ["**/*.stories.ts", "**/*.stories.tsx"],
"linter": {
"rules": {
"a11y": {
"useButtonType": "off",
"useKeyWithMouseEvents": "warn"
},
"complexity": {
"noForEach": "warn"
},
"correctness": {
"useExhaustiveDependencies": "warn"
},
"suspicious": {
"noArrayIndexKey": "warn"
}
}
}
}
]
}