eslint-formatter-jslint-xml
Version:
ESLint’s official `jslint-xml` formatter, unofficially published as a standalone module
38 lines (28 loc) • 919 B
JavaScript
/**
* @fileoverview JSLint XML reporter
* @author Ian Christian Myers
*/
const xmlEscape = require('./xml-escape');
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
module.exports = function (results) {
let output = '';
output += '<?xml version="1.0" encoding="utf-8"?>';
output += '<jslint>';
results.forEach(result => {
const messages = result.messages;
output += `<file name="${result.filePath}">`;
messages.forEach(message => {
output += [
`<issue line="${message.line}"`,
`char="${message.column}"`,
`evidence="${xmlEscape(message.source || '')}"`,
`reason="${xmlEscape(message.message || '')}${message.ruleId ? ` (${message.ruleId})` : ''}" />`,
].join(' ');
});
output += '</file>';
});
output += '</jslint>';
return output;
};