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
}
});
});
}