UNPKG

create-cttq

Version:

CTTQ大前端脚手架项目

61 lines (58 loc) 1.81 kB
const { red, green, bold } = require("kolorist") function isValidPackageName(packageName) { return /^(?:@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$/.test( packageName, ); } module.exports = function(cli) { cli.addQuestions([ { name: "name", type: "text", message: "项目名称:", validate: (name) => { if (!isValidPackageName(name)) { return `项目名称 ${bold(green(name))} 无效,请输入合法的项目名称`; } return true; }, onState: (state) => (cli.answers.name = state.value.trim()), }, { name: "description", type: "text", message: "项目描述", initial: "", validate: (description) => { if (!description) { return `请简要介绍项目功能、作用`; } return true; }, }, { name: "type", type: "select", message: "项目类型:", choices: [ { title: "移动端", value: "APP", description: "创建适合移动设备的项目,默认带有vant组件库", }, { title: "PC网页", value: "PC", description: "创建适合PC网页的项目,默认带有element组件库", } ], hint: "- ↑ ↓ 选择. 回车 确认", onState: (state) => { cli.answers.type = state.value; }, }, ]); } module.exports.apply = { after: "_", }