До сих пор не совсем понимаю, что происходит, на случай, если это кому-то поможет. Проблема, похоже, в том, что PassThrough
пуст. Если я заменю его на tar-fs
и добавлю запись поверх потока, похоже, что он работает должным образом
'use strict';
const { Writable } = require('stream');
const { pack } = require('tar-fs');
const pumpify = require('pumpify');
const stream1 = pack();
const stream2 = new Writable();
const combined = pumpify(stream1, stream2);
combined.on('end', () => {
console.log('Stream end');
});
combined.on('error', e => {
console.log('Stream error: ', e);
});
stream1.entry({ name: 'file1' }, 'artbitrary file1 contents');
stream1.emit('error', 'aaa');
nvm use 8
Now using node v8.17.0 (npm v6.13.4)
node tmp.js
Stream error: aaa
Stream end
nvm use 10
Now using node v10.19.0 (npm v6.13.4)
node tmp.js
Stream error: aaa
Stream end