From 82833c23f695162262bfa4dfb1e60023607fcaa9 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 11 Jul 2026 15:28:27 -0500 Subject: [PATCH] chore(deps): replace `on-finished` with Node.js built-in `stream.finished` --- .changeset/plenty-pans-clap.md | 5 +++++ package-lock.json | 14 ++------------ package.json | 2 -- src/middleware.js | 4 ++-- 4 files changed, 9 insertions(+), 16 deletions(-) create mode 100644 .changeset/plenty-pans-clap.md diff --git a/.changeset/plenty-pans-clap.md b/.changeset/plenty-pans-clap.md new file mode 100644 index 000000000..eeeacf5d8 --- /dev/null +++ b/.changeset/plenty-pans-clap.md @@ -0,0 +1,5 @@ +--- +"webpack-dev-middleware": patch +--- + +Replace the `on-finished` dependency with Node.js built-in `stream.finished`. diff --git a/package-lock.json b/package-lock.json index 41191cf54..abb2bcdaa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,6 @@ "dependencies": { "memfs": "^4.56.10", "mime-types": "^3.0.2", - "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.3.3" }, @@ -28,7 +27,6 @@ "@types/express": "^5.0.2", "@types/mime-types": "^3.0.1", "@types/node": "^22.3.0", - "@types/on-finished": "^2.3.4", "babel-jest": "^30.1.2", "connect": "^3.7.0", "cspell": "^10.0.0", @@ -5243,16 +5241,6 @@ "undici-types": "~6.21.0" } }, - "node_modules/@types/on-finished": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/on-finished/-/on-finished-2.3.5.tgz", - "integrity": "sha512-XUaCx9tVIC577KsOZxKbnvGlyPt2ogNXQEq/bOQpAfPwH9sH0FbzrRsK1961jpjKlK5V+Owmw55dVjukWhwH0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/qs": { "version": "6.15.0", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", @@ -8180,6 +8168,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, "license": "MIT" }, "node_modules/electron-to-chromium": { @@ -15170,6 +15159,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, "license": "MIT", "dependencies": { "ee-first": "1.1.1" diff --git a/package.json b/package.json index b87a0ce09..8f6bb6a4d 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "dependencies": { "memfs": "^4.56.10", "mime-types": "^3.0.2", - "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.3.3" }, @@ -65,7 +64,6 @@ "@types/express": "^5.0.2", "@types/mime-types": "^3.0.1", "@types/node": "^22.3.0", - "@types/on-finished": "^2.3.4", "babel-jest": "^30.1.2", "connect": "^3.7.0", "cspell": "^10.0.0", diff --git a/src/middleware.js b/src/middleware.js index e92ec449c..7e0c04f17 100644 --- a/src/middleware.js +++ b/src/middleware.js @@ -1,8 +1,8 @@ const path = require("node:path"); const querystring = require("node:querystring"); +const { finished } = require("node:stream"); const mime = require("mime-types"); -const onFinishedStream = require("on-finished"); const { createReadStreamOrReadFile, @@ -1122,7 +1122,7 @@ function wrapper(context) { if (outgoing) { // Response finished, cleanup - onFinishedStream(outgoing, (err) => { + finished(outgoing, (err) => { if (err) { context.logger.error("Stream error:", err); }