UNPKG

@shopify/cli

Version:

A CLI tool to build for the Shopify platform

63 lines (60 loc) 2.1 kB
import { TokenizedString, outputContent, outputToken, renderConcurrent, renderSingleTask, renderTasks } from "./chunk-HJSZAWSQ.js"; import { init_cjs_shims } from "./chunk-PKR7KJ6P.js"; // src/cli/services/kitchen-sink/async.ts init_cjs_shims(); async function asyncTasks() { let backendPromiseResolve, backendPromise = new Promise(function(resolve, _reject) { backendPromiseResolve = resolve; }); await renderConcurrent({ processes: [{ prefix: "backend", action: async (stdout, _stderr, _signal) => { stdout.write("first backend message"), await new Promise((resolve) => setTimeout(resolve, 1e3)), stdout.write("second backend message"), await new Promise((resolve) => setTimeout(resolve, 1e3)), stdout.write("third backend message"), await new Promise((resolve) => setTimeout(resolve, 1e3)), backendPromiseResolve(); } }, { prefix: "frontend", action: async (stdout, _stderr, _signal) => { await backendPromise, stdout.write("first frontend message"), await new Promise((resolve) => setTimeout(resolve, 1e3)), stdout.write("second frontend message"), await new Promise((resolve) => setTimeout(resolve, 1e3)), stdout.write("third frontend message"); } }] }), await renderTasks([ { title: "Installing dependencies", task: async () => { await new Promise((resolve) => setTimeout(resolve, 2e3)); } }, { title: "Downloading assets", task: async () => { await new Promise((resolve) => setTimeout(resolve, 2e3)); } } ]), await renderSingleTask({ title: new TokenizedString("Importing data"), task: async (updateStatus) => { for (let i = 1; i <= 10; i++) { await new Promise((resolve) => setTimeout(resolve, 500)); let status = outputContent`Importing data ${outputToken.italic( outputContent`(${outputToken.green(i.toString())} complete)` )}`; updateStatus(status); } return "completed"; } }); } export { asyncTasks }; //# sourceMappingURL=chunk-G7LVOLJB.js.map