1 | var prettyjson = require('prettyjson');
|
2 | var erroroptions = {
|
3 | keysColor: 'red',
|
4 | stringColor: 'white'
|
5 | };
|
6 | var successoptions = {
|
7 | keysColor: 'green',
|
8 | stringColor: 'green'
|
9 | };
|
10 | var infooptions = {
|
11 | keysColor: 'grey',
|
12 | stringColor: 'white'
|
13 | };
|
14 | const util = require('util');
|
15 | const exec = util.promisify(require('child_process').exec);
|
16 | const { spawn } = require('child_process');
|
17 | function logError(message) {
|
18 | console.log(prettyjson.render(message, erroroptions));
|
19 | }
|
20 | ;
|
21 | function logSuccess(message) {
|
22 | console.log(prettyjson.render(message, successoptions));
|
23 | }
|
24 | ;
|
25 | function logInfo(message) {
|
26 | console.log(prettyjson.render(message, infooptions));
|
27 | }
|
28 | ;
|
29 | async function execWithOutput(p) {
|
30 | const ls = spawn(p, []);
|
31 | ls.stdout.on('data', (data) => {
|
32 | logInfo(`stdout: ${data}`);
|
33 | });
|
34 | ls.stderr.on('data', (data) => {
|
35 | logError(`stderr: ${data}`);
|
36 | });
|
37 | ls.on('close', (code) => {
|
38 | logInfo(`child process exited with code ${code}`);
|
39 | });
|
40 | ls.on('error', (err) => {
|
41 | logError(err);
|
42 | });
|
43 | }
|
44 | ;
|
45 | module.exports.logInfo = logInfo;
|
46 | module.exports.logSuccess = logSuccess;
|
47 | module.exports.logError = logError;
|
48 | module.exports.execWithOutput = execWithOutput;
|
49 |
|