import { stdin as input, stdout as output } from "node:process"; import readline from "node:readline/promises"; import { isVerbose, isYes } from "../globals.js"; export async function promptYesNo(question: string, defaultYes = false): Promise { // Simple Y/N prompt honoring global --yes and verbosity flags. if (isVerbose() && isYes()) { return true; } // redundant guard when both flags set if (isYes()) { return true; } const rl = readline.createInterface({ input, output }); const suffix = defaultYes ? " [Y/n] " : " [y/N] "; const answer = (await rl.question(`${question}${suffix}`)).trim().toLowerCase(); rl.close(); if (!answer) { return defaultYes; } return answer.startsWith("y"); }