UNPKG

@yeepay/yeepay-cli

Version:

易宝前端脚手架

45 lines (43 loc) 1.4 kB
import inquirer from 'inquirer'; import Log from './utils/log.js' import {createProject, updateCli} from '../config/inquire.config.js' export default class InitView { currentStep = 0; answers = []; constructor() { } async askQuestion() { try { const keys = Object.keys(createProject) for (let i = 0; i < keys.length; i++) { const value = await inquirer.prompt([ createProject[keys[i]]]) this.answers.push(value) if ((value.projectType || value.galaxyType) && (value.projectType === "Back..." || value.galaxyType === "Back...")) { if (i > 0) { i -= 2; // 回退到上一个问题 this.answers.splice(-2) } else { console.log("No previous question to go back to."); i -= 1; // 如果是第一个问题,重新询问 } } if (value.projectType && value.projectType !== 'galaxy' && value.projectType !== 'Back...') { i++ } } return this.answers; } catch (error) { if (error.isTtyError) { Log.red('当前环境不支持 TTY,请直接从命令行输入参数'); } else { Log.red('您已取消,再见 ' + error.message); // Something else wnt wrong } process.exit(1); } } async updateCli() { const answers = await inquirer.prompt(updateCli) return answers.update } }