Как глобально установить ESLint с поддержкой TypeScript? - PullRequest
0 голосов
/ 30 сентября 2019

Я хотел бы настроить установку GLOBAL eslint для линтинга моего проекта машинописи в коде Visual Studio.

Поэтому я установил расширение кода Visual Studio "ESLint" и установил ESLint с

npm install -g eslint

Согласно https://www.npmjs.com/package/@typescript-eslint/eslint-plugin необходимо также установить @typescript-eslint/eslint-plugin глобально, поэтому я запустил

npm install -g @typescript-eslint/parser @typescript-eslint/eslint-plugin

, чтобы установить его вместе с ts parse @typescript-eslint/parser.

Далее я добавил очень простой .eslintrc-файл:

{
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "rules": { }
}

Однако, как только я запускаю eslint . в моем проекте, я получаю:

Error: Failed to load parser '@typescript-eslint/parser' declared in '.eslintrc.js': Cannot find module '@typescript-eslint/parser'

ДалееЯ попытался удалить глобально установленный парсер и установить его локально, но это тоже не сработает: теперь моя глобальная eslint установка может найти мой локальный парсер, но парсеру нужен еще один локальный установка машинописного текста, eslint и т. Д. Однако я хочу запустить все глобально.

Я просто не могу заставить его работать! Кто-нибудь может мне помочь с процессом?

1 Ответ

1 голос
/ 10 октября 2019

Вот несколько предложений ...

В вашем .eslintrc вы не указали плагин '@ typescript-eslint' ...

"плагины": ["@ typescript-eslint"],

Кроме того, если вы получите эту работу, вы также захотите указать parserOptions.project & tsconfigRootDir с абсолютным путем, потому что вы найдете ваш tsconfig.json - так что вы можетеиспользовать правила, которые требуют информации о типе - сложнее от глобальной установки.

Кроме того, я думаю, что вам нужно явно указать плагину eslint для проверки ваших файлов TS (и, возможно, js и реагирования и т. Д., Как требуется) с настройками vsc ....

"eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
],  

НО, я боюсь, что все это неопределенное начинание ... обратите внимание, что документы говорят ...

Также возможноустановить ESLint глобально, а не локально (используя npm install eslint --global). Однако это не рекомендуется, и любые плагины или общие ресурсы, которые вы используете, должны быть установлены локально в любом случае.

Я отмечаю здесь, что глобальные установки не рекомендуются, но также и эта цитатакажется, противоречит ссылке, которую вы отметили, что сказал установить глобально плагин. Я не уверен, что правильно, потому что я перестал настраивать его таким образом, так как это не рекомендуется. Надеюсь, это поможет, тем не менее.

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