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"
  }
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

У меня сейчас небольшая проблема с этим. У меня есть фрагмент кода, который выглядит примерно так: const o = { key : "abc" as const } и eslint выдает мне ошибку Parsing error: Unexpected token as |eslint| в vscode, как будто он на самом деле не регистрирует свой машинописный текст.

A. L 03.08.2024 15:27

@A.L Я не очень хорошо знаком с использованием TypeScript вместе со стандартным парсером ESLint, однако вы можете попробовать использовать парсер TypeScript ESLint. Если это не сработает, возможно, вам следует задать новый вопрос.

JSON Derulo 03.08.2024 15:40

Другие вопросы по теме