Ctrl K
ComunidadGuías…

cspell.config.jsonc

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

Archivo original ↗Preguntar a KiBot
{
    "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/refs/heads/main/cspell.schema.json",
    "name": "authentik-cspell",
    "description": "authentik's monorepo spell checker configuration",
    "version": "0.2",
    "readonly": true,
    "language": "en-US",
    "noSummary": false,
    // Only report words that are known misspellings (with a suggested fix) or
    // explicitly forbidden via `flagWords`. Unknown-but-plausible words — project
    // jargon, identifiers, integration names — pass silently, so new terms do not
    // require dictionary entries. This mirrors CodeSpell's behavior, which checks
    // against a curated list of common misspellings rather than flagging every
    // word absent from a dictionary.
    "unknownWords": "report-common-typos",
    "cache": {
        "useCache": true,
        "cacheLocation": "./.cspellcache",
        "cacheStrategy": "content"
    },
    "reporters": [
        "default",
        [
            "@cspell/cspell-json-reporter",
            {
                "outFile": "./cspell-report.json"
            }
        ]
    ],
    // In typo-only mode, a dictionary entry is needed only when a legitimate term
    // collides with the common-misspellings list. Record such collisions here
    // rather than reviving per-topic dictionary files.
    "dictionaryDefinitions": [
        {
            "name": "en-x-authentik-overrides",
            "path": "./locale/en/dictionaries/overrides.txt",
            "description": "Legitimate terms that collide with the common-misspellings list",
            "addWords": true
        }
    ],
    "dictionaries": ["en-x-authentik-overrides"],
    // British spellings to reject in favor of American variants. The `->` form
    // forbids the left word and offers the right word as the suggested fix.
    "flagWords": [
        // -our -> -or
        "colour->color",
        "colours->colors",
        "coloured->colored",
        "colouring->coloring",
        "behaviour->behavior",
        "behaviours->behaviors",
        "favour->favor",
        "favourite->favorite",
        "favourites->favorites",
        "flavour->flavor",
        "flavours->flavors",
        "honour->honor",
        "labour->labor",
        "neighbour->neighbor",
        "neighbours->neighbors",
        // -ise/-isation -> -ize/-ization
        "organise->organize",
        "organised->organized",
        "organising->organizing",
        "organisation->organization",
        "initialise->initialize",
        "initialised->initialized",
        "initialising->initializing",
        "initialisation->initialization",
        "authorise->authorize",
        "authorised->authorized",
        "authorisation->authorization",
        "customise->customize",
        "customised->customized",
        "customisation->customization",
        "serialise->serialize",
        "serialised->serialized",
        "deserialise->deserialize",
        "deserialised->deserialized",
        "normalise->normalize",
        "normalised->normalized",
        "normalisation->normalization",
        "synchronise->synchronize",
        "synchronised->synchronized",
        "optimise->optimize",
        "optimised->optimized",
        "optimisation->optimization",
        "recognise->recognize",
        "recognised->recognized",
        "specialise->specialize",
        "prioritise->prioritize",
        "prioritised->prioritized",
        "summarise->summarize",
        "summarised->summarized",
        "minimise->minimize",
        "maximise->maximize",
        "utilise->utilize",
        "finalise->finalize",
        "finalised->finalized",
        // -yse -> -yze
        "analyse->analyze",
        "analysed->analyzed",
        "analysing->analyzing",
        // -re -> -er
        "centre->center",
        "centres->centers",
        "centred->centered",
        // -ce -> -se and misc
        "licence->license",
        "defence->defense",
        "catalogue->catalog",
        "dialogue->dialog",
        "programme->program",
        "grey->gray",
        "artefact->artifact",
        "artefacts->artifacts"
    ],
    "patterns": [
        {
            "name": "EncodedURI",
            "description": "Encoded URIs, which are common in authentik's codebase and often contain many false positives.",
            "pattern": "[a-zA-Z]+%3A%2F%2F.+"
        }
    ],
    // Only content-scoping patterns belong here (encoded blobs, upstream
    // identifiers spelled the British way) — not word allowlists. Unknown words
    // are no longer reported, so shape-of-word escapes are unnecessary.
    "ignoreRegExpList": [
        // Encoded URIs
        "EncodedURI",
        // Basic auth header
        "Basic [a-zA-Z0-9+/=]+",
        // PatternFly's grey label modifier is spelled the British way upstream.
        "pf-m-grey",
        // lit-analyzer's CLI and its build phase are spelled the British way upstream.
        "analyse-phase",
        "lit-analyse"
    ],
    "languageSettings": [
        {
            "languageId": "markdown,mdx",
            "ignoreRegExpList": [
                // Fenced code blocks
                "/^\\s*```[\\s\\S]*?^\\s*```/gm",
                // Markdown inline codeblocks
                "`[^`\\s]+`",
                "`\\w+[^`]*?\\w+`"
            ]
        },
        {
            "languageId": "typescript,javascript,typescriptreact,javascriptreact,mdx,astro",
            "ignoreRegExpList": [
                "js-hex-escape",
                "js-unicode-escape",
                "js-regexp-flags",
                "js-hex-number"
            ]
        },
        {
            "languageId": "python",
            "includeRegExpList": ["comments"]
        },
        {
            "languageId": "css,scss",
            "ignoreRegExpList": [
                // data URIs, which are common in CSS and often contain many false positives.
                "data:.+"
            ]
        }
    ],
    "ignorePaths": [
        //#region i18n
        "{cspell.*,cSpell.*,.cspell.*,cspell.config.*}", // CSpell configuration files
        "cspell-report.{json,html,txt}", // CSpell report files
        "dictionaries", // Custom dictionary files
        "./locale", // Locale files (Django, CSpell)
        "web/xliff", // XLIFF translation files
        "web/src/locales", // Generated TypeScript locale
        //#endregion
        //#region Monorepo
        "CODEOWNERS", // GitHub code owners file
        "LICENSE", // License file
        ".gitignore", // Git ignore file
        ".gitattributes", // Git attributes file
        "*-lock.{json,yaml}", // Lock files (NPM, Yarn, Pnpm, Pip, Cargo)
        "pnpm-workspace.yaml", // PNPM workspace + override config
        "CHANGELOG*.md", // Changelog files
        ".vscode/**", // VSCode configuration
        "out", // TypeScript type-checking output
        "dist", // Distributed build output
        "coverage/**", // Coverage output
        ".env", // Environment files
        "*.tsbuildinfo", // TypeScript build info
        "schema.yml", // OpenAPI schema
        "./blueprints/schema.json", // Generated blueprint schema
        "custom-elements.json", // TypeScript custom element definitions
        "./packages/client-go", // Generated API Client
        "./packages/client-rust/src", // Generated API Client
        "./packages/client-ts/src", // Generated API Client
        "./schemas/**", // XML Schemas
        "./authentik/sources/**/schemas", // Source schemas
        "**vendored**", // Vendored files
        "fixtures", // Test fixtures
        "tests/e2e/**/*.php", // PHP fixtures
        "compose.yml", // Docker Compose files
        //#region JavaScript/TypeScript
        ".eslintignore", // ESLint ignore file
        ".prettierignore", // Prettier ignore file
        ".yarn", // Yarn cache and configuration
        "node_modules", // Node modules
        "playwright-report", // Playwright test output
        "package.json", // Package manifest file
        "storybook-static", // Storybook build output
        "sampleData.{js,ts}", // Storybook sample data files
        "*.stories.{ts,tsx}", // Storybook stories
        "*.min.{js,css}", // Minified JS and CSS files
        "*.min.{js,css}.map", // Source maps for minified files
        "./web/src/styles/global/vendor/patternfly-fa-icons.css", // Tokens in comments
        //#region Python
        "pyproject.toml",
        "unittest.xml", // Pytest output
        ".venv", // Python virtual environment
        "venv", // Python virtual environment
        "./lifecycle",
        "blueprints",
        "mds",
        //#endregion
        //#region Rust
        "./target", // Rust compilation artifacts
        //#endregion
        //#region Docusaurus
        "*.api.mdx", // Generated API docs
        ".docusaurus/**", // Cache
        "./{docs,website}/build", // Topic docs build output
        "./{docs,website}/**/build", // Workspaces output
        "_redirects", // Redirects file
        "_headers", // Headers file
        //#endregion
        //#region Golang
        "go.mod", // Go module file
        "go.sum", // Go module file
        "htmlcov", // Coverage HTML output
        "coverage.txt", // Coverage text output
        //#endregion
        //#region Media/Static
        "./data", // Media files
        "./media", // Legacy media files
        "*.{png,jpg,pdf,svg}", // Binary files
        "*dashboard.json" // Dashboards
        //#endregion
    ],
    "useGitignore": true,
    "features": {
        "weighted-suggestions": true
    },
    "failFast": false
}