UNPKG

yst-react-cli

Version:
50 lines (47 loc) 1.55 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var ora = require('ora'); // 获取模版时的loading var spawn = require('cross-spawn'); var chalk = require('chalk'); // 美化输出 // loading封装 var waitFunLoading = exports.waitFunLoading = function waitFunLoading(fun) { var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'loading...'; return async function () { var spinner = ora(message); spinner.start(); spinner.color = 'blue'; var res = void 0; try { res = await fun.apply(undefined, arguments); } catch (err) { console.log(chalk.redBright.bold(err, 'Download failed!')); } finally { spinner.succeed(); } return res; }; }; // 安装依赖 var installDep = exports.installDep = function installDep(_ref) { var dir = _ref.dir, packageType = _ref.packageType; return new Promise(function (resolve, reject) { var args = ['install', '--save', '--save-exact', '--loglevel', 'error']; var child = spawn(packageType, args, { cwd: dir, stdio: ['pipe', process.stdout, process.stderr] }); child.once('close', function (code) { if (code !== 0) { reject({ command: packageType + ' ' + args.join(' ') }); return; } resolve(); }); child.once('error', reject); }); };