Наблюдать за выводом труб в eslint

Кто-нибудь знает, как я могу передать вывод из Watchify в eslint - и будет ли он сообщать о проблемах со связыванием в CLI, все еще создавая выводимый JS?

Watchify утверждает, что вы можете направить команду, используя -o,

watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'

Эслинт говорит, что вы можете читать со стандартного ввода, используя --stdin флаг.

Итак, с этими знаниями я использую следующую команду:

watchify main.js -o 'eslint --stdin > static/bundle.js'

Что это на самом деле делает, так это выводит предупреждения static/bundle.js, Я все еще хотел бы, чтобы это сообщало CLI все же, строило JS, когда линтирование проходов. Это возможно?

Я просто ищу решение CLI, использующее модули напрямую. Я не планирую использовать Gulp/Grunt или его эквивалент.

1 ответ

Решение

К сожалению, Watchify требует, чтобы вы указали выходной файл, что означает, что вы не сможете передавать / транслировать --stdin флаг от eslint для наблюдения за выводом.

Для того, чтобы использовать --stdin флаг, вход должен быть в форме предыдущей команды, которая привела к выводу в оболочку stdout, Затем eslint получит эти данные и отправит их в систему, отправив вывод только команды eslint в системы. stdout... это то, что вы видите, когда Эслинт отвечает любыми проблемами или успехами.

Поскольку watchify объединяет ваши исходные файлы, вероятно, лучше сначала выполнить lint, а затем выполнить watchify. В качестве альтернативы, вы можете сделать оба одновременно. Вот примеры каждого:

если сначала:

eslint /path/to/src && watchify watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'

одновременно:

eslint /path/to/src & watchify watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'
Другие вопросы по тегам