UNPKG

youzanyun-devtool-worker

Version:

98 lines (97 loc) 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const child_process_1 = require("child_process"); const spring4js_nodejs_1 = require("spring4js-nodejs"); let ExecuteService = class ExecuteService { constructor() { } async start() { } promiseExec(cmd, options) { return new Promise((resolve, reject) => { options.windowsHide = true; options.env = process.env; (0, child_process_1.exec)(cmd, options, (error, stdout, stderr) => { if (error) { console.log('error', error); reject(error); return; } if (stderr) { console.log('stderr', stderr); reject(stderr); return; } resolve(stdout); }); }); } promiseExecFile(file, args = [], options = {}) { return new Promise((resolve, reject) => { options.windowsHide = true; options.env = process.env; (0, child_process_1.execFile)(file, args, options, (error, stdout, stderr) => { if (error) { console.log('error', error); reject(error); return; } if (stderr) { console.log('stderr', stderr); reject(stderr); return; } resolve(stdout); }); }); } promiseSpawm(cmd, args = [], options = {}, log) { return new Promise((resolve, reject) => { options.stdio = 'pipe'; options.windowsHide = true; options.env = process.env; let error_cache = ''; const ls = (0, child_process_1.spawn)(cmd, args, options); ls.on('error', (err) => { if (log) { log.report(`err ${err}`); } console.log(err); reject(err); }); if (ls.stdout) { ls.stdout.on('data', (data) => { if (log) { log.report(data.toString('utf-8')); } console.log(data.toString('utf-8')); }); } if (ls.stderr) { ls.stderr.on('data', (data) => { if (log) { log.report(data.toString('utf-8')); } console.error(data.toString('utf-8')); error_cache += data.toString('utf-8'); }); } ls.on('close', (code) => { if (log) { log.report(`code:${code}`); } if (+code === 0) { resolve(code); } else { reject(error_cache); } }); }); } }; ExecuteService = tslib_1.__decorate([ (0, spring4js_nodejs_1.Service)() ], ExecuteService); exports.default = ExecuteService;