runDepsDependentsDocs
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 deps, tcm dependents and tcm docs.
import { routeDependents, routeDeps, routeDocs } from "#codebase/tcmts/cli/commands"; import { renderDoc } from "#codebase/tcmts/cli/docs"; import { dependents, deps, execute } from "#codebase/tcmts/cli/main"; import type { Context } from "#codebase/tcmts/cli/run"; import { dim } from "#codebase/tcmts/cli/style"; import { chooseName } from "#codebase/tcmts/cli/ui"; import { parse } from "@bomb.sh/router"; export async function runDepsDependentsDocs({ cb, rest, ...cx }: Context): Promise<number> { const cmd = cx.cmd as "deps" | "dependents" | "docs"; const { model } = execute( cmd, parse({ deps: routeDeps, dependents: routeDependents, docs: routeDocs }[cmd](), { argv: rest }), ); const name = model.name ?? (await chooseName( cb, `${cmd} <name>`, cmd === "docs" ? "Documentation for?" : cmd === "deps" ? "What uses what?" : "Who uses what?", )); if (cmd === "deps") deps(cb, name); else if (cmd === "dependents") dependents(cb, name); else console.log( renderDoc(cb, cb.store.getDef(cb.lookupOne(name))!, { evaluate: true })?.markdown ?? dim("no documentation"), ); return 0; }
uses
- tcmts.cli.commands.routeDependents
- tcmts.cli.commands.routeDeps
- tcmts.cli.commands.routeDocs
- tcmts.cli.docs.renderDoc
- tcmts.cli.main.dependents
- tcmts.cli.main.deps
- tcmts.cli.main.execute
- tcmts.cli.run.Context
- tcmts.cli.style.dim
- tcmts.cli.ui.chooseName