UNPKG

@intlayer/config

Version:

Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.

79 lines (77 loc) 2.81 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_colors = require('../colors.cjs'); const require_utils_extractErrorMessage = require('../utils/extractErrorMessage.cjs'); const require_logger = require('../logger.cjs'); //#region src/bundle/logBundle.ts var BundleLogger = class { status = "pending"; spinnerTimer = null; spinnerIndex = 0; renderedLines = 0; isFinished = false; prefix; lastRenderedState = ""; error; constructor(configuration) { this.prefix = require_logger.getPrefix(configuration?.log?.prefix) ?? ""; } setStatus(status) { if (this.isFinished) return; this.status = status; if (status === "success") this.finish(); else { this.startSpinner(); this.render(); } } setError(error) { if (this.isFinished) return; this.status = "error"; this.error = require_utils_extractErrorMessage.extractErrorMessage(error); this.finish(); } startSpinner() { if (this.spinnerTimer || this.isFinished) return; this.spinnerTimer = setInterval(() => { this.spinnerIndex = (this.spinnerIndex + 1) % require_logger.spinnerFrames.length; this.render(); }, 100); } stopSpinner() { if (!this.spinnerTimer) return; clearInterval(this.spinnerTimer); this.spinnerTimer = null; } finish() { this.isFinished = true; this.stopSpinner(); this.render(); } render() { const frame = require_logger.spinnerFrames[this.spinnerIndex]; const clock = require_logger.colorize(frame, require_colors.BLUE); const lines = []; if (this.status === "installing") lines.push(`${this.prefix} ${clock} Fetching and resolving packages...`); else if (this.status === "bundling") { lines.push(`${this.prefix} ${require_logger.v} Fetching and resolving packages...`); lines.push(`${this.prefix} ${clock} Bundling application...`); } else if (this.status === "success") { lines.push(`${this.prefix} ${require_logger.v} Fetching and resolving packages...`); lines.push(`${this.prefix} ${require_logger.v} Bundling application...`); } else if (this.status === "error") lines.push(`${this.prefix} ${require_logger.x} Bundle failed: ${require_logger.colorize(this.error ?? "Unknown error", require_colors.RED)}`); const currentState = lines.join("\n"); if (currentState === this.lastRenderedState) return; this.lastRenderedState = currentState; if (this.renderedLines > 0) process.stdout.write(`\x1b[${this.renderedLines}F`); const totalLinesToClear = Math.max(this.renderedLines, lines.length); for (let i = 0; i < totalLinesToClear; i++) { process.stdout.write("\x1B[2K"); if (lines[i] !== void 0) process.stdout.write(lines[i]); process.stdout.write("\n"); } this.renderedLines = lines.length; } }; //#endregion exports.BundleLogger = BundleLogger; //# sourceMappingURL=logBundle.cjs.map