UNPKG

sth-cli

Version:

stonehg vue cli

60 lines (55 loc) 1.74 kB
/* * @Description: * @Autor: houyueke * @Date: 2022-04-24 14:41:35 * @LastEditors: houyueke * @LastEditTime: 2022-04-24 17:49:45 */ const path = require('path') const fs = require('fs-extra') const inquirer = require('inquirer') const Generator = require('./Generator') module.exports = async function (name, options) { // console.log(name, options); //执行创建命令 //当前命令行选择的目录 const cwd = process.cwd() //需要创建的目录地址 const targetDir = path.join(cwd, name) //目录是否已经存在 if (fs.existsSync(targetDir)) { //是否为强制创建 if (options.force) { await fs.remove(targetDir) } else { //询问用户是否确定需要覆盖 let { action } = await inquirer.prompt([ { name: 'action', type: 'list', message: '目标目录已存在,请选择:', choices: [ { name: '覆盖', value: 'overwrite' }, { name: "取消", value: false } ] } ]) if (!action) { return } else if (action === 'overwrite') { //移除已存在的目录 await fs.remove(targetDir) } } } //创建目录 const generator = new Generator(name, targetDir) //创建项目 generator.create() }