Soit je ne comprends pas encore dependencies
contre devDependencies
dans le nœud 100% ou bien eslint est tout simplement faux ici (incapable d'analyser cela correctement):
3:1 error 'chai' should be listed in the project's dependencies, not devDependencies import/no-extraneous-dependencies
4:1 error 'chai-enzyme' should be listed in the project's dependencies, not devDependencies import/no-extraneous-dependencies
5:1 error 'enzyme' should be listed in the project's dependencies, not devDependencies import/no-extraneous-dependencies
7:1 error 'sinon' should be listed in the project's dependencies, not devDependencies import/no-extraneous-dependencies
9:1 error 'redux-mock-store' should be listed in the project's dependencies, not devDependencies import/no-extraneous-dependencies
Ce sont des dépendances de test, alors pourquoi dit-on qu'elles devraient être listées dans dependencies
?
Note supplémentaire: Nous utilisons Travis comme notre IC, donc je ne sais pas si cela fait une différence pour cela non plus.
Résolu en ajoutant ceci à mon .eslintrc
:
"import/no-extraneous-dependencies": ["error", {"devDependencies": true}]
[no-extraneous-dependencies] Ajouter des exceptions? # 422
Basé sur la réponse de cet utilisateur :
vous pouvez définir l'option devDependencies: true dans un fichier .eslintrc de votre dossier de test:
rules: import/no-extraneous-dependencies: [erreur, {devDependencies: true}] Ensuite, vous obtiendrez des rapports sur tous les packages référencés qui ne sont pas des dépendances incluses ou devDependencies. Ensuite, vous obtenez le bénéfice de la règle, sans aucun bruit provenant des commentaires de désactivation .
Je pense que cela pourrait fonctionner pour vous? C'est ainsi que j'utiliserais la règle, dans votre cas, puisque votre code de test est séparé dans un répertoire de test.
Cet article a également été utile pour confirmer que je n'étais pas fou de ne pas vouloir certaines d'entre elles dans ma liste de dépendances : Sharable ESLint Config =
Si vous souhaitez autoriser les importations de devDependencies
dans les fichiers de test uniquement , vous pouvez utiliser un array of globs
, comme documentation de no-extraneous-dependencies
États:
Lors de l'utilisation d'un tableau de globs, le paramètre sera défini sur true (aucune erreur signalée) si le nom du fichier en cours de filtrage correspond à un seul glob du tableau et sur false sinon.
Le paramètre suivant désactivera la charpie pour les fichiers de test uniquement.
"import/no-extraneous-dependencies": ["error", {"devDependencies": ["**/*.test.ts", "**/*.test.tsx"]}]
De cette façon, les importations de devDependencies
sont toujours signalées comme des erreurs.