dws-cli-ui
Version:
dws-cli dws系列:包括大屏、移动端、设计器项目等待
47 lines (36 loc) • 1.53 kB
JavaScript
const { promisify } = require("util")
const path = require("path")
const fs = require("fs")
const program = require("commander")
const downloadRepo = promisify(require("download-git-repo"))
const open = require("open")
const log = require("../utils/log")
const terminal = require("../utils/terminal")
const { createEJS } = require("../utils/file")
const { GitRepo } = require("../config/repo_config")
// const setProjectInfo = require("./setProjectInfo")
const setDwsProject = require("./setDwsProject")
const createProject = async (project, otherArg) => {
// 1.提示信息
log.hint('Dws帮助你创建项目');
// 2.配置项目信息
const config = await setDwsProject()
if (!GitRepo[config.type]) return
console.log("\n")
// 3.clone项目从仓库
await downloadRepo(GitRepo[config.type], project, { clone: true })
// 4.用户可以自己执行,执行终端命令npm install
// terminal.exec('npm install', {cwd: `./${project}`});
const npm = process.platform === "win32" ? "npm.cmd" : "npm"
// --loglevel 参数:silent, error, warn, http, info, verbose, silly
await terminal.spawn(npm, ["install", "--loglevel", "info"], {
stdio: ["ignore", "ignore", "pipe"],
cwd: `./${project}` //工作空间
})
// ProcessOn(spawnNpm)
// 5.打开浏览器 项目中已经配置
// open("http://localhost:3030/")
// 6.运行项目
await terminal.spawn(npm, ["run", "start"], { cwd: `./${project}` }, true)
}
module.exports = { createProject }