UNPKG

jscpd

Version:

Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C, Puppet, Twig languages

29 lines 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var fs_1 = require("fs"); var fs_extra_1 = require("fs-extra"); var utils_1 = require("../utils"); var options_1 = require("../utils/options"); var XmlReporter = /** @class */ (function () { function XmlReporter(options) { this.options = options; } XmlReporter.prototype.attach = function () { }; XmlReporter.prototype.report = function (clones) { var _this = this; var xmlDoc = '<?xml version="1.0" encoding="UTF-8" ?>'; xmlDoc = this.options.xslHref ? xmlDoc + '<?xml-stylesheet type="text/xsl" href="' + this.options.xslHref + '"?>' : xmlDoc; xmlDoc += '<pmd-cpd>'; clones.forEach(function (clone) { xmlDoc = xmlDoc + "\n <duplication lines=\"" + (clone.duplicationA.end.line - clone.duplicationA.start.line) + "\">\n <file path=\"" + utils_1.getPath(_this.options, clone.duplicationA.sourceId) + "\" line=\"" + clone.duplicationA.start.line + "\">\n <codefragment><![CDATA[" + clone.duplicationA.fragment + "]]></codefragment>\n </file>\n <file path=\"" + utils_1.getPath(_this.options, clone.duplicationB.sourceId) + "\" line=\"" + clone.duplicationB.start.line + "\">\n <codefragment><![CDATA[" + clone.duplicationB.fragment + "]]></codefragment>\n </file>\n <codefragment><![CDATA[" + clone.duplicationA.fragment + "]]></codefragment>\n </duplication>\n "; }); xmlDoc += '</pmd-cpd>'; fs_extra_1.ensureDirSync(options_1.getOption('output', this.options)); fs_1.writeFileSync(options_1.getOption('output', this.options) + '/jscpd-report.xml', xmlDoc); }; return XmlReporter; }()); exports.XmlReporter = XmlReporter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG9ydGVycy94bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBbUM7QUFDbkMscUNBQXlDO0FBR3pDLGtDQUFtQztBQUNuQyw0Q0FBNkM7QUFFN0M7SUFDRSxxQkFBb0IsT0FBaUI7UUFBakIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtJQUFHLENBQUM7SUFFbEMsNEJBQU0sR0FBYixjQUF1QixDQUFDO0lBRWpCLDRCQUFNLEdBQWIsVUFBYyxNQUFnQjtRQUE5QixpQkF5QkM7UUF4QkMsSUFBSSxNQUFNLEdBQVcseUNBQXlDLENBQUM7UUFFL0QsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUMzQixDQUFDLENBQUMsTUFBTSxHQUFHLHlDQUF5QyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUs7WUFDbkYsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNYLE1BQU0sSUFBSSxXQUFXLENBQUM7UUFFdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQWE7WUFDM0IsTUFBTSxHQUFNLE1BQU0sc0NBQ0ksS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksdUNBQzdELGVBQU8sQ0FBQyxLQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGtCQUFXLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksa0RBQzdFLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSwwRUFFeEMsZUFBTyxDQUFDLEtBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsa0JBQVcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxrREFDN0UsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLG9GQUU3QixLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsdURBRXpELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxZQUFZLENBQUM7UUFFdkIsd0JBQWEsQ0FBQyxtQkFBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRCxrQkFBYSxDQUFDLG1CQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBL0JELElBK0JDO0FBL0JZLGtDQUFXIn0=