UNPKG

boats

Version:

Beautiful Open / Async Template System - Write less yaml with BOATS and Nunjucks.

36 lines (35 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const child_process_1 = tslib_1.__importDefault(require("child_process")); const spawn = child_process_1.default.spawn; exports.default = (program, args = [], quiet = false) => { return new Promise((resolve, reject) => { if (!quiet) { console.log(`[commandRun] ${program} ${args.join(' ')}`); } const command = spawn(program, args); let outputString = ''; let outputErrorString = ''; command.stdout.on('data', function (data) { outputString += String(data); if (!quiet) { console.log(String(data)); } }); command.stderr.on('data', function (data) { outputErrorString += String(data); if (!quiet) { console.error(String(data)); } }); command.on('close', function (code) { if (code === 0) { resolve({ outputString, outputErrorString }); } else { reject({ code, outputString, outputErrorString }); } }); }); };