UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS, CSS and JSON.

69 lines (51 loc) 1.59 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _forEach2 = require('lodash/forEach'); var _forEach3 = _interopRequireDefault(_forEach2); var _xmlbuilder = require('xmlbuilder'); var _xmlbuilder2 = _interopRequireDefault(_xmlbuilder); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @param {lintText~message} message * @returns {string} */ var getMessageType = function getMessageType(message) { if (message.severity === 2) { return 'error'; } else { return 'warning'; } }; /** * @see https://github.com/mila-labs/jshint-checkstyle-file-reporter */ exports.default = function (report) { var xml = void 0; xml = _xmlbuilder2.default.create('checkstyle'); xml.att('version', '4.3'); (0, _forEach3.default)(report.results, function (fileReport) { if (!fileReport.messages.length) { return; } var fileNode = xml.ele('file', { name: fileReport.filePath }); (0, _forEach3.default)(fileReport.messages, function (message) { fileNode.ele('error', { column: message.column, line: message.line, message: '[' + message.ruleId + '] ' + message.message, severity: getMessageType(message), source: '' }); }); }); xml = xml.end({ pretty: true }); return xml; }; module.exports = exports['default']; //# sourceMappingURL=checkstyleFormatter.js.map