3
votes

Activer eslint uniquement pour les fichiers modifiés

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?


2 commentaires

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.


5 Réponses :


0
votes

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


3 commentaires

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?



2
votes

Peut-être que la mise en cache ESLint est ce dont vous avez besoin?

https://eslint.org/docs/user-guide / command-line-interface # cache


1 commentaires

Cela peut isoler l'autre répertoire pour valider mais je souhaite suivre uniquement les fichiers modifiés.



3
votes

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


0 commentaires

0
votes

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>


0 commentaires

1
votes

eslint --fix $ (git diff --name-only HEAD | xargs)


1 commentaires

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)