blob: 3c1fcebe6d5d57d11222ccc12e6531061e337868 [file]
'use strict';
const chalk = require('chalk');
const path = require('path');
/**
* @param {string} fromValue
* @return {string}
*/
function logFrom(fromValue) {
if (fromValue.startsWith('<')) return fromValue;
return path.relative(process.cwd(), fromValue).split(path.sep).join('/');
}
/**
* @param {import('stylelint').StylelintDisableOptionsReport} report
* @param {string} message
* @returns {string}
*/
module.exports = function (report, message) {
if (!report) return '';
let output = '';
report.forEach((sourceReport) => {
if (!sourceReport.ranges || sourceReport.ranges.length === 0) {
return;
}
output += '\n';
// eslint-disable-next-line prefer-template
output += chalk.underline(logFrom(sourceReport.source || '')) + '\n';
sourceReport.ranges.forEach((range) => {
output += `${message}: ${range.rule}, start line: ${range.start}`;
if (range.end !== undefined) {
output += `, end line: ${range.end}`;
}
output += '\n';
});
});
return output;
};