runApps
uses tcmts.cli.main.execute, which uses tcmts.cli.help.usageError, which uses tcmts.cli.help.usageOf, which uses tcmts.cli.style.bold, which uses node:util
Runs tcm apps.
import { routeApps } from "#codebase/tcmts/cli/commands"; import { execute } from "#codebase/tcmts/cli/main"; import type { Context } from "#codebase/tcmts/cli/run"; import { dim, green } from "#codebase/tcmts/cli/style"; import { currentBuild, listBuilds, pruneBuilds } from "#codebase/tcmts/cli/web"; import { shortHash } from "#codebase/tcmts/core/hash"; import { parse } from "@bomb.sh/router"; export function runApps({ cb, cmd, rest }: Context): number { const r = execute(cmd, parse(routeApps(), { argv: rest })); if (r.route === "/prune") { pruneBuilds(cb, r.model.keep); return 0; } const builds = listBuilds(cb); if (!builds.length) return (console.log(dim("no builds yet (`tcm build <app>`)")), 0); for (const b of builds) { let current = false; try { current = currentBuild(cb, b.app) === b.hash; } catch {} console.log( `${current ? green("* ") : " "}${b.app.padEnd(16)} ${dim(shortHash(b.hash))} ${b.builtAt.replace("T", " ").slice(0, 19)} ${dim(`${b.endpoints.length} endpoint(s)`)}`, ); } return 0; }
uses
- tcmts.cli.commands.routeApps
- tcmts.cli.main.execute
- tcmts.cli.run.Context
- tcmts.cli.style.dim
- tcmts.cli.style.green
- tcmts.cli.web.currentBuild
- tcmts.cli.web.listBuilds
- tcmts.cli.web.pruneBuilds
- tcmts.core.hash.shortHash