You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
899 B
36 lines
899 B
1 year ago
|
module.exports = function (results) {
|
||
|
results = results || [];
|
||
|
|
||
|
const errorType = {
|
||
|
warnings: {},
|
||
|
errors: {},
|
||
|
};
|
||
|
|
||
|
results.reduce((result, current) => {
|
||
|
current.messages.forEach((msg) => {
|
||
|
if (msg.severity === 1) {
|
||
|
errorType.warnings[msg.ruleId] = errorType.warnings[msg.ruleId] + 1 || 1
|
||
|
}
|
||
|
if (msg.severity === 2) {
|
||
|
errorType.errors[msg.ruleId] = errorType.errors[msg.ruleId] + 1 || 1
|
||
|
}
|
||
|
});
|
||
|
return result;
|
||
|
});
|
||
|
|
||
|
const reduceErrorCounts = (errorType) => Object.entries(errorType).sort((a, b) => b[1] - a[1])
|
||
|
.reduce((result, current) => result.concat([`${current[0]}: ${current[1]}`]), []).join('\n');
|
||
|
|
||
|
const warnings = reduceErrorCounts(errorType.warnings);
|
||
|
const errors = reduceErrorCounts(errorType.errors);
|
||
|
|
||
|
return `
|
||
|
Errors:
|
||
|
${'='.repeat(30)}
|
||
|
${errors}
|
||
|
${'\n'.repeat(4)}
|
||
|
Warnings:
|
||
|
${'='.repeat(30)}
|
||
|
${warnings}`;
|
||
|
};
|