function handleSpawnProcess()

in index.js [105:135]


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

    let output = '';

    child.stdout.on('data', (data) => {
      process.stdout.write(data); // Print to CLI
      output += data.toString(); // Accumulate output
      if (onData) onData(data.toString());
    });

    child.stderr.on('data', (data) => {
      process.stderr.write(data); // Print errors to CLI
      output += data.toString(); // Accumulate output
      if (onData) onData(data.toString());
    });

    child.on('error', (error) => {
      reject(error); // Handle spawn error
    });

    child.on('close', (code) => {
      if (code !== 0) {
        reject(new Error(`Process exited with code ${code}`));
      } else {
        resolve(output); // Return the full output
      }
    });
  });
}