UNPKG

947 BJavaScriptView Raw
1if (require.main !== module) {
2 throw new Error('This file should not be required');
3}
4
5var childProcess = require('child_process');
6var fs = require('fs');
7
8var paramFilePath = process.argv[2];
9
10var serializedParams = fs.readFileSync(paramFilePath, 'utf8');
11var params = JSON.parse(serializedParams);
12
13var cmd = params.command;
14var execOptions = params.execOptions;
15var pipe = params.pipe;
16var stdoutFile = params.stdoutFile;
17var stderrFile = params.stderrFile;
18
19var c = childProcess.exec(cmd, execOptions, function (err) {
20 if (!err) {
21 process.exitCode = 0;
22 } else if (err.code === undefined) {
23 process.exitCode = 1;
24 } else {
25 process.exitCode = err.code;
26 }
27});
28
29var stdoutStream = fs.createWriteStream(stdoutFile);
30var stderrStream = fs.createWriteStream(stderrFile);
31
32c.stdout.pipe(stdoutStream);
33c.stderr.pipe(stderrStream);
34c.stdout.pipe(process.stdout);
35c.stderr.pipe(process.stderr);
36
37if (pipe) {
38 c.stdin.end(pipe);
39}