RangeError: Invalid string length
at Array.join (<anonymous>)
at Channel.<anonymous> (redacted/node_modules/node-ssh/lib/esm/index.mjs:302:47)
at Channel.emit (node:events:526:35)
at Channel.doClose (redacted\node_modules\ssh2\lib\utils.js:101:21)
at Object.onceWrapper (node:events:628:28)
at Channel.emit (node:events:526:35)
at endReadableNT (node:internal/streams/readable:1408:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Besides the error, I think it wastes resources and defeats the purpose of using streams.
execCommand
provides streaming ability viaonStdout
/onStderr
option. However, even if the option is provided, it still collects the output to own array: https://github.com/steelbrain/node-ssh/blob/6c57d8f127ab1173cee68de598ff6940575af149/src/index.ts#L394 When the output is very large it fails to convert the array to string: https://github.com/steelbrain/node-ssh/blob/main/src/index.ts#L423-L424Besides the error, I think it wastes resources and defeats the purpose of using streams.