markuplint
Version:
A Linter for All Markup Languages.
36 lines (35 loc) • 1.6 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.simpleReporter = void 0;
const utils_1 = require("./utils");
const cli_color_1 = __importDefault(require("cli-color"));
const loggerError = cli_color_1.default.red;
const loggerWarning = cli_color_1.default.xterm(208);
function simpleReporter(data) {
const sizes = {
line: 0,
col: 0,
meg: 0,
};
for (const result of data.results) {
sizes.line = Math.max(sizes.line, result.line.toString(10).length);
sizes.col = Math.max(sizes.col, result.col.toString(10).length);
sizes.meg = Math.max(sizes.meg, utils_1.w(result.message));
}
const out = [];
if (data.results.length) {
out.push(`<${utils_1.markuplint}> ${cli_color_1.default.underline(data.filePath)}: ${loggerError('✗')}`);
for (const result of data.results) {
const s = result.severity === 'error' ? loggerError('✖') : loggerWarning('⚠️');
out.push(` ${cli_color_1.default.cyan(`${utils_1.p(result.line, sizes.line, true)}:${utils_1.p(result.col, sizes.col)}`)} ${s} ${utils_1.p(result.message, sizes.meg)} ${cli_color_1.default.xterm(8)(result.ruleId)} `);
}
}
else if (!data.problemOnly) {
out.push(`<${utils_1.markuplint}> ${cli_color_1.default.underline(data.filePath)}: ${cli_color_1.default.green('✓')}`);
}
return out;
}
exports.simpleReporter = simpleReporter;