UNPKG

everything-dev

Version:

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

39 lines (37 loc) • 1.86 kB
import { colors, frames, gradients, icons } from "../../utils/theme.mjs"; //#region src/cli/render/processes.ts function renderPs(result) { console.log(); if (result.status === "error") { console.error(`[CLI] ${result.error || "Unknown error"}`); process.exit(1); } const entries = result.entries ?? []; if (entries.length === 0) { console.log(colors.dim(" No tracked development processes running.")); console.log(); console.log(colors.dim(` Start one with ${colors.cyan("bos dev")} and it will appear here.`)); console.log(); return; } console.log(colors.cyan(frames.top(60))); console.log(` ${icons.app} ${gradients.cyber("PROCESSES")}`); console.log(colors.cyan(frames.bottom(60))); console.log(); for (const entry of entries) { const ageMs = Date.now() - entry.startedAt; const ageStr = ageMs < 6e4 ? `${Math.floor(ageMs / 1e3)}s` : ageMs < 36e5 ? `${Math.floor(ageMs / 6e4)}m` : `${Math.floor(ageMs / 36e5)}h`; const roleTag = entry.role === "workspace-parent" ? colors.magenta("parent") : entry.role === "workspace-child" ? colors.blue("child") : colors.dim("dev"); console.log(` ${colors.green(`pid ${entry.pid}`)} ${roleTag} ${colors.dim(ageStr)}`); console.log(` ${colors.dim("dir:")} ${entry.configDir}`); if (entry.parentPid !== void 0) console.log(` ${colors.dim("parent:")} ${entry.parentPid}`); const portPairs = Object.entries(entry.ports ?? {}).filter(([, p]) => typeof p === "number").map(([k, v]) => `${k}=${v}`); if (portPairs.length > 0) console.log(` ${colors.dim("ports:")} ${portPairs.join(" ")}`); if (entry.budget) console.log(` ${colors.dim("budget:")} [${entry.budget.min}, ${entry.budget.max}]`); console.log(` ${colors.dim("desc:")} ${entry.description}`); console.log(); } } //#endregion export { renderPs }; //# sourceMappingURL=processes.mjs.map