X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FChildProcess.purs;h=34558fa74504b44f3343a64914bd718a5e0916bb;hb=8141e23ae052c5707a5c69db49fda20123f1b72c;hp=c9ff23b52a62fe7b7ce894893da0491d2f929df9;hpb=c194f84cab66fa6e18b78c32f9cdf2bddf8d1e68;p=github%2Ffretlink%2Fpurs-loader.git diff --git a/src/ChildProcess.purs b/src/ChildProcess.purs index c9ff23b..34558fa 100644 --- a/src/ChildProcess.purs +++ b/src/ChildProcess.purs @@ -23,13 +23,29 @@ function spawnFn(command, args, errback, callback) { var stdout = new Buffer(0); + var stderr = new Buffer(0); + process.stdout.on('data', function(data){ stdout = Buffer.concat([stdout, new Buffer(data)]); }); + process.stderr.on('data', function(data){ + stderr = Buffer.concat([stderr, new Buffer(data)]); + }); + process.on('close', function(code){ - if (code !== 0) errback(new Error(stdout.toString()))(); - else callback(stdout.toString())(); + var chalk = require('chalk'); + + var output = stdout.toString('utf-8'); + + var error = stderr.toString('utf-8'); + + if (error.length > 0) { + console.error('\n' + chalk.red('*') + ' ' + error); + } + + if (code !== 0) errback(new Error('Process terminated with code ' + code))(); + else callback(output)(); }); }; }