Récemment, j'ai configuré eslint l'un de mes projets. Ce projet était composé de centaines de fichiers, dès que j'ai configuré eslint commence à afficher des erreurs dans tous les fichiers.
IMO, eslint parcourt tous les fichiers js, ce qui n'est pas nécessaire actuellement. Existe-t-il un moyen de limiter eslint uniquement pour les fichiers modifiés?
5 Réponses :
Vous pouvez avoir plusieurs eslintrc et configurer chacun pour qu'il se comporte comme vous le souhaitez.
Reportez-vous à la cascade et à la hiérarchie dans la documentation officielle. https://eslint.org/docs/ 2.0.0 / guide-utilisateur / configuration # configuration-cascade-et-hiérarchie
Essentiellement, vous pouvez avoir différentes règles pour différents dossiers et les configurer en conséquence.
En supposant que par fichiers modifiés
, vous entendez le code spécifique de votre projet dans src
et non un autre code de bibliothèque dans différents dossiers
Non, je veux dire uniquement les fichiers qui ont été modifiés.
Comment pouvez-vous distinguer les fichiers qui ont changé?
Peut-être pourriez-vous utiliser le cli eslint et diriger les fichiers qui ont la dernière date de modification après un certain seuil et obtenir les résultats de cette façon?
Peut-être que la mise en cache ESLint est ce dont vous avez besoin?
https://eslint.org/docs/user-guide / command-line-interface # cache
Cela peut isoler l'autre répertoire pour valider mais je souhaite suivre uniquement les fichiers modifiés.
J'utilise ceci et cela fonctionne comme un charme
LIST=`git diff-index --name-only --diff-filter=d HEAD | grep .*\\.js | grep -v json`; if [ \"$LIST\" ]; then eslint --fix $LIST; fi
Je l'ai ajouté au package.json en tant que script sous le nom de lint: git code> et maintenant je l'exécute avec
yarn lint: git
Tiré de https://gist.github.com/oroce/11282380#gistcomment-2741146
similaire aux commentaires de @ELCAPITANBETO
nous pouvons faire
eslint -c eslintrc.js $ (git diff --name-only --diff-filter = ACMRTUXB master | grep -E \ "(. js $ | .ts $ | .tsx $) \" )
https://gist.github.com/seeliang/0f0de424d1cdc4541c338f4ee93b7e6p>
eslint --fix $ (git diff --name-only HEAD | xargs)
J'ai utilisé ceci, mais j'ai ajouté un ** / *. Js
pour ne pas le pelucher des choses comme docker-compose.yml
: eslint --fix $ (git diff --name-only HEAD ** / *. js | xargs)
qu'entendez-vous par «fichiers modifiés»? Je veux dire, par exemple, vous exécutez lint, quels fichiers doit-il vérifier ...?
Supposons qu'il y ait 100 fichiers, qui peuvent contenir des erreurs / avertissements eslint mais je veux que eslint ne suive que les fichiers modifiés.