From 29fc2f6468a3aa806cf4dc9cb423ed0d384d8d5a Mon Sep 17 00:00:00 2001 From: wold9168 Date: Sat, 4 Apr 2026 18:50:05 +0800 Subject: [PATCH] fix: support reading input from pipes Signed-off-by: wold9168 --- js/package/bin/convert.cmd.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/js/package/bin/convert.cmd.js b/js/package/bin/convert.cmd.js index f0992611..13d12255 100644 --- a/js/package/bin/convert.cmd.js +++ b/js/package/bin/convert.cmd.js @@ -116,17 +116,17 @@ function run () { write(output_content, argv.append); messenger.okExit(); - function readFromStdIn () { + function readFromStdIn (encoding = 'utf8') { try { - var size = fs.fstatSync(process.stdin.fd).size; - if (size === 0) - return '' - const buffer = Buffer.alloc(size) - fs.readSync(process.stdin.fd, buffer) - return buffer.toString(argv.encoding) + return fs.readFileSync(process.stdin.fd, encoding); } catch (e) { - var err = new Error('Could not read from stdin, reason: ' + e.message); - messenger.errorExit(err); + const chunks = []; + let chunk; + process.stdin.setEncoding(encoding); + while ((chunk = process.stdin.read()) !== null) { + chunks.push(chunk); + } + return chunks.join(''); } }