UNPKG

comb-cli

Version:

comb cli

58 lines (56 loc) 1.97 kB
#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const process = require('process'); const rootPath = process.cwd(); require('shelljs/global'); require('colors'); const downLoadGit = require('../lib/downLoadGit.js'); /** * @param opt.gitUrl 框架git地址 * @param opt.version 框架版本号 * @param opt.tempDir 临时存放路径 */ module.exports = function downLoadFrame (opt) { return new Promise ((resolve, reject) => { const folderName = path.parse(opt.gitUrl).name; const framePath = path.resolve(rootPath, opt.tempDir, folderName); const tempDir = path.resolve(rootPath, opt.tempDir); const targetDir = path.resolve(tempDir, '../'); echo('开始下载框架!'.yellow); downLoadGit(opt).then(() => { echo('框架下载完成!'.green); echo('拷贝文件夹'.yellow); opt.folder.forEach((folder) => { const source = path.join(framePath, folder); if (!test('-d', source)){ mkdir('-p', source); } try { cp('-rf', source, targetDir); } catch (err) { echo(err.red); } }); echo('done'.green); echo('拷贝框架文件'.yellow); opt.files.forEach((file) => { const source = path.join(framePath, file); try { cp(source, targetDir); } catch (err) { echo(err.red); } }); echo('done'.green); echo('删除框架临时文件'.yellow); cd(targetDir); rm('-rf', tempDir); // 移除框架下载临时目录 echo('done'.green); resolve(); }).catch((err) => { echo('框架下载失败:' + err); reject(err); }); }); }