epiphany/node_modules/stylelint/lib/formatters/tapFormatter.js
2023-12-09 22:48:07 -08:00

52 lines
1.1 KiB
JavaScript

'use strict';
const preprocessWarnings = require('./preprocessWarnings');
/**
* @type {import('stylelint').Formatter}
*/
module.exports = function tapFormatter(results) {
const lines = [`TAP version 13\n1..${results.length}`];
for (const [index, result] of results.entries()) {
preprocessWarnings(result);
lines.push(
`${result.errored ? 'not ok' : 'ok'} ${index + 1} - ${result.ignored ? 'ignored ' : ''}${
result.source
}`,
);
if (result.warnings.length > 0) {
lines.push('---', 'messages:');
for (const warning of result.warnings) {
lines.push(
` - message: "${warning.text}"`,
` severity: ${warning.severity}`,
` data:`,
` line: ${warning.line}`,
` column: ${warning.column}`,
);
if (typeof warning.endLine === 'number') {
lines.push(` endLine: ${warning.endLine}`);
}
if (typeof warning.endColumn === 'number') {
lines.push(` endColumn: ${warning.endColumn}`);
}
if (typeof warning.rule === 'string') {
lines.push(` ruleId: ${warning.rule}`);
}
}
lines.push('---');
}
}
lines.push('');
return lines.join('\n');
};