From 437380edb38dcbf40e8c38188bdb3e2b123b65df Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 16 Mar 2026 14:42:20 +0000 Subject: [PATCH 1/4] feat: add `duplexer` to replacements --- docs/modules/duplexer.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 docs/modules/duplexer.md diff --git a/docs/modules/duplexer.md b/docs/modules/duplexer.md new file mode 100644 index 00000000..5fcf2768 --- /dev/null +++ b/docs/modules/duplexer.md @@ -0,0 +1,20 @@ +[`Duplex.from`](https://nodejs.org/api/stream.html#streamduplexfromsrc) can be used instead + +Before: + +```js +import duplexer from 'duplexer' + +duplexer(writableStream, readableStream) +``` + +After: + +```js +import { Duplex } from 'node:stream' + +Duplex.from({ + writable: writableStream, + readable: readableStream +}) +``` From 1ddbbe225d254e79352a6a880dcd06720413448b Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 16 Mar 2026 18:24:15 +0000 Subject: [PATCH 2/4] update --- docs/modules/duplexer.md | 28 ++++++++++++++-------------- manifests/preferred.json | 6 ++++++ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/modules/duplexer.md b/docs/modules/duplexer.md index 5fcf2768..b6ef9db3 100644 --- a/docs/modules/duplexer.md +++ b/docs/modules/duplexer.md @@ -1,20 +1,20 @@ -[`Duplex.from`](https://nodejs.org/api/stream.html#streamduplexfromsrc) can be used instead +--- +description: Modern alternatives to the duplexer package +--- -Before: +# Replacements for `duplexer` -```js -import duplexer from 'duplexer' - -duplexer(writableStream, readableStream) -``` - -After: +## `stream.Duplex.from` (native, Node.js) + ```js -import { Duplex } from 'node:stream' +import duplexer from 'duplexer' // [!code --] +import { Duplex } from 'node:stream' // [!code ++] + +duplexer(writableStream, readableStream) // [!code --] -Duplex.from({ - writable: writableStream, - readable: readableStream -}) +Duplex.from({ // [!code ++] + writable: writableStream, // [!code ++] + readable: readableStream // [!code ++] +}) // [!code ++] ``` diff --git a/manifests/preferred.json b/manifests/preferred.json index fbb01a86..c2188119 100644 --- a/manifests/preferred.json +++ b/manifests/preferred.json @@ -156,6 +156,12 @@ "replacements": ["--env-file"], "url": {"type": "e18e", "id": "dotenv"} }, + "duplexer": { + "type": "module", + "moduleName": "duplexer", + "replacements": ["node:stream"], + "url": {"type": "e18e", "id": "duplexer"} + }, "emoji-regex": { "type": "module", "moduleName": "emoji-regex", From 9b106ae182e59befdd12dfbaf6cd5f86df4c89c3 Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 16 Mar 2026 18:39:20 +0000 Subject: [PATCH 3/4] readme --- docs/modules/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/modules/README.md b/docs/modules/README.md index 5f633e27..8a4d50fa 100644 --- a/docs/modules/README.md +++ b/docs/modules/README.md @@ -34,6 +34,7 @@ ESLint plugin. - [`detect-package-manager`](./detect-package-manager.md) - [`dot-prop`](./dot-prop.md) - [`dotenv`](./dotenv.md) +- [`duplexer`](./duplexer.md) - [`emoji-regex`](./emoji-regex.md) - [`eslint-plugin-es`](./eslint-plugin-es.md) - [`eslint-plugin-eslint-comments`](./eslint-plugin-eslint-comments.md) From ba1c1e4d5e392833b9fdd4b442e2f5c6a78425c9 Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Tue, 17 Mar 2026 04:29:36 +0000 Subject: [PATCH 4/4] Apply suggestion from @43081j --- docs/modules/duplexer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/duplexer.md b/docs/modules/duplexer.md index b6ef9db3..caa98f71 100644 --- a/docs/modules/duplexer.md +++ b/docs/modules/duplexer.md @@ -4,7 +4,7 @@ description: Modern alternatives to the duplexer package # Replacements for `duplexer` -## `stream.Duplex.from` (native, Node.js) +## `Duplex.from` (native, Node.js) ```js