diff --git a/lib/io/iterate.js b/lib/io/iterate.js index eb4515e826..1ded0c458a 100644 --- a/lib/io/iterate.js +++ b/lib/io/iterate.js @@ -1,4 +1,5 @@ import {on} from 'node:events'; +import {getDefaultHighWaterMark} from 'node:stream'; import {getEncodingTransformGenerator} from '../transform/encoding-transform.js'; import {getSplitLinesGenerator} from '../transform/split.js'; import {transformChunkSync, finalChunksSync} from '../transform/run-sync.js'; @@ -73,8 +74,7 @@ const iterateOnStream = ({stream, controller, binary, shouldEncode, encoding, sh }); }; -// @todo: replace with `getDefaultHighWaterMark(true)` after dropping support for Node <18.17.0 -export const DEFAULT_OBJECT_HIGH_WATER_MARK = 16; +export const DEFAULT_OBJECT_HIGH_WATER_MARK = getDefaultHighWaterMark(true); // The `highWaterMark` of `events.on()` is measured in number of events, not in bytes. // Not knowing the average amount of bytes per `data` event, we use the same heuristic as streams in objectMode, since they have the same issue. diff --git a/package.json b/package.json index 6991d0989f..17f02c76c6 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "zx" ], "dependencies": { - "@sindresorhus/merge-streams": "^3.0.0", + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", "figures": "^6.1.0", "get-stream": "^9.0.0",