Вимкнути правила eslint для папки


181

Чи є спосіб відключити конкретні правила для папки? Наприклад, я не хочу вимагати коментарів JSDoc для всіх своїх тестових файлів у testпапці. Чи є спосіб це зробити?


eslint-babel, здається, ігнорує будь-які файли та налаштування .eslint-ignore.
ivanixmobile

Відповіді:


301

Щоб ігнорувати деяку папку з правил eslint, ми могли б створити файл .eslintignoreу кореневій директорії та додати туди шлях до папки, яку ми хочемо опустити (так само, як і для .gitignore).

Ось приклад із документів ESLint щодо ігнорування файлів та каталогів :

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

34
Це рішення насправді не відповідає на початкове запитання, яке запитує, як відключити конкретні правила для певного каталогу. Тут ви відключаєте всі правила для даних каталогів. Краще відповідь тут: stackoverflow.com/a/41316801/882638
ericgio

3
Витяг з документації ESLint " Крім будь-яких шаблонів у файлі .eslintignore, ESLint завжди ігнорує файли в / node_modules / * та / bower_components / *. " Тому додавати не потрібно /node_modules, /distдостатньо лише для виключення обох каталогів. . Також підтримується глобальний шаблон, вказуючи (під) каталоги.
ozanmuyes

Чи можна це зробити за допомогою vue.config.js або package.json?
Серж

3
Чи є в будь-якому випадку налаштування, які каталоги ігнорувати у самому .eslintrc.jsonфайлі конфігурації, щоб нам не потрібен ще один .estlint файл, і ми можемо успадкувати значення ігнорування із eslint-config-myconfigспільної конфігурації?
Джошуа Пінтер

1
На цьому є кілька подібних дописів. Мені потрібно: --ignore-pathі / або --ignore-pattern, і я думаю, що також точно відповідає на це питання.
Ніл Гай Ліндберг

50

Попередні відповіді були в правильному порядку, але повна відповідь на це йде на вимкнення правил лише для групи файлів , там ви знайдете документацію, необхідну для відключення / включення правил для певних папок (Тому що в деяких випадках ви не хочу ігнорувати все, лише відключити певні правила). Приклад:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}

2
Ця відповідь є кращою, оскільки ви можете вимкнути певне правило для певного каталогу. Замість того, щоб просто вимкнути всі правила для каталогу.
Штурм Мюллер

1
Спочатку це не працювало для мене. Переконайтеся, що у вас .eslintrc.jsв папці немає extends: "../.eslintrc.js"!
Флоріан Вендельборн

2

Версія YAML:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

Приклад конкретних правил для тестування мокко:

Ви також можете встановити специфічну env для папки, наприклад:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

Ця конфігурація виправить повідомлення про помилку про describeта itне визначене лише для вашої тестової папки:

/myproject/test/init-tests.js
6: 1 помилка "опису" не визначена no-undef
9: 3 помилка "вона" не визначена no-undef

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.