Ctrl K
ComunidadGuías…

eslint.format.config.mjs

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

Archivo original ↗Preguntar a KiBot
// @ts-check

import { defineConfig, globalIgnores } from 'eslint/config';
import tsParser from "@typescript-eslint/parser";
import stylistic from "@stylistic/eslint-plugin";

// eslint config just for formatting rules
// potentially to be merged with the linting rules into one single config,
// once we have fixed the majority of lint errors

// Go to https://eslint.style/rules/default/${rule_without_prefix} to check the rule details
export const stylisticRules = {
    "@stylistic/indent": ["error", 4],
    "@stylistic/quotes": ["error", "double", { avoidEscape: true, allowTemplateLiterals: "always" }],
    "@stylistic/semi": ["error", "always"],
    "@stylistic/quote-props": ["error", "consistent-as-needed"],
    "@stylistic/max-len": ["error", { code: 100 }],
    "@stylistic/comma-dangle": ["error", "never"],
    "@stylistic/array-bracket-spacing": ["error", "always"],
    "@stylistic/object-curly-spacing": ["error", "always"],
    "@stylistic/padded-blocks": ["error", { classes: "always" }]
};

export default defineConfig(
    globalIgnores([
        ".cache",
        "tmp",
        "**/dist",
        "**/out-tsc",
        "apps/edit-docs/demo/*",
        "docs/*",
        "apps/web-clipper/lib/*",
        // Build output that is gitignored but sits outside a `dist`, so it would otherwise be
        // linted. `cap sync` copies the whole standalone bundle into the native projects, which
        // adds ~165 MB of minified JS and makes ESLint run out of memory.
        "apps/mobile/android/**",
        "apps/mobile/ios/**",
        "apps/*/out/**",
        "apps/web-clipper/.output/**",
        "site/**",
        "**/test-output/**",
        "apps/web-clipper/.wxt/**",
        // Vendored third-party code. `--fix` must never touch these: the pdf.js viewer is
        // re-vendored verbatim from an upstream release, and `update-viewer.ts` locates our
        // patches by matching upstream markup.
        "packages/pdfjs-viewer/viewer/**",
        "packages/splitjs/test/lib/**",
        // Copied from @valtown/codemirror-ts v2.3.1.
        "packages/codemirror/src/type_completion/codemirror-ts/**",
        // Generated by lezer-generator from the `.grammar` next to them.
        "packages/codemirror/src/languages/mermaid/parsers/*/parser*.ts",
        // A worktree here is a full second copy of the repository.
        ".claude/worktrees/**"
    ]),

    {
        files: ["**/*.{js,ts,mjs,cjs}"],

        languageOptions: {
            parser: tsParser
        },

        plugins: {
            "@stylistic": stylistic
        },

        rules: {
            ...stylisticRules
        }
    }
);