UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

126 lines 10 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LogReporter = exports.SINGLE_LINE_CHAR = exports.CarotColor = void 0; const colorize_node_1 = require("colorize-node"); const stream_1 = require("stream"); const format_utils_1 = require("./format-utils"); const log_reporter_platform_1 = require("./log-reporter-platform"); var CarotColor; (function (CarotColor) { CarotColor[CarotColor["White"] = 0] = "White"; CarotColor[CarotColor["Green"] = 1] = "Green"; CarotColor[CarotColor["Blue"] = 2] = "Blue"; CarotColor[CarotColor["Yellow"] = 3] = "Yellow"; CarotColor[CarotColor["Red"] = 4] = "Red"; })(CarotColor || (exports.CarotColor = CarotColor = {})); exports.SINGLE_LINE_CHAR = '·'; class LogReporter { options; stdout; level = 0; indent = 0; constructor(options) { this.options = options; this.stdout = this.options?.stdout ?? process.stdout; if (options?.level) { this.level = options.level; this.indent = options.level; } } runSectionSync(title, runner) { const section = this.beginSection(title); runner(this); this.endSection(section); } async runSection(title, runner) { let buffer = ''; const logger = new LogReporter({ level: this.level + 1, stdout: new stream_1.Writable({ write: (chunk, _encoding, next) => { buffer = buffer + chunk.toString(); next(); }, }), }); await runner(logger); const section = this.beginSection(title); this.stdout.write(buffer); this.endSection(section); } beginSection(title) { this.level += 1; this.reportInfo(`┌ ${title}`); this.indent += 1; if (log_reporter_platform_1.PLATFORM?.start && this.level <= 1) { this.stdout.write(log_reporter_platform_1.PLATFORM.start(title)); } return { start: Date.now(), title, }; } endSection({ title, start }) { const duration = start ? Date.now() - start : 0; if (log_reporter_platform_1.PLATFORM?.end) { this.stdout.write(log_reporter_platform_1.PLATFORM.end(title)); } this.indent -= 1; if (duration > 200) this.reportInfo(`└ Completed in ${(0, format_utils_1.formatDuration)(duration)}`); else this.reportInfo('└ Completed'); this.level -= 1; } reportHeader(message) { this.writeLine(`${this.formatPrefix(CarotColor.White)}${colorize_node_1.colorize.bold(colorize_node_1.colorize.whiteBright(message))}`); } reportDryrun(message) { this.writeLine(`${this.formatPrefix(CarotColor.Green)}${colorize_node_1.colorize.green('[DRY-RUN] ')}${message}`); } reportInfo(message) { this.writeLine(`${this.formatPrefix(CarotColor.Blue)}${message}`); } reportWarning(message, important = false) { this.writeLine(`${this.formatPrefix(CarotColor.Yellow)}${message}`); if (important) { log_reporter_platform_1.PLATFORM?.warning?.(message); } } reportError(message, important = false) { this.writeLine(`${this.formatPrefix(CarotColor.Red)}[ERROR] ${message}`); if (important) { log_reporter_platform_1.PLATFORM?.error?.(message); } } formatPrefix(caretColor) { let caret = '➤'; switch (caretColor) { case CarotColor.White: caret = colorize_node_1.colorize.whiteBright(caret); break; case CarotColor.Blue: caret = colorize_node_1.colorize.blueBright(caret); break; case CarotColor.Green: caret = colorize_node_1.colorize.greenBright(caret); break; case CarotColor.Red: caret = colorize_node_1.colorize.redBright(caret); break; case CarotColor.Yellow: caret = colorize_node_1.colorize.yellowBright(caret); break; } return `${caret} ${this.formatIndent()}`; } formatIndent() { return this.level > 0 ? '│ '.repeat(this.indent) : `${exports.SINGLE_LINE_CHAR} `; } writeLine(message) { this.stdout.write(`${message}\n`); } } exports.LogReporter = LogReporter; // export const logger = new LogReporter(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXJlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbG9nLXJlcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUF5QztBQUN6QyxtQ0FBa0M7QUFFbEMsaURBQWdEO0FBQ2hELG1FQUFtRDtBQUtuRCxJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIsNkNBQUssQ0FBQTtJQUNMLDZDQUFLLENBQUE7SUFDTCwyQ0FBSSxDQUFBO0lBQ0osK0NBQU0sQ0FBQTtJQUNOLHlDQUFHLENBQUE7QUFDTCxDQUFDLEVBTlcsVUFBVSwwQkFBVixVQUFVLFFBTXJCO0FBT1ksUUFBQSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFXcEMsTUFBYSxXQUFXO0lBSUY7SUFIcEIsTUFBTSxDQUFXO0lBQ2pCLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsWUFBb0IsT0FBNEI7UUFBNUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDOUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRXJELElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYSxFQUFFLE1BQXlCO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVB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