Как добавить TSLint в задачу сборки VSCode по умолчанию?

Я установил TSLint в VS Code.

В моем угловом приложении, как я могу обновить VS Code для запуска TSLint против моего источника, когда я запускаю задачу сборки по умолчанию?


person StuperUser    schedule 05.06.2018    source источник


Ответы (1)


TSLint для кода VS — это визуальная помощь, а не инструмент сборки. Не путайте это.

Если вы хотите добавить линтер в свою задачу сборки по умолчанию, это произойдет в вашем package.json :

"scripts": {
  "build": "ng build --prod"
}

замените эту строку на

"scripts": {
  "build": "ng lint; ng build --prod"
}

Теперь вы можете бежать

npm run build

и ваш проект будет рассыпаться перед сборкой.

person Community    schedule 05.06.2018
comment
Да, линтер выполняет статический анализ. Я хочу выполнить предварительную сборку локально. Я не хочу добавлять его в package.json, так как это повлияет на сборки в конвейере интеграции/развертывания. Я хочу добавить его в задачи сборки VSCode, чтобы он интегрировался с нажатием клавиши, и я мог добавить -fix и просмотреть изменения перед фиксацией. - person StuperUser; 05.06.2018
comment
Что ж, у меня тоже есть расширение, и из команд, которые я могу запустить, единственное, что оно делает, — это проверяет ваш линтинг и выводит его на консоль. Так что мой ответ будет нет, вы не можете делать то, что хотите. Но я никогда не пользовался инструментами для сборки VSCode, так что кто знает. И любое решение повлияет на конвейер интеграции/развертывания, поскольку вы хотите запустить его перед сборкой и отменить сборку, если линтинг не проходит... И, кстати, если вы используете непрерывную интеграцию, лучше иметь ее в ваш файл пакета, а не в вашей среде IDE. - person ; 05.06.2018
comment
если вы используете непрерывную интеграцию, лучше иметь ее в файле пакета, а не в вашей среде IDE. Нет, если вы используете -fix, который будет вносить изменения в файлы за пределами вашего контроля версий, поэтому выходные данные вашей сборки для CI не совпадают с локальными, что может скрыть проблемы отладки. - person StuperUser; 05.06.2018
comment
О чем ты -fix говоришь? Суффикс к вашим коммитам? флаг НГ? И я говорю это, потому что у вас не будет VSCode на вашем Jenkins или Travis. Так что я действительно не понимаю, о чем вы говорите... - person ; 05.06.2018
comment
Это флаг для ng cli ng lint: github.com/angular/angular-cli/wiki /lint --fix Исправляет ошибки линтинга (может перезаписывать линтинговые файлы). Автоматически исправляет простые вещи, которые находит. - person StuperUser; 05.06.2018
comment
Да так что просто запустите ng lint --fix; git commit -a -m "Lint fix"; ng build --prod ... - person ; 05.06.2018
comment
@StuperUser (хотя я не рекомендую исправлять ошибки автоматически) - person ; 05.06.2018