Как заставить tslint следить за изменениями в определенной папке?
Я использую webpack 2, и он скажет мне, есть ли проблемы с компиляцией с моим кодом typescript. Однако я не понял, как запустить tslint через него и запустить его с каждым изменением, обнаруженным webpack, когда он работает в режиме dev-server.
перейти tslint-loader работает, но для каждого файла в моем проекте он просто говорит мне:
/ src / main.указаны действительные правила tsNo
Я используя его как таковой:
rules: [
{
test: /.ts$/,
enforce: 'pre',
loader: 'tslint-loader',
options: {
configuration: {
configFile: true // I have also tried setting this to "tslint.json"
}
}
},
... more loaders...
все еще нет радости.
Это там способ либо:
- есть tslint-loader Я использую сообщить мне об ошибках lint в режиме webpack-dev-server каждый раз, когда я делаю изменения?
- просто запустите tslint из командной строки и постоянно "смотрите" файлы в моем проекте? Я ищу что-то вроде
tslint ./src/**/*.ts -t --force
, но с дополнительным--watch
флаг, который не существует по tslint docs.
Я бы предпочел не использовать мой редактор (например, VS Code), поскольку не все в моей команде используют его. Я бы предпочел, чтобы решение содержалось либо в конфигурации webpack, либо в пакете.сценарии json.
спасибо!
1 ответов
что касается сценария, который вы можете запустить из командной строки, вы можете попробовать использовать npm-watch:https://www.npmjs.com/package/npm-watch.
я использовал его, чтобы успешно сделать то, о чем вы говорите. Вот что я сделал:--7-->
установлен npm-watch для моего проекта:
$ npm install npm-watch --save-dev
добавил следующее в мой пакет.файл json:
"watch": {
"lint": "src/main.ts"
},
"scripts": {
"lint": "tslint src/**/*.ts -t verbose",
"watch": "npm-watch"
},
Я считаю, что npm-watch-хороший инструмент для предоставления функциональности часов инструментам, которые не возьмите его, как tslint.
обновление:
кроме того, если вы не хотите добавлять раздел "часы" в свой пакет.файл json, я на самом деле только что обнаружил новый инструмент, который мне нравится еще больше, называется chokidar. Это позволяет указать селекторы файлов и команды, которые вы хотите запустить все в одной строке.
вот мой обновленный пакет.в JSON:
"scripts": {
"lint:watch": "chokidar webpack.config.* src/**/*.ts buildScripts/**/*.ts -c \"npm run lint\" --initial --verbose"
},
вы в основном даете ему один или несколько селекторов файлов, а затем используете параметр'- c ' для указания команда, которую вы хотите запустить при изменении любого из этих файлов.
теперь вы можете просто запустить команду:
$ npm run lint:watch
мне нравится запускать его с установленным флагом --initial, поэтому он не ждет изменения файлов перед выполнением команды.