Hi!
First, thanks for sharing this library. I'm opening this to discuss whether and how spawnAsync could support exposing the raw binary stdout content.
My use case is the following: I am using [pandoc] to convert HTML content to a binary format (.docx in my case). Pandoc outputs the raw docx content to stdout, but since spawnAsync concatenates the output in a string, the binary content is scrambled which makes the docx corrupted (probably because concatenating the binary output to a string force-converts to utf8).
For this reason I couldn't use spawnAsync and had to use the built-in spawn function and basically reimplement error handling and reading from the process stdout stream.
Of course we don't want this change to break backwards compatibility, so SpawnResult.stdout should still contain a string.
What I'd imagine is a new attribute on SpawnResult containing the raw Buffer[] content, e.g.:
process = spawnAsync('pandoc', ['--from=html', '--to=docx']);
process.child.stdin.end("<h1>Hello, world</h1>");
result = await process;
const docxContent = Buffer.concat(result.raw); // <--
I'd be happy to work on this, if this sounds like a reasonable feature to add!
Hi!
First, thanks for sharing this library. I'm opening this to discuss whether and how
spawnAsynccould support exposing the raw binary stdout content.My use case is the following: I am using [pandoc] to convert HTML content to a binary format (
.docxin my case). Pandoc outputs the raw docx content to stdout, but sincespawnAsyncconcatenates the output in a string, the binary content is scrambled which makes the docx corrupted (probably because concatenating the binary output to a string force-converts to utf8).For this reason I couldn't use
spawnAsyncand had to use the built-inspawnfunction and basically reimplement error handling and reading from the processstdoutstream.Of course we don't want this change to break backwards compatibility, so
SpawnResult.stdoutshould still contain a string.What I'd imagine is a new attribute on
SpawnResultcontaining the rawBuffer[]content, e.g.:I'd be happy to work on this, if this sounds like a reasonable feature to add!