UNPKG

create-bfe-cttq

Version:

CTTQ大前端脚手架项目

61 lines (55 loc) 1.69 kB
const { red, green, bold } = require("kolorist") function isRecommendPackageName(answers) { if ("APP" == answers.type && answers.isCTTQ) { return answers.name.toLowerCase().endsWith("-webapp"); } if ("PC" == answers.type && answers.isCTTQ) { return answers.name.toLowerCase().endsWith("-webpc"); } return true; } function toRenamePackageName(answers) { if ("APP" == answers.type && answers.isCTTQ) { return `${answers.name}-WebApp`; } if ("PC" == answers.type && answers.isCTTQ) { return `${answers.name}-WebPC`; } } module.exports = function(cli) { cli.addQuestions([{ type: "confirm", name: "isCTTQ", message: () => { if (cli.answers.type == "APP") { return `是否创建企业内部应用:${green("【天书移动端】")}?`; } return `是否创建企业内部应用:${green("【天晴网页】")}?`; }, initial: true, onState: (state) => { cli.answers.isCTTQ = state.value; }, }, { name: "isRename", type: () => isRecommendPackageName(cli.answers) ? null : "confirm", message: () => { let name = `项目名称建议修改为${green( toRenamePackageName(cli.answers), )},是否确认修改?`; return name; }, initial: true, onState(state) { cli.answers.isRename = state.value; }, },]); cli.onComplete((answers) => { if (answers.isCTTQ && answers.isRename) { answers.name = toRenamePackageName(cli.answers); } }) } module.exports.apply = { after: "base", }