eslint-formatter-summary
Version:
ESLint summary formatter aggregating results by rule
24 lines (23 loc) • 874 B
JavaScript
;
export const aggregate = (results) => extractMessages(results).reduce(processMessage, []);
export const extractMessages = (results) => results.reduce(
(messages, result) => messages.concat(result.messages),
[]
);
export const processMessage = (summary, message) => {
if (typeof message.ruleId === "undefined") return summary;
const ruleId = message.ruleId !== null ? message.ruleId : "syntax error";
const severity = message.severity;
const errors = severity === 2 ? 1 : 0;
const warnings = severity === 1 ? 1 : 0;
const rule = findRule(summary, ruleId);
if (!rule) {
summary.push({ ruleId, errors, warnings });
} else {
rule.errors += errors;
rule.warnings += warnings;
}
return summary;
};
export const findRule = (summary, ruleId) => summary.find((rule) => ruleId === rule.ruleId);
//# sourceMappingURL=aggregator.js.map