From 7e999512ed982a9c697fc2aa957718b3960143dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 20 Nov 2018 17:32:10 +0100 Subject: [PATCH] refactor: use inquirer to implement CLI.prompt --- lib/cli.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/lib/cli.js b/lib/cli.js index a308f257..d4650a84 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -4,9 +4,11 @@ const ora = require('ora'); const { EOL } = require('os'); const chalk = require('chalk'); const read = require('read'); -const { IGNORE } = require('./run'); +const inquirer = require('inquirer'); +const { IGNORE } = require('./run'); const { warning, error, info, success } = require('./figures'); + const FIGURE_INDENT = ' '; const EOL_INDENT = `${EOL}${FIGURE_INDENT}`; @@ -47,19 +49,14 @@ class CLI { } async prompt(question, defaultAnswer = true) { - const option = - `[${(defaultAnswer ? 'Y' : 'y')}/${(defaultAnswer ? 'n' : 'N')}]`; this.separator(); - const promptText = `${chalk.bold.cyan('?')} ${question} ${option} `; - - const answer = await this.promptForInput(promptText); - const trimmed = answer.toLowerCase().trim(); - if (!trimmed) { - return defaultAnswer; - } else if (trimmed === 'y') { - return true; - } - return false; + const { answer } = await inquirer.prompt([{ + type: 'confirm', + name: 'answer', + message: question, + default: defaultAnswer + }]); + return answer; } startSpinner(text) {