NodeJS spawn stdout string format
node.js, spawn, stdout
Solution
Streams are buffered and emit `data` events whenever they please (so to speak), not on strict boundaries like lines of text.
But you can use the `readline` module to parse the buffers into lines for you:
var child_process = require('child_process');
var readline = require('readline');
var proc = child_process.spawn(...);
readline.createInterface({
input : proc.stdout,
terminal : false
}).on('line', function(line) {
console.log(line);
});
Problem
I'm spawning a process in node and tracking the output of the command like this: ``` proc.stdout.on("data", function (data) { console.log(data.toString()); }); ``` It works well, however, the output seems to be splitting the lines: ``` npm http 304 https://registry.npmjs.org/underscore ``` The above is just one line out of the response from an `npm install`. Typically this is all in one line, it's also adding line breaks before and after the response. Is there a way to get the data output to look like the standard run, i.e. line-by-line?