Невозможно разрешить относительные пути к модулям при запуске eslint из подпапки - PullRequest
7 голосов
/ 09 мая 2019

Когда я запускаю eslint из корневой папки моего репозитория, все работает нормально, без ошибок.

Но когда я запускаю из подпапки, я получаю тонну импорта / неразрешенности, которая не происходит при запуске из корня:

/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

Не важно, как я бегу. e.g.:

Это будет работать:

cd /reporoot
eslint .

Все эти команды завершатся с ошибкой, показанной выше:

cd subfolder0
eslint .

или

eslint subfolder0

или

eslint /reporoot/subfolder0/subfolder1/MyFile.js

Есть идеи, что это за проблема, или мысли о том, как ее исправить?

1 Ответ

0 голосов
/ 17 мая 2019

Это, вероятно, проблема с абсолютными путями в ваших импорте в соответствии с этой проблемой GitHub .

Попробуйте установить это в .eslintrc.json (или конвертировать в любой другой тип файла, если вы не используете JSON)

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

Если вышеприведенное не работает, и вы просто хотите избавиться от этих ошибок, просто добавьте это вместо:

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

Отключение этой функции в любом случае не так уж и важно, потому что линтеры хорошо известны тем, что имеют проблемы с маршрутизацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...