UNPKG

@iot-studio/material-toolkit-utils

Version:

material 工具链相关工具

50 lines (49 loc) 1.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.install = exports.runCmd = void 0; var log_1 = __importDefault(require("./log")); var exec = require('child_process').exec; var execSh = require('exec-sh'); var fs = require('fs'); var spawn = require('cross-spawn'); function runCmd(command, options) { if (options === void 0) { options = { stdio: 'inherit' }; } return new Promise(function (resolve, reject) { execSh(command, {}, function (err) { if (err) { log_1.default.error(err); reject(err); } log_1.default.info("" + command, '\n'); resolve(null); }); }); } exports.runCmd = runCmd; ; function install(packageName, localPath) { return new Promise(function (resolve, reject) { if (fs.existsSync(localPath)) { return; } log_1.default.info('正在安装...:', packageName); var ps = spawn('bnpm', ['i', packageName], { stdio: 'inherit', cdw: process.cwd(), env: process.env }); ps.on('error', function (err) { reject(err); }); ps.on('exit', function (code) { if (code === 0) { return resolve(null); } return reject(code); }); }); } exports.install = install;