Playing around with child_process and I want to pipe spawned cp output to custom stream.
I don't understand why in first case piping doesn't works and in second does.
Presets
const cp = require('child_process');
const process = require('process');
const stream = require('stream');
var writable = new stream.Writable();
writable._write = function (data) {
console.log(data.toString());
};
Doesn't work
var spawnedProcess = cp.spawn('ls', [], {
stdio: [process.stdin, process.stdout, process.stderr]
});
process.stdout.pipe(writable);
Outputs log into terminal but does't pipe it.
Does work
var spawnedProcess = cp.spawn('ls', [], {});
spawnedProcess.stdout.pipe(writable);
Pipes output to writable
.