UNPKG

anujs-stb

Version:

a React16-compact mini framework

60 lines (51 loc) 1.44 kB
const fs = require("fs-extra"); const path = require("path"); const ora = require("ora"); const anuPath = path.join(__dirname, "../"); const qreactPath = path.join(__dirname, "../../qreact"); const dirs = ["build", "lib", "src", "ssr"]; const spinner = ora("开始同步").start(); function empty(dir) { return new Promise((resolve, reject) => { fs.emptyDir(path.join(qreactPath, dir), err => { if (err) { reject(err); } else { resolve(); } }); }); } function copy(dir) { return new Promise((resolve, reject) => { fs.copy(path.join(anuPath, dir), path.join(qreactPath, dir), err => { if (err) { reject(err); } else { resolve(); } }); }); } function emptyDirs(dirs) { return Promise.all(dirs.map(dir => empty(dir))); } function copyDirs(dirs) { return Promise.all(dirs.map(dir => copy(dir))); } function start() { const emptyPromise = emptyDirs(dirs); emptyPromise .then(() => { spinner.succeed("已清除 QReact 下目录"); return copyDirs(dirs); }) .then(() => { spinner.succeed("已复制 anujs 至 QReact"); }) .catch(e => { console.error(e); // eslint-disable-line spinner.fail("同步失败"); }); } start();