xuqiang-cli
Version:
st-cli脚手架
51 lines (46 loc) • 1.22 kB
JavaScript
const path = require("path")
const fs = require("fs-extra")
const Inquirer = require("inquirer")
const Creator = require("./creator")
/**
*
* @param {String} projectName
* @param {Object} options
*/
module.exports = async function (projectName, options) {
// 获取当前工作目录
const cwd = process.cwd()
// 平接得到的项目目录
const targetDirectory = path.join(cwd, projectName)
const creator = new Creator(projectName, targetDirectory)
if (fs.existsSync(targetDirectory)) {
if (options.force) {
await fs.remove(targetDirectory)
} else {
let { isOverwrite } = await new Inquirer.prompt([
{
name: "isOverwrite",
type: "list",
message: "Target directory exists, please choose an action",
choices: [
{ name: "Overwrite", value: true },
{ name: "Cancel", value: false },
],
},
])
if (isOverwrite) {
console.log("选择了删除")
await fs.remove(targetDirectory)
await fs.mkdir(targetDirectory)
} else {
console.log("选择了取消")
}
// 创建
await creator.create()
}
} else {
await fs.mkdir(targetDirectory)
// 创建
await creator.create()
}
}