diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e7b0dd6..e30017e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,9 @@ _Note: Gaps between patch versions are faulty, broken or test releases._ ## UNRELEASED +* **Internal** + * Update `ws` dependency ([#691](https://github.com/webpack-contrib/webpack-bundle-analyzer/pull/691) by [@bjohansebas](https://github.com/bjohansebas)) + ## 5.1.1 * **Bug Fix** diff --git a/package-lock.json b/package-lock.json index d381f2b5..2ef02aec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "opener": "^1.5.2", "picocolors": "^1.0.0", "sirv": "^2.0.3", - "ws": "^7.3.1" + "ws": "^8.19.0" }, "bin": { "webpack-bundle-analyzer": "lib/bin/analyzer.js" @@ -14296,28 +14296,6 @@ "node": ">=18" } }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/puppeteer/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -17957,28 +17935,6 @@ "node": ">=8.10.0" } }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/webpack-merge": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", @@ -18345,15 +18301,16 @@ } }, "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { diff --git a/package.json b/package.json index d464d6f7..36e74ad4 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "opener": "^1.5.2", "picocolors": "^1.0.0", "sirv": "^2.0.3", - "ws": "^7.3.1" + "ws": "^8.19.0" }, "devDependencies": { "@babel/core": "7.26.9", diff --git a/test/viewer.js b/test/viewer.js index 1494e4cb..8cf3be49 100644 --- a/test/viewer.js +++ b/test/viewer.js @@ -47,7 +47,13 @@ describe('WebSocket server', function () { ].join('\r\n')); }); + socket.on('close', function () { + server.close(done); + }); + + let count = 0; socket.on('data', function (chunk) { + ++count; const expected = Buffer.from([ 'HTTP/1.1 101 Switching Protocols', 'Upgrade: websocket', @@ -57,14 +63,14 @@ describe('WebSocket server', function () { '' ].join('\r\n')); - expect(chunk.equals(expected)).to.be.true; + // Because data may be received in multiple chunks, only check the first one + if (count === 1) { + expect(chunk.equals(expected)).to.be.true; + } // Send a WebSocket frame with a reserved opcode (5) to trigger an error // to be emitted on the server. socket.write(Buffer.from([0x85, 0x00])); - socket.on('close', function () { - server.close(done); - }); }); }) .catch(done);