🩹 back cli: minor fixes for output flush

This commit is contained in:
Eric Doughty-Papassideris
2025-03-04 17:48:46 +01:00
committed by Anton Shepilov
parent 5e94c91c01
commit 99d78ad5ac
2 changed files with 5 additions and 2 deletions
@@ -8,6 +8,10 @@ import type { TdrivePlatform } from "../../core/platform/platform";
//TODO: When this gets used for all commands; update verboseDuringRun from search/index-all and move to root index //TODO: When this gets used for all commands; update verboseDuringRun from search/index-all and move to root index
// And consider moving print-config-summary call here. // And consider moving print-config-summary call here.
const waitForFlush = (stream: NodeJS.WriteStream) =>
new Promise<void>((resolve, reject) =>
stream.write("\r\n", err => (err ? reject(err) : resolve())),
);
/** /**
* Start the platform and its services, run the command (passed as * Start the platform and its services, run the command (passed as
* the `handler` callback), then cleanly shut down the platform. * the `handler` callback), then cleanly shut down the platform.
@@ -36,7 +40,7 @@ export default async function runWithPlatform(
process.exitCode = 1; process.exitCode = 1;
} }
// Spinner seems to interrupt still buffered output otherwise // Spinner seems to interrupt still buffered output otherwise
await new Promise(resolve => setTimeout(resolve, 200)); await Promise.all([waitForFlush(process.stdout), waitForFlush(process.stderr)]);
spinner.start("Platform: shutting down..."); spinner.start("Platform: shutting down...");
await platform.stop(); await platform.stop();
spinner.succeed("Platform: shutdown"); spinner.succeed("Platform: shutdown");
@@ -45,7 +45,6 @@ async function runInBatches<T, R>(
let batch; let batch;
const result = [] as R[]; const result = [] as R[];
while ((batch = listCopy.splice(0, batchSize)).length) { while ((batch = listCopy.splice(0, batchSize)).length) {
console.error("batch", batch);
result.push(await map(batch)); result.push(await map(batch));
} }
return result; return result;