ESLint Stylistic игнорирует файлы ts

Я использую новый плоский стиль ESLint с @stylistic/eslint-plugin, но он не может обнаружить файлы ts, и когда я пытаюсь запустить его непосредственно с файлом ts, он выдает ошибку:

warning  File ignored because no matching configuration was supplied

Вот мои файлы:

eslint.config.mjs

import stylistic from "@stylistic/eslint-plugin";

export default [
    {
        plugins : {
            "@stylistic" : stylistic,
        },
        rules : {
            "@stylistic/comma-dangle" : ["error", "always-multiline"],
            "@stylistic/eol-last" : ["error", "always"],
            "@stylistic/indent" : [
                "error",
                "tab",
                {
                    "SwitchCase" : 1,
                },
            ],
            "@stylistic/key-spacing" : ["error", { "beforeColon" : true }],
            "@stylistic/linebreak-style" : [
                "error",
                "unix",
            ],
            "@stylistic/quotes" : [
                "error",
                "double",
                {
                    "allowTemplateLiterals" : true,
                    "avoidEscape" : true,
                },
            ],
            "@stylistic/semi" : [
                "error",
                "always",
            ],
            "@stylistic/type-annotation-spacing" : [
                "error",
                {
                    "before" : true,
                },
            ],
        },
    },
];

tsconfig.json

{
    "compilerOptions": {
      "target": "es2016",                                  /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
      "module": "commonjs",                                /* Specify what module code is generated. */
      "noEmit": true,                                   /* Disable emitting files from a compilation. */
      "esModuleInterop": true,                             /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
      "forceConsistentCasingInFileNames": true,            /* Ensure that casing is correct in imports. */
      "strict": true,                                      /* Enable all strict type-checking options. */
      "skipLibCheck": true                                 /* Skip type checking all .d.ts files. */
    },
    "exclude": [
      "node_modules"
    ]
  }

dependencies

  "devDependencies": {
    "@eslint/js": "^9.8.0",
    "@stylistic/eslint-plugin": "^2.6.0",
    "appium": "^2.11.2",
    "eslint": "^9.8.0",
    "ts-node": "^10.9.2",
    "typescript": "^5.5.4",
    "typescript-eslint": "^8.0.0",
    "webdriverio": "^8.39.1"
  }

🤔 А знаете ли вы, что...
JavaScript поддерживает модульную структуру, что способствует организации кода на больших проектах.


1
73
1

Ответ:

Решено

По умолчанию ESLint включает все файлы с расширениями .js, .cjs и .mjs. Если вы хотите линтовать файлы с другими расширениями, например .ts, вам нужно указать их через files. Источник: Конфигурационная документация ESLint. Обновленный конфиг:

import stylistic from "@stylistic/eslint-plugin";

export default [
    {
        plugins: {
            "@stylistic" : stylistic,
        },
        files: ["**/*.ts"],
        rules: {
            // your rules
        },
    },
]