UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

39 lines (37 loc) • 1.85 kB
import { colors } from "../../utils/theme.mjs"; import { formatDuration, sumPhaseDurations } from "../../utils/timing.mjs"; //#region src/cli/render/dev.ts /** The `bos start` boot summary. */ function printStartSummary(summary) { console.log(); console.log(` ${colors.dim("Config Source:")} ${summary.configSource}`); if (summary.configSourceHttp) console.log(` ${colors.dim(summary.configSourceHttp)}`); console.log(` ${colors.dim("Account:")} ${summary.account}`); console.log(` ${colors.dim("Domain:")} ${summary.domain ?? "not configured"}`); console.log(); console.log(` ${colors.dim("Modules:")}`); console.log(` ${colors.dim("HOST")} → ${summary.modules.host ?? "local"}`); console.log(` ${colors.dim("UI")} → ${summary.modules.ui ?? "local"}`); console.log(` ${colors.dim("API")} → ${summary.modules.api ?? "local"}`); if (summary.modules.auth) console.log(` ${colors.dim("AUTH")} → ${summary.modules.auth}`); if (summary.warnings.length > 0) { console.log(); for (const w of summary.warnings) console.log(` ${colors.yellow(w)}`); } console.log(); } /** Phase timings below a long-running summary. */ function printTimingSummary(timings) { if (!timings || timings.length === 0) return; console.log(` ${colors.dim("Timings:")}`); for (const timing of timings) console.log(` ${colors.dim(timing.name.padEnd(22))} ${formatDuration(timing.durationMs)}`); console.log(` ${colors.dim("total".padEnd(22))} ${formatDuration(sumPhaseDurations(timings))}`); } /** Erase the clack spinner line so streamed output starts clean. */ function clearSpinnerStopLine() { if (!process.stdout.isTTY) return; process.stdout.write("\x1B[1A\x1B[2K\r"); } //#endregion export { clearSpinnerStopLine, printStartSummary, printTimingSummary }; //# sourceMappingURL=dev.mjs.map