157 lines
4.7 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|