UNPKG

everything-dev

Version:

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

39 lines (37 loc) • 2.11 kB
const require_theme = require('../../utils/theme.cjs'); //#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(require_theme.colors.dim(" No tracked development processes running.")); console.log(); console.log(require_theme.colors.dim(` Start one with ${require_theme.colors.cyan("bos dev")} and it will appear here.`)); console.log(); return; } console.log(require_theme.colors.cyan(require_theme.frames.top(60))); console.log(` ${require_theme.icons.app} ${require_theme.gradients.cyber("PROCESSES")}`); console.log(require_theme.colors.cyan(require_theme.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" ? require_theme.colors.magenta("parent") : entry.role === "workspace-child" ? require_theme.colors.blue("child") : require_theme.colors.dim("dev"); console.log(` ${require_theme.colors.green(`pid ${entry.pid}`)} ${roleTag} ${require_theme.colors.dim(ageStr)}`); console.log(` ${require_theme.colors.dim("dir:")} ${entry.configDir}`); if (entry.parentPid !== void 0) console.log(` ${require_theme.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(` ${require_theme.colors.dim("ports:")} ${portPairs.join(" ")}`); if (entry.budget) console.log(` ${require_theme.colors.dim("budget:")} [${entry.budget.min}, ${entry.budget.max}]`); console.log(` ${require_theme.colors.dim("desc:")} ${entry.description}`); console.log(); } } //#endregion exports.renderPs = renderPs; //# sourceMappingURL=processes.cjs.map