biome.jsonc
Rama main · réplica de lectura del repositorio original.
{
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true,
"defaultBranch": "main"
},
"files": {
// static/*.html are Go templates with {{ }} directives that
// Biome's HTML parser does not support.
"includes": ["**", "!**/pnpm-lock.yaml", "!**/static/*.html"],
"ignoreUnknown": true,
"maxSize": 2097152
},
"linter": {
"rules": {
"a11y": {
"useKeyWithClickEvents": "off", // oxlint owns click-events-have-key-events
"useMediaCaption": "off", // oxlint owns media-has-caption
"noSvgWithoutTitle": "off",
"useButtonType": "off",
"useSemanticElements": "off",
"noStaticElementInteractions": "off",
"noNoninteractiveTabindex": "off" // oxlint owns no-noninteractive-tabindex
},
"correctness": {
"noInvalidBuiltinInstantiation": "off", // oxlint owns new-for-builtins
"useExhaustiveDependencies": "off", // oxlint owns exhaustive-deps
"noUnusedImports": "warn",
"useUniqueElementIds": "off", // TODO: This is new but we want to fix it
"noNestedComponentDefinitions": "off", // TODO: Investigate, since it is used by shadcn components
"noUnusedVariables": {
"level": "warn",
"options": {
"ignoreRestSiblings": true
}
}
},
"security": {
"noDangerouslySetInnerHtml": "off" // oxlint owns no-danger
},
"style": {
"noNonNullAssertion": "off",
"noParameterAssign": "off",
"useDefaultParameterLast": "off",
"useSelfClosingElements": "off",
"useAsConstAssertion": "error",
"useEnumInitializers": "error",
"useSingleVarDeclarator": "error",
"useConsistentCurlyBraces": "off", // oxlint owns jsx-curly-brace-presence
"noUnusedTemplateLiteral": "error",
"useNumberNamespace": "error",
"noInferrableTypes": "off", // oxlint owns no-inferrable-types
"noUselessElse": "error",
"noRestrictedImports": {
"level": "error",
"options": {
"paths": {
"react": {
"message": "React 19 no longer requires forwardRef. Use ref as a prop instead.",
"importNames": ["forwardRef"]
},
"@pierre/diffs": {
"message": "Parse diffs through parseDiffString so every rendered file carries a content-derived cache key (pierrecomputer/pierre#1052).",
"importNames": [
"parsePatchFiles",
"processPatch",
"processFile",
"parseDiffFromFile"
]
},
// "#/components/Stack/Stack": "Use Tailwind flex utilities instead (e.g., <div className='flex flex-col gap-4'>).",
"sonner": {
"message": "Import toast from #/components/Toaster/toast.",
"importNames": ["toast"]
},
"lodash": "Use lodash/<name> instead."
}
}
}
},
"suspicious": {
"noFallthroughSwitchClause": "off", // oxlint owns no-fallthrough
"noConfusingVoidType": "off", // oxlint owns no-invalid-void-type
"noExplicitAny": "off", // oxlint owns no-explicit-any
"noArrayIndexKey": "off",
"noThenProperty": "off",
"noTemplateCurlyInString": "off",
"useIterableCallbackReturn": "off",
"noUnknownAtRules": "off", // Allow Tailwind directives
"noEmptyInterface": "off", // oxlint owns no-empty-interface
"noConsole": "off" // oxlint owns no-console
},
"complexity": {
"noImportantStyles": "off", // TODO: check and fix !important styles
"noUselessThisAlias": "off",
"useLiteralKeys": "off"
}
}
},
"css": {
"parser": {
// Biome 2.3+ requires opt-in for @apply and other
// Tailwind directives.
"tailwindDirectives": true
}
},
"overrides": [
{
// parseDiff.ts is the single choke point allowed to import
// the raw @pierre/diffs parsers.
"includes": [
"**/DiffViewer/parseDiff.ts",
"**/DiffViewer/parseDiff.test.ts"
],
"linter": {
"rules": {
"style": {
"noRestrictedImports": "off"
}
}
}
},
{
// toast.ts is the single choke point allowed to import Sonner's toast.
"includes": ["**/components/Toaster/toast.ts"],
"linter": {
"rules": {
"style": {
"noRestrictedImports": "off"
}
}
}
}
],
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json"
}