我真的很喜欢使用这个实用程序(https://github.com/kentcdodds/nps/)来管理我的脚本,有时我喜欢在一系列中运行它们中的许多。不幸的是,它可能会意外触发释放,我希望通过确认提示来防止这种事故。
我认为评价良好的inquirer.js将是一个解决方案,但是nps希望所有内容都能解析为字符串。我很感激任何人可能有任何建议来克服这个问题!
我尝试过这样的小确认功能,但它并没有像我想的那样工作。
const boolConfirm = async (message = 'Are you sure?', action="echo -e 'An Action'") => {
const questions = [
{
type: 'confirm',
name: 'confirmAction',
message,
default: false
},
]
const answers = await inquirer.prompt(questions)
if(answers.confirmAction) {
return action
}
return 'echo "Exiting w/o doing anything!" && exit 1'
}
const scripts = {
confirm: boolConfirm('Really?', 'nps build start.build'),
}
当我尝试运行它时,我得到了这个"脚本必须解析为字符串......"错误,我的回音或动作都没有运行(当我做y时)。
$ nps confirm
? Really? (y/N) Scripts must resolve to strings. There is no script that can be resolved from "confirm" https://github.com/kentcdodds/nps/blob/v5.7.1/other/ERRORS_AND_WARNINGS.md#missing-script
? Really? No