jscpd
Version:
Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C, Puppet, Twig languages
72 lines • 5.39 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
}
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var bytes = require("bytes");
var cli_table3_1 = __importDefault(require("cli-table3"));
var safe_1 = require("colors/safe");
var events_1 = require("../events");
var console_1 = require("./console");
var ConsoleFullReporter = /** @class */ (function (_super) {
__extends(ConsoleFullReporter, _super);
function ConsoleFullReporter(options) {
return _super.call(this, options) || this;
}
ConsoleFullReporter.prototype.attach = function (eventEmitter) {
eventEmitter.on(events_1.CLONE_FOUND_EVENT, this.cloneFullFound.bind(this));
eventEmitter.on(events_1.SOURCE_SKIPPED_EVENT, this.skipSource.bind(this));
};
ConsoleFullReporter.prototype.skipSource = function (source) {
console.log(safe_1.grey("Skipped " + source.path + " (Size: " + bytes(source.size) + (source.lines ? ', Lines: ' + source.lines : '') + ")"));
};
ConsoleFullReporter.prototype.cloneFullFound = function (clone) {
if (this.options.reporters && this.options.reporters.includes('consoleFull')) {
var table_1 = new cli_table3_1.default({
chars: {
top: '',
'top-mid': '',
'top-left': '',
'top-right': '',
bottom: '',
'bottom-mid': '',
'bottom-left': '',
'bottom-right': '',
left: '',
'left-mid': '',
mid: '',
'mid-mid': '',
right: '',
'right-mid': '',
middle: '│'
}
});
this.cloneFound(clone);
clone.duplicationA.fragment.split('\n').forEach(function (line, position) {
table_1.push([
clone.duplicationA.start.line + position,
clone.duplicationB.start.line + position,
safe_1.grey(line)
]);
});
console.log(table_1.toString());
console.log('');
}
};
return ConsoleFullReporter;
}(console_1.ConsoleReporter));
exports.ConsoleFullReporter = ConsoleFullReporter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1mdWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG9ydGVycy9jb25zb2xlLWZ1bGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkJBQWdDO0FBQ2hDLDBEQUErQjtBQUMvQixvQ0FBbUM7QUFFbkMsb0NBQXVGO0FBRXZGLHFDQUE0QztBQUU1QztJQUF5Qyx1Q0FBZTtJQUN0RCw2QkFBWSxPQUFpQjtlQUMzQixrQkFBTSxPQUFPLENBQUM7SUFDaEIsQ0FBQztJQUVNLG9DQUFNLEdBQWIsVUFBYyxZQUErQjtRQUMzQyxZQUFZLENBQUMsRUFBRSxDQUFDLDBCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkUsWUFBWSxDQUFDLEVBQUUsQ0FBQyw2QkFBb0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFUyx3Q0FBVSxHQUFwQixVQUFxQixNQUFXO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQ1QsV0FBSSxDQUFDLGFBQVcsTUFBTSxDQUFDLElBQUksZ0JBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFHLENBQUMsQ0FDOUcsQ0FBQztJQUNKLENBQUM7SUFFTyw0Q0FBYyxHQUF0QixVQUF1QixLQUFhO1FBQ2xDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzVFLElBQU0sT0FBSyxHQUFHLElBQUksb0JBQUssQ0FBQztnQkFDdEIsS0FBSyxFQUFFO29CQUNMLEdBQUcsRUFBRSxFQUFFO29CQUNQLFNBQVMsRUFBRSxFQUFFO29CQUNiLFVBQVUsRUFBRSxFQUFFO29CQUNkLFdBQVcsRUFBRSxFQUFFO29CQUNmLE1BQU0sRUFBRSxFQUFFO29CQUNWLFlBQVksRUFBRSxFQUFFO29CQUNoQixhQUFhLEVBQUUsRUFBRTtvQkFDakIsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLElBQUksRUFBRSxFQUFFO29CQUNSLFVBQVUsRUFBRSxFQUFFO29CQUNkLEdBQUcsRUFBRSxFQUFFO29CQUNQLFNBQVMsRUFBRSxFQUFFO29CQUNiLEtBQUssRUFBRSxFQUFFO29CQUNULFdBQVcsRUFBRSxFQUFFO29CQUNmLE1BQU0sRUFBRSxHQUFHO2lCQUNaO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV2QixLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBWSxFQUFFLFFBQWdCO2dCQUM1RSxPQUFhLENBQUMsSUFBSSxDQUFDO29CQUNsQixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUTtvQkFDeEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFFBQVE7b0JBQ3hDLFdBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBQ0gsMEJBQUM7QUFBRCxDQUFDLEFBcERELENBQXlDLHlCQUFlLEdBb0R2RDtBQXBEWSxrREFBbUIifQ==
;