fix: use event-driven renderer for build progress

This commit is contained in:
2026-10-04 21:23:33 +00:00 Unverified
parent aeac740f29
commit 6dd9cbc629
2 changed files with 59 additions and 3 deletions
+9 -3
View File
@@ -738,7 +738,7 @@ export async function runUp(
};
const workspacePath = `/workspaces/${encodeURIComponent(project)}`;
const taskCtx = await new Listr<UpContext>(
const taskCtx = await new Listr<UpContext, "default" | "simple">(
[
{
title: "Read compose",
@@ -796,7 +796,7 @@ export async function runUp(
cwd,
{
progress: (message) => {
task.output = message;
if (task.output !== message) task.output = message;
},
service: (name) => {
let stream: ReturnType<ListrTaskWrapper<UpContext, any, any>["stdout"]> | undefined;
@@ -1071,7 +1071,13 @@ export async function runUp(
},
},
],
{ rendererOptions: { collapseErrors: false } },
{
// Build progress can remain queued across many polls. The default TTY
// spinner redraws every child on every tick, which duplicates those
// frames in captured terminal output. Simple emits only task events.
renderer: build ? "simple" : "default",
rendererOptions: { collapseErrors: false },
},
).run();
return taskCtx;