Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
0ae6bb3
refactor(client): take the WebSocket transport from dev-middleware
alexander-akait Sep 26, 2026
fc36a59
refactor(client): take the error overlay from dev-middleware too
alexander-akait Sep 28, 2026
883384a
feat(client): add Server-Sent Events as a second transport
alexander-akait Sep 29, 2026
802c20d
refactor(client): no overlay code left to adapt
alexander-akait Sep 29, 2026
931ef71
feat: reuse webpack-dev-middleware's browser runtime
alexander-akait Oct 5, 2026
5516979
refactor: serve "sse" from the middleware's own transport
alexander-akait Oct 5, 2026
266d5ad
fix: keep this package's name and its refusals in the browser console
alexander-akait Oct 5, 2026
05f7f57
test: wait for a build rather than the handshake's configuration push
alexander-akait Oct 5, 2026
3c7c3ff
fix: refuse an event-stream client, not just a WebSocket one
alexander-akait Oct 5, 2026
8882b5b
fix: treat an empty `webSocketURL` part as one that was not given
alexander-akait Oct 5, 2026
c5664cb
fix: drop a test of a file that no longer exists, and regenerate the …
alexander-akait Oct 5, 2026
b1b729d
test: regenerate the web-socket-server-url console snapshots
alexander-akait Oct 6, 2026
6ee5295
fix: keep manual client entries, page-url opt-outs and a hand-made mi…
alexander-akait Oct 6, 2026
df9a746
test: bring the end-to-end suites in line with the middleware's client
alexander-akait Oct 6, 2026
1f7744b
test: update the command line tests for the middleware's client, and …
alexander-akait Oct 6, 2026
ff92b7a
test: record what a CI browser sees, not what a sandbox does
alexander-akait Oct 6, 2026
f0466ec
test: write the changed file's path the same on every platform
alexander-akait Oct 6, 2026
235311b
test: wait for the client to give up on a name that never resolves
alexander-akait Oct 6, 2026
08d0b4e
test: wait for the worker's client to connect before the snapshot
alexander-akait Oct 6, 2026
0fd8f2d
chore: merge this change's changesets into one entry
alexander-akait Oct 6, 2026
d682d3d
feat: leave the last of the compiler and socket wiring to the middleware
alexander-akait Oct 6, 2026
a77ab05
fix: keep this server's own runtime and protocol, carried by the midd…
alexander-akait Oct 6, 2026
5f4d462
test: run main's suite unchanged, and React Refresh with the real plugin
alexander-akait Oct 6, 2026
b367dfc
fix(client): let a universal build run in Node
alexander-akait Oct 6, 2026
09c990b
chore(ci): TEMPORARY - install the unreleased webpack-dev-middleware
alexander-akait Oct 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/reuse-dev-middleware-client.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"webpack-dev-server": minor
---

The browser runtime, the WebSocket server and the compiler wiring — the client entry, `webpack/hot/dev-server`, `__webpack_dev_server_client__` and `HotModuleReplacementPlugin` — now come from webpack-dev-middleware, which carries this package's runtime unchanged and speaks its protocol, so nothing changes for anyone using it: every option, what the browser console and the overlay show, every `webpack-dev-server/client/*` path (`client/socket.js` for React Refresh included), `sendMessage()`, `webSocketServer` and a subclass's `getClientEntry()` all work as they did. `client.webSocketTransport: "sse"` adds Server-Sent Events next to `"ws"`, and a universal build (`target: "universal"` or `["web", "node"]`) now runs in Node too, where the client does nothing instead of throwing `self is not defined`.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,5 @@ test/fixtures/reload-config/main.css
test/fixtures/reload-config-2/main.css
test/fixtures/worker-config-dev-server-false/public
!/test/fixtures/static-config/public/node_modules
test/fixtures/react-refresh-config/App.js
test/fixtures/react-refresh-config/label.js
42 changes: 0 additions & 42 deletions client-src/clients/WebSocketClient.js

This file was deleted.

24 changes: 0 additions & 24 deletions client-src/globals.d.ts

This file was deleted.

Loading
Loading