Désactiver les règles eslint pour le dossier

182

Existe-t-il un moyen de désactiver des règles spécifiques pour un dossier? Par exemple, je ne veux pas avoir de commentaires JSDoc requis pour tous mes fichiers de test dans le testdossier. Y a-t-il un moyen de faire cela?

DevNébuleuses
la source
eslint-babel semble ignorer tous les fichiers et paramètres .eslint-ignore.
ivanixmobile

Réponses:

304

Pour ignorer un dossier des règles eslint, nous pourrions créer le fichier .eslintignoredans le répertoire racine et y ajouter le chemin du dossier que nous voulons omettre (de la même manière que pour .gitignore).

Voici l'exemple de la documentation ESLint sur l' ignorance des fichiers et des répertoires :

# 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
YaTaras
la source
35
Cette solution ne répond pas vraiment à la question d'origine, qui demande comment désactiver des règles spécifiques pour un répertoire particulier. Ici, vous désactivez toutes les règles pour les répertoires donnés. La meilleure réponse est ici: stackoverflow.com/a/41316801/882638
ericgio
3
Extrait de la documentation ESLint " En plus de tous les modèles dans un fichier .eslintignore, ESLint ignore toujours les fichiers dans / node_modules / * et / bower_components / *. " Il n'y a donc pas besoin d'ajouter /node_modules, à lui /distseul suffit d'exclure les deux répertoires . Le modèle glob est également pris en charge lors de la spécification de (sous) répertoires.
ozanmuyes
Existe-t-il un moyen de le faire avec vue.config.js ou package.json?
Serge
3
Est-il possible de configurer les répertoires à ignorer dans le .eslintrc.jsonfichier de configuration lui-même afin que nous n'ayons pas besoin d'un autre fichier .estlint et que nous puissions hériter des valeurs ignorées d'une eslint-config-myconfigconfiguration partagée?
Joshua Pinter
1
Il y a plusieurs articles similaires à ce sujet. J'avais besoin de: --ignore-pathet / ou --ignore-pattern, et je pense que cela répond aussi précisément à cette question.
Neil Guy Lindberg
50

Les réponses précédentes étaient dans la bonne voie, mais la réponse complète à cela va à Désactiver les règles uniquement pour un groupe de fichiers , vous y trouverez la documentation nécessaire pour désactiver / activer les règles pour certains dossiers (car dans certains cas, vous ne Je ne veux pas tout ignorer, ne désactiver que certaines règles). Exemple:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}
Alberto Perez
la source
2
Cette réponse est meilleure car vous pouvez désactiver une règle spécifique pour un répertoire donné. Au lieu de simplement désactiver toutes les règles d'un répertoire.
Storm Muller
1
Cela n'a pas fonctionné pour moi au départ. Assurez-vous que vous n'avez pas .eslintrc.jsdans ce dossier avec un extends: "../.eslintrc.js"!
Florian Wendelborn le
2

Version YAML:

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

Exemple de règles spécifiques pour les tests de moka:

Vous pouvez également définir un environnement spécifique pour un dossier, comme ceci:

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

Cette configuration corrigera le message d'erreur concernant describeet itnon défini, uniquement pour votre dossier de test:

/myproject/test/init-tests.js
6: 1 erreur 'describe' n'est pas défini no-undef
9: 3 error 'it' n'est pas défini no-undef

A-312
la source