Ctrl K
ComunidadGuías…

biome.jsonc

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
    "$schema": "https://biomejs.dev/schemas/2.5.0/schema.json",
    "vcs": {
        "enabled": true,
        "clientKind": "git",
        "useIgnoreFile": true
    },
    "files": {
        "includes": [
            ".github/scripts/**",
            "docs/.vitepress/**",
            "docs/scripts/**",
            "tests/test-ui/**",
            // Vendor-exported artwork/fonts, not authored source: public/ (copied verbatim
            // into the build) and src/assets/ (imported so Vite hashes them). Linting these is
            // a category error (e.g. noSvgWithoutTitle on the logo svg).
            "!tests/test-ui/public",
            "!tests/test-ui/src/assets",
            "tools/discord-bot/**",
            "tools/test-observability.ts",
            "tools/tsconfig.json"
        ]
    },
    "formatter": {
        "enabled": true,
        "formatWithErrors": false,
        "indentStyle": "space",
        "indentWidth": 4,
        "lineEnding": "lf",
        "lineWidth": 120,
        "useEditorconfig": true
    },
    "linter": {
        "enabled": true,
        "rules": {
            "recommended": true,
            "complexity": {
                "noForEach": "off",
                // fix:none — the unsafe fix deletes `!important`, which would break
                // legitimate overrides like the reduced-motion block in style.css.
                "noImportantStyles": {
                    "level": "warn",
                    "fix": "none"
                },
                "noStaticOnlyClass": "off",
                "noUselessSwitchCase": "error",
                "useFlatMap": "error"
            },
            "style": {
                "noNegationElse": "off",
                "useBlockStatements": "error",
                "useForOf": "error",
                "useNodejsImportProtocol": "error",
                "useNumberNamespace": "error"
            },
            "suspicious": {
                "noDoubleEquals": "error",
                "noThenProperty": "error",
                "useIsArray": "error",
                "noExplicitAny": "off",
                "noConsole": "off",
                "noShadow": "error"
            },
            "correctness": {
                "noUnusedPrivateClassMembers": {
                    "level": "warn",
                    "fix": "none"
                }
            }
        }
    },
    "assist": {
        "enabled": true
    },
    "css": {
        "parser": {
            // test-ui uses Tailwind 4 at-rules (@plugin, @custom-variant) in style.css.
            "tailwindDirectives": true
        }
    },
    "javascript": {
        "formatter": {
            "arrowParentheses": "always",
            "bracketSameLine": false,
            "bracketSpacing": true,
            "jsxQuoteStyle": "double",
            "quoteProperties": "asNeeded",
            "semicolons": "always",
            "trailingCommas": "all"
        }
    },
    "overrides": [
        {
            // Biome can't see template usage of script declarations yet
            // (https://biomejs.dev/internals/language-support/) — these four
            // rules false-positive in SFCs per Biome's own Vue guidance.
            "includes": ["**/*.vue"],
            "linter": {
                "rules": {
                    "correctness": {
                        "noUnusedVariables": "off",
                        "noUnusedImports": "off"
                    },
                    "style": {
                        "useConst": "off",
                        "useImportType": "off"
                    }
                }
            }
        }
    ]
}