ESLint Overrides

Заметил, что часто требуется настроить ESLint для разных директорий по разному. Иногда, вообще нужно выключить некоторые правила в отдельных директориях (например, tests).

Не так давно в eslint config завезли параметр overrides. Позволяет переопределить правила для определенных файлов или директорий.
Выглядит так:

{
overrides: [
{
files: [“PATTERN”, “ANOTHER”],

excludedFiles: “EXCLUDE”,
...CONFIG,
}
]
}


- Вместо PATTERN и ANOTHER можно вписывать relative glob patterns выбирающие файлы, к которым применяются правила описанные в CONFIG.
- CONFIG это буквально такой же конфиг как и обычный eslint конфиг.
- excludedFiles опциональный параметр, позволяет выкинуть некоторые файлы из выбранных раннее.

Примеры

Включить JEST окружение для тестов:
{
files: [“**/*.test.ts”, “**/*.test.tsx”, “tests/**.ts”, “tests/**.tsx”],
env: { jest: true },
}


Включить плагин и конфиг для моделей:
{
files: [“**/model.ts”],
plugins: [“@company-name/eslint-plugin-model”],
extends: [
“plugin:@company-name/eslint-plugin-model/recommended”,
],
}


Документация

Пример конфига из моего проекта

Comments

Be the first to add a comment