web-dev-qa-db-fra.com

Comment configurer la correction automatique ESLint lors de l'enregistrement dans WebStorm / PHPStorm?

J'essaie de créer un observateur de fichiers personnalisé dans WebStorm qui corrigera automatiquement les erreurs ESLint lors de l'enregistrement. Dans Settings > Tools > File Watchers J'ai créé un nouvel observateur de fichiers avec les paramètres suivants:

  • Type de fichier: Any
  • Portée: All places
  • Programme: /home/user/Projects/todo-app/eslint-autofix.sh
  • Arguments: vide
  • Chemins de sortie à rafraîchir: vide
  • Autres options> Répertoire de travail: /home/user/Projects/todo-app

eslint-autofix.sh:

#!/usr/bin/env bash

./node_modules/.bin/eslint --fix

Ensuite, j'ai fait une erreur ESLint et j'ai appuyé Ctrl + S sauver. L'erreur suivante apparaît:

/home/user/Projects/todo-app/eslint-autofix.sh
/usr/bin/env: ‘node’: No such file or directory

Comment corriger cette erreur?

14
jstice4all

Selon this article, les paramètres doivent être les suivants:

  • Type de fichier: Tout (ou JavaScript)
  • Portée: fichiers de projet
  • Programme: $ ProjectFileDir $/node_modules/.bin/eslint
  • Arguments: --fix $ FilePath $
  • Chemins de sortie à actualiser: $ FileDir $
19
jstice4all

Juste pour étendre la solution de jstice4all & gotjosh:

J'ai pu obtenir FileWatcher sur ESLint pour certains projets, mais cela ne fonctionnait pas avec le plugin étend: '@ react-native-community'

@react-native-community/eslint-config#overrides[2]:
    Environment key "jest/globals" is unknown

Il s'avère que le plugin @ react-native-community doit être exécuté à partir du dossier du projet lui-même afin de charger les variables d'environnement, tandis que l'observateur de fichiers s'exécute à partir du chemin node_module/eslint. Pour le faire fonctionner, j'ai dû ajouter la configuration suivante:

  • Répertoire de travail: $ ProjectFileDir $

Capture d'écran Config

1
aelesia