2024-03-29 14:22:19 +07:00

65 lines
1.3 KiB
JavaScript

const notify = require('gulp-notify');
const stripIndent = require('strip-indent');
const { pluralText } = require('../utils');
const errors = require('../utils/errors');
const { log } = console;
notify.logLevel(0);
function printResults(cb) {
const errList = errors.list;
const {
totalError, totalWarning, totalIssue, data,
} = errList;
const errorString = `${totalError} ${pluralText('error', totalError)}`;
const warningString = `${totalWarning} ${pluralText('warning', totalWarning)}`;
const resultString = `The project has ${errorString} & ${warningString}`;
const resultStr = resultString; // Improve Performance Node
const dashChar = ''.padEnd(resultStr.length + 4, '=');
log(stripIndent(`
${dashChar}
${resultStr}
${dashChar}
`));
if (!totalIssue) {
return cb();
}
const infoLogs = stripIndent(data.map(({
message, code, title, type,
}, i) => {
if (type !== 'Warning') {
notify.onError({
title,
message,
})();
}
return `
---[ ${type} ${i + 1} ]-------------------------
| Path : ${message}
| ${code}
`;
}).join(`
`));
log((`
${infoLogs}
${dashChar}
`).replace(/^ {2}/gm, ''));
errors.resetError();
return cb();
}
printResults.displayName = 'print:results';
module.exports = printResults;