function handleExecFile()

in index.js [74:102]


function handleExecFile(command, args, options = {}, onData) {
  return new Promise((resolve, reject) => {
    const child = execFile(command, args, options);

    child.stdout.on('data', (data) => {
      process.stdout.write(data);
      if (onData) onData(data);
    });

    child.stderr.on('data', (data) => {
      process.stderr.write(data);
      if (onData) onData(data);
    });

    child.on('error', (error) => {
      logger.error(`Error spawning child process: ${error.message}`);
      reject(error);
    });

    child.on('exit', (code) => {
      if (code !== 0) {
        logger.error(`Process exited with code ${code}`);
        reject(new Error(`Process exited with code ${code}`));
      } else {
        resolve();
      }
    });
  });
}