UNPKG

canonical

Version:

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

75 lines (55 loc) 1.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _forEach = require('lodash/collection/forEach'); var _forEach2 = _interopRequireDefault(_forEach); var _xmlbuilder = require('xmlbuilder'); var _xmlbuilder2 = _interopRequireDefault(_xmlbuilder); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var getMessageType = undefined; /** * @param {lintText~message} message * @returns {string} */ getMessageType = function (message) { if (message.severity === 2) { return 'error'; } else { return 'warning'; } }; /** * @see https://github.com/mila-labs/jshint-checkstyle-file-reporter * @param {lintFiles~report} report * @returns {string} */ exports.default = function (report) { var xml = undefined; xml = _xmlbuilder2.default.create('checkstyle'); xml.att('version', '4.3'); (0, _forEach2.default)(report.results, function (fileReport) { var fileNode = undefined; if (!fileReport.messages.length) { return; } fileNode = xml.ele('file', { name: fileReport.filePath }); (0, _forEach2.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=checkstyle.js.map