@heroku-cli/command
Version:
base class for Heroku CLI commands
19 lines (18 loc) • 695 B
JavaScript
class Prompter {
/**
* Wraps inquirer's prompt module so that prompt UI (question text, mask
* characters, cursor escapes) writes to stderr by default. Routing to stdout
* — inquirer's default — corrupts piped output (e.g. `heroku run … | tee`).
*
* Tests can override `input` and/or `output` via the optional second arg.
*/
async prompt(questions, streamOpts = {}) {
const inquirer = (await import('inquirer')).default;
const promptModule = inquirer.createPromptModule({
output: process.stderr,
...streamOpts,
});
return promptModule(questions);
}
}
export const prompter = new Prompter();