diff --git a/src/cli/install.ts b/src/cli/install.ts index f25f136a..a3f434f0 100644 --- a/src/cli/install.ts +++ b/src/cli/install.ts @@ -4,6 +4,25 @@ import { } from "@johnlindquist/kit-internal/date-fns" import { KIT_FIRST_PATH } from "../core/utils.js" +let workflowLog = + (color: "green" | "yellow" | "red" | "blue" | "magenta" | "cyan" | "white") => + (...messages: any[]) => { + if (process.env.KIT_CONTEXT === "workflow") { + // if any of the message items are not a string, convert them to a string + for (let message of messages) { + if (typeof message !== "string") { + message = JSON.stringify(message) + } + global.echo(global.chalk`{${color} ${message}}`) + } + } + } + + +let wlog = workflowLog("green") +let wwarn = workflowLog("yellow") +let werror = workflowLog("red") + let install = async (packageNames) => { let cwd = kenvPath() @@ -28,8 +47,8 @@ let install = async (packageNames) => { let packages = packageNames.join(" ") let command = `${toolPath} ${toolArgs} -D ${packages}`.trim() - global.log(`Running: ${command}`) - global.log(`In: ${cwd}`) + wlog(`Running: ${command}`) + wlog(`In: ${cwd}`) return await term({ name: "pnpm install", @@ -84,6 +103,13 @@ let packages = await arg( let installNames = [...packages.split(" ")] if (process?.send) global.setChoices([]) + + +wlog(`Installing:`, { + installNames, + args, + argOpts +}) await install([...installNames, ...args, ...argOpts]) export { packages }