UNPKG

datamax-cli

Version:

datamax plugin cli

76 lines (66 loc) 2.19 kB
const fs = require("fs"); const fsextra = require("fs-extra"); var path = require("path"); const util = require("./util/util.js"); const shelljs = require("shelljs"); const chalk = require("chalk"); shelljs.config.verbose = true; shelljs.config.silent = true; //当前 脚手架的路径 var datamaxUrl = shelljs.exec("npm root -g").stdout||shelljs.exec("pwd").stdout; datamaxUrl = datamaxUrl.slice(0, datamaxUrl.length - 1); // datamaxUrl = "/Users/lun/code"; module.exports = function buildProject(config, resolve) { const builder = require("./util/builder"); config.root = process.cwd(); const appvue = require("./material/build-example-APPvue")(config); const exapmpleMain = require("./material/build-example-main")(config); const install = require("./material/build-install")(config); const packagejson = require("./material/build-packagejson")(config); const buildPublic = require("./material/build-public")(config); const rollconfig = require("./material/build-rollconfig")(config); const vueconfig = require("./material/build-vueconfig")(config); const pluginVue = require("./material/build-vue")(config); let buildList = [ appvue, exapmpleMain, install, packagejson, buildPublic, rollconfig, vueconfig, pluginVue, ]; buildList.forEach((buildItem) => { builder(buildItem); }); let editorUrl = (datamaxUrl||".") + "/datamax-cli/assets/editor"; var fstat; try { fstat = fs.statSync(editorUrl); } catch (e) { console.log(chalk.red(`找不到脚手架的编辑器!`)); return process.exit(); } //创建 dist 文件夹 //util.mkdir([config.root, config.pluginName, "example", "editor"]); let disturl = [config.root, config.pluginName, "example", "editor"].reduce( (url, item) => { return url + "/" + item; }, "" ); //去掉第一个/ disturl = disturl.slice(1); //创建 dist 文件夹 util.mkdir([config.root, "dist"]); console.log("editorurl:", editorUrl, "disturl:", disturl); fsextra.copy(editorUrl, disturl, function (err) { if (err) { console.error(err); } else { console.log("复制 editor success!"); } resolve(); }); };