answer
uses @clack/prompts's exports, which uses node:fs
The answer, or out if they cancelled (Ctrl-C, Esc).
import { UsageError } from "#codebase/tcmts/cli/ui"; import * as p from "@clack/prompts"; export function answer<T>(value: T | symbol): T { if (p.isCancel(value)) { p.cancel("cancelled"); throw new UsageError("cancelled"); } return value as T; }