10 votes

Impossible de résoudre les chemins relatifs des modules lorsque eslint est exécuté depuis un sous-dossier

Lorsque j'exécute eslint à partir du dossier racine de mon dépôt, tout fonctionne bien, sans erreur.

Mais lorsque je m'exécute à partir d'un sous-dossier, j'obtiens une tonne d'import/non résolus qui ne se produisent pas lorsque je m'exécute à partir de Root :

/reporoot/subfolder0/subfolder1/MyFile.js
  11:8   error  Unable to resolve path to module 'foo'  import/no-unresolved
  11:8   error  Missing file extension for "foo"        import/extensions
  14:97  error  Unable to resolve path to module 'foo'  import/no-unresolved
  14:97  error  Missing file extension for "foo"        import/extensions

Peu importe comment je cours. Par exemple.. :

Ça va marcher :

cd /reporoot
eslint .

Toutes ces commandes échoueront avec l'erreur indiquée ci-dessus :

cd subfolder0
eslint .

o

eslint subfolder0

o

eslint /reporoot/subfolder0/subfolder1/MyFile.js

Vous avez une idée de la nature du problème ou une idée de la façon de le résoudre ?

4voto

MauriceNino Points 2764

C'est probablement un problème avec les chemins absolus dans vos importations selon ce problème GitHub .

Essayez de définir ce paramètre dans votre .eslintrc.json (Ou convertissez-le en tout autre type de fichier si vous n'utilisez pas JSON)

"settings": {
    "import/resolver": {
        "node": {
            "extensions": [".js", ".jsx", ".ts", ".tsx"]
        }
    }
}

Si ce qui précède ne fonctionne pas et que vous voulez simplement vous débarrasser de ces erreurs, ajoutez simplement ceci à la place :

"settings": {
    "import/no-unresolved": 0, // Turn off "Unable to resolve path to module ..." error
    "import/extensions": 0 // Turn off "Missing file extension for ..." error
}

La désactivation de cette fonction n'est pas très importante de toute façon, car les linters sont connus pour avoir des problèmes avec les chemins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X