EDIT: Поскольку я отправил этот ответ, я очистил и значительно расширил код, который я написал ниже, и опубликовал его как свой собственный пакет на npm: jshint-stylish-summary
.
Вот скриншот выхода:
jshint-stylish
, кажется, не поддерживает конечный итог. Возможно, вам захочется найти другого репортера, который сделает то, что вы хотите. (А быстрый perusal of mine ничего не принесет ничего полезного.)
Если вы хотите продолжать использовать jshint-stylish
, у вас все еще есть возможность добавить a custom reporter. Вот один я реализовал, что поможет вам начать:
var map = require('map-stream');
var jshintTotalReporter = function() {
var total = { warnings: 0, errors: 0 };
total.files = { all: 0, success: 0, warning: 0, error: 0 };
return {
collect: map(function(file, cb) {
var codes = { W: 0, E: 0 };
(file.jshint.results||[]).forEach(function(result) {
codes[result.error.code[0]]++;
});
total.warnings += codes['W'];
total.errors += codes['E'];
total.files.all++;
total.files.success += (codes['W'] + codes['E'] > 0) ? 0 : 1;
total.files.warning += (codes['W'] > 0) ? 1 : 0;
total.files.error += (codes['E'] > 0) ? 1 : 0;
cb();
}),
report: function() {
console.log(total.files.all + ' files checked');
console.log(total.files.success + ' files without problems');
console.log(total.files.warning + ' files with warnings (' +
total.warnings + ' warnings total)');
console.log(total.files.error + ' files with errors (' +
total.errors + ' errors total)');
}
};
};
gulp.task('lint', function() {
var jshintTotals = jshintTotalReporter();
return gulp.src(paths.scripts)
.pipe(jshint('.jshintrc'))
.pipe(jshint.reporter('jshint-stylish'))
.pipe(jshintTotals.collect)
.on('end', jshintTotals.report);
});
(Не забудьте запустить npm install --save-dev map-stream
или это не будет работать).
Результат довольно рудиментарный, но должен иметь всю информацию, которая может представлять интерес. Пример:
9 files checked
3 files without problems
6 files with warnings (13 warnings total)
4 files with errors (7 errors total)
Если вы хотите красивые вещи на которые вы можете использовать chalk
, чтобы добавить цвета к выходу и log-symbols
для миленьких значков, которые jshint-stylish
использований.