gitextract_0seghhx2/ ├── .cspell.json ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── dependency-review.yml │ └── nodejs.yml ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .prettierignore ├── .versionrc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── DOCUMENTATION-v4.md ├── LICENSE ├── README.md ├── babel.config.js ├── bin/ │ ├── cli-flags.js │ └── webpack-dev-server.js ├── client-src/ │ ├── clients/ │ │ ├── SockJSClient.js │ │ └── WebSocketClient.js │ ├── globals.d.ts │ ├── index.js │ ├── modules/ │ │ ├── logger/ │ │ │ ├── index.js │ │ │ └── tapable.js │ │ └── sockjs-client/ │ │ └── index.js │ ├── overlay.js │ ├── progress.js │ ├── socket.js │ ├── utils/ │ │ ├── log.js │ │ └── sendMessage.js │ └── webpack.config.js ├── commitlint.config.js ├── eslint.config.mjs ├── examples/ │ ├── .assets/ │ │ ├── layout.html │ │ └── style.css │ ├── README.md │ ├── api/ │ │ ├── internal-ip/ │ │ │ ├── README.md │ │ │ └── app.js │ │ ├── internal-ip-sync/ │ │ │ ├── README.md │ │ │ └── app.js │ │ ├── middleware/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ ├── simple/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ ├── start/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ ├── start-callback/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ ├── stop/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ └── stop-callback/ │ │ ├── README.md │ │ ├── app.js │ │ ├── server.js │ │ └── webpack.config.js │ ├── app/ │ │ ├── connect/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ └── hono/ │ │ ├── README.md │ │ ├── app.js │ │ ├── ssl/ │ │ │ ├── localhost-cert.pem │ │ │ └── localhost-privkey.pem │ │ └── webpack.config.js │ ├── bonjour/ │ │ ├── boolean/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ └── object/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── client/ │ │ ├── logging/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ ├── overlay/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── create-button.js │ │ │ └── webpack.config.js │ │ ├── progress/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ ├── reconnect/ │ │ │ ├── false/ │ │ │ │ ├── README.md │ │ │ │ ├── app.js │ │ │ │ └── webpack.config.js │ │ │ ├── number/ │ │ │ │ ├── README.md │ │ │ │ ├── app.js │ │ │ │ └── webpack.config.js │ │ │ └── true/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ ├── trusted-types-overlay/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── layout.html │ │ │ └── webpack.config.js │ │ └── web-socket-url/ │ │ ├── README.md │ │ ├── app.js │ │ ├── index.html │ │ └── webpack.config.js │ ├── compression/ │ │ ├── false/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ └── true/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── default/ │ │ ├── README.md │ │ ├── app.js │ │ ├── style.less │ │ └── webpack.config.js │ ├── dev-middleware/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── general/ │ │ ├── config-array/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── style.less │ │ │ └── webpack.config.js │ │ ├── config-promise/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── index.html │ │ │ └── webpack.config.js │ │ ├── proxy-advanced/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── bypass.html │ │ │ └── webpack.config.js │ │ ├── proxy-hot-reload/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── proxy-config.js │ │ │ └── webpack.config.js │ │ ├── proxy-simple/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ ├── universal-config/ │ │ │ ├── README.md │ │ │ ├── client.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ └── webworker/ │ │ ├── README.md │ │ ├── web.js │ │ ├── webpack.config.js │ │ └── worker.js │ ├── headers/ │ │ ├── array/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ ├── function/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ └── object/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── history-api-fallback/ │ │ ├── README.md │ │ ├── app.js │ │ ├── file.txt │ │ └── webpack.config.js │ ├── hmr/ │ │ ├── boolean/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── example.js │ │ │ └── webpack.config.js │ │ └── only/ │ │ ├── README.md │ │ ├── app.js │ │ ├── example.js │ │ └── webpack.config.js │ ├── host-and-port/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── ipc/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── multi-compiler/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── node-false/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── on-listening/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── open-target/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── open-target-multiple/ │ │ ├── README.md │ │ ├── app1.js │ │ ├── app2.js │ │ └── webpack.config.js │ ├── proxy/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── server/ │ │ ├── http2/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ └── webpack.config.js │ │ ├── https/ │ │ │ ├── README.md │ │ │ ├── app.js │ │ │ ├── ssl/ │ │ │ │ ├── ca.pem │ │ │ │ ├── server.crt │ │ │ │ ├── server.key │ │ │ │ └── server.pfx │ │ │ └── webpack.config.js │ │ └── spdy/ │ │ ├── README.md │ │ ├── app.js │ │ ├── ssl/ │ │ │ ├── ca.pem │ │ │ ├── server.crt │ │ │ ├── server.key │ │ │ └── server.pfx │ │ └── webpack.config.js │ ├── setup-middlewares/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ ├── util.js │ ├── watch-static/ │ │ ├── README.md │ │ ├── app.js │ │ ├── assets/ │ │ │ └── index.html │ │ ├── css/ │ │ │ └── styles.css │ │ └── webpack.config.js │ └── web-socket-server/ │ ├── sockjs/ │ │ ├── README.md │ │ ├── app.js │ │ └── webpack.config.js │ └── ws/ │ ├── README.md │ ├── app.js │ └── webpack.config.js ├── jest.config.js ├── lib/ │ ├── Server.js │ ├── getPort.js │ ├── options.json │ └── servers/ │ ├── BaseServer.js │ ├── SockJSServer.js │ └── WebsocketServer.js ├── lint-staged.config.js ├── migration-v4.md ├── migration-v5.md ├── package.json ├── scripts/ │ ├── extend-webpack-types.js │ ├── globalSetupTest.js │ ├── prepare-test-for-old-node.js │ └── setupTest.js ├── test/ │ ├── __snapshots__/ │ │ ├── normalize-options.test.js.snap.webpack5 │ │ └── validate-options.test.js.snap.webpack5 │ ├── cli/ │ │ ├── __snapshots__/ │ │ │ ├── basic.test.js.snap.webpack5 │ │ │ ├── bonjour-option.test.js.snap.webpack5 │ │ │ ├── colors.test.js.snap.webpack5 │ │ │ ├── historyApiFallback-option.test.js.snap.webpack5 │ │ │ ├── host-option.test.js.snap.webpack5 │ │ │ ├── ipc-option.test.js.snap.webpack5 │ │ │ ├── port-option.test.js.snap.webpack5 │ │ │ ├── server-option.test.js.snap.webpack5 │ │ │ ├── static-option.test.js.snap.webpack5 │ │ │ └── watchFiles-option.test.js.snap.webpack5 │ │ ├── allowedHosts-option.test.js │ │ ├── basic.test.js │ │ ├── bonjour-option.test.js │ │ ├── client-option.test.js │ │ ├── colors.test.js │ │ ├── compress-option.test.js │ │ ├── historyApiFallback-option.test.js │ │ ├── host-option.test.js │ │ ├── hot-option.test.js │ │ ├── ipc-option.test.js │ │ ├── liveReload-option.test.js │ │ ├── open-option.test.js │ │ ├── port-option.test.js │ │ ├── server-option.test.js │ │ ├── static-option.test.js │ │ ├── watchFiles-option.test.js │ │ └── webSocketServer-option.test.js │ ├── client/ │ │ ├── ReactErrorBoundary.test.js │ │ ├── __snapshots__/ │ │ │ ├── index.test.js.snap.webpack5 │ │ │ └── socket-helper.test.js.snap.webpack5 │ │ ├── bundle.test.js │ │ ├── clients/ │ │ │ ├── SockJSClient.test.js │ │ │ ├── WebsocketClient.test.js │ │ │ └── __snapshots__/ │ │ │ ├── SockJSClient.test.js.snap.webpack5 │ │ │ └── WebsocketClient.test.js.snap.webpack5 │ │ ├── index.test.js │ │ ├── socket-helper.test.js │ │ └── utils/ │ │ ├── __snapshots__/ │ │ │ ├── getCurrentScriptSource.test.js.snap.webpack5 │ │ │ ├── log.test.js.snap.webpack5 │ │ │ ├── reloadApp.test.js.snap.webpack5 │ │ │ └── sendMessage.test.js.snap.webpack5 │ │ ├── createSocketURL.test.js │ │ ├── getCurrentScriptSource.test.js │ │ ├── log.test.js │ │ └── sendMessage.test.js │ ├── e2e/ │ │ ├── __snapshots__/ │ │ │ ├── allowed-hosts.test.js.snap.webpack5 │ │ │ ├── api.test.js.snap.webpack5 │ │ │ ├── bonjour.test.js.snap.webpack5 │ │ │ ├── built-in-routes.test.js.snap.webpack5 │ │ │ ├── client-reconnect.test.js.snap.webpack5 │ │ │ ├── client.test.js.snap.webpack5 │ │ │ ├── compress.test.js.snap.webpack5 │ │ │ ├── entry.test.js.snap.webpack5 │ │ │ ├── headers.test.js.snap.webpack5 │ │ │ ├── history-api-fallback.test.js.snap.webpack5 │ │ │ ├── host.test.js.snap.webpack5 │ │ │ ├── hot-and-live-reload.test.js.snap.webpack5 │ │ │ ├── ipc.test.js.snap.webpack5 │ │ │ ├── logging.test.js.snap.webpack5 │ │ │ ├── mime-types.test.js.snap.webpack5 │ │ │ ├── module-federation.test.js.snap.webpack5 │ │ │ ├── multi-compiler.test.js.snap.webpack5 │ │ │ ├── on-listening.test.js.snap.webpack5 │ │ │ ├── overlay.test.js.snap.webpack5 │ │ │ ├── port.test.js.snap.webpack5 │ │ │ ├── server-and-client-transport.test.js.snap.webpack5 │ │ │ ├── server.test.js.snap.webpack5 │ │ │ ├── setup-exit-signals.test.js.snap.webpack5 │ │ │ ├── setup-middlewares.test.js.snap.webpack5 │ │ │ ├── static-directory.test.js.snap.webpack5 │ │ │ ├── static-public-path.test.js.snap.webpack5 │ │ │ ├── stats.test.js.snap.webpack5 │ │ │ ├── target.test.js.snap.webpack5 │ │ │ ├── watch-files.test.js.snap.webpack5 │ │ │ ├── web-socket-communication.test.js.snap.webpack5 │ │ │ ├── web-socket-server-url.test.js.snap.webpack5 │ │ │ └── web-socket-server.test.js.snap.webpack5 │ │ ├── allowed-hosts.test.js │ │ ├── api.test.js │ │ ├── app.test.js │ │ ├── bonjour.test.js │ │ ├── built-in-routes.test.js │ │ ├── client-reconnect.test.js │ │ ├── client.test.js │ │ ├── compress.test.js │ │ ├── cross-origin-request.test.js │ │ ├── entry.test.js │ │ ├── headers.test.js │ │ ├── history-api-fallback.test.js │ │ ├── host.test.js │ │ ├── hot-and-live-reload.test.js │ │ ├── ipc.test.js │ │ ├── lazy-compilation.test.js │ │ ├── logging.test.js │ │ ├── mime-types.test.js │ │ ├── module-federation.test.js │ │ ├── multi-compiler.test.js │ │ ├── on-listening.test.js │ │ ├── options-middleware.test.js │ │ ├── overlay.test.js │ │ ├── port.test.js │ │ ├── progress.test.js │ │ ├── range-header.test.js │ │ ├── server-and-client-transport.test.js │ │ ├── server.test.js │ │ ├── setup-exit-signals.test.js │ │ ├── setup-middlewares.test.js │ │ ├── static-directory.test.js │ │ ├── static-public-path.test.js │ │ ├── stats.test.js │ │ ├── target.test.js │ │ ├── watch-files.test.js │ │ ├── web-socket-communication.test.js │ │ ├── web-socket-server-url.test.js │ │ └── web-socket-server.test.js │ ├── fixtures/ │ │ ├── cli/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-colors-default-stats/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-colors-disabled/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-colors-enabled/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-empty-entry/ │ │ │ └── webpack.config.js │ │ ├── cli-entry-as-descriptor/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-multi-entry/ │ │ │ ├── bar.js │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-promise-config/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-single-entry/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-target-config/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── cli-universal-compiler-config/ │ │ │ ├── client.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ ├── client-config/ │ │ │ ├── bar.js │ │ │ ├── foo.js │ │ │ ├── index.html │ │ │ ├── static/ │ │ │ │ └── foo.txt │ │ │ └── webpack.config.js │ │ ├── custom-client/ │ │ │ ├── CustomClientEntry.js │ │ │ ├── CustomClientHotEntry.js │ │ │ └── CustomSockJSClient.js │ │ ├── dev-public-path/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── dev-server/ │ │ │ ├── bar.js │ │ │ ├── client-custom-path-config.js │ │ │ ├── client-default-path-config.js │ │ │ └── foo.js │ │ ├── entry-as-function/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── historyapifallback-2-config/ │ │ │ ├── bar.html │ │ │ ├── foo.js │ │ │ ├── other.html │ │ │ ├── random-file.txt │ │ │ └── webpack.config.js │ │ ├── historyapifallback-3-config/ │ │ │ ├── bar.html │ │ │ ├── foo.js │ │ │ ├── index.html │ │ │ └── webpack.config.js │ │ ├── historyapifallback-config/ │ │ │ ├── bar.html │ │ │ ├── foo.js │ │ │ ├── index.html │ │ │ └── webpack.config.js │ │ ├── https-certificate/ │ │ │ ├── ca.pem │ │ │ ├── server.crt │ │ │ ├── server.key │ │ │ └── server.pfx │ │ ├── lazy-compilation-multiple-entries/ │ │ │ ├── one.js │ │ │ ├── two.js │ │ │ └── webpack.config.js │ │ ├── lazy-compilation-single-entry/ │ │ │ ├── entry.js │ │ │ └── webpack.config.js │ │ ├── mime-types-config/ │ │ │ ├── file.custom │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── module-federation-config/ │ │ │ ├── entry1.js │ │ │ ├── entry2.js │ │ │ ├── webpack.config.js │ │ │ ├── webpack.multi.config.js │ │ │ ├── webpack.object-entry.config.js │ │ │ └── webpack.plugin.js │ │ ├── multi-compiler-one-configuration/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── multi-compiler-two-configurations/ │ │ │ ├── one.js │ │ │ ├── two.js │ │ │ └── webpack.config.js │ │ ├── multi-public-path-config/ │ │ │ ├── bar.js │ │ │ ├── baz.js │ │ │ ├── foo.js │ │ │ ├── test.html │ │ │ └── webpack.config.js │ │ ├── overlay-config/ │ │ │ ├── foo.js │ │ │ ├── trusted-types.webpack.config.js │ │ │ └── webpack.config.js │ │ ├── provide-plugin-custom/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── provide-plugin-default/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── provide-plugin-sockjs-config/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── provide-plugin-ws-config/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── proxy-config/ │ │ │ ├── foo.js │ │ │ ├── index.html │ │ │ └── webpack.config.js │ │ ├── reload-config/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── reload-config-2/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── schema/ │ │ │ └── webpack.config.simple.js │ │ ├── simple-config/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── simple-config-other/ │ │ │ ├── foo.js │ │ │ └── webpack.config.js │ │ ├── ssl/ │ │ │ ├── localhost-cert.pem │ │ │ └── localhost-privkey.pem │ │ ├── static/ │ │ │ ├── foo.js │ │ │ ├── static/ │ │ │ │ └── index.html │ │ │ └── webpack.config.js │ │ ├── static-config/ │ │ │ ├── foo.js │ │ │ ├── other/ │ │ │ │ └── foo.html │ │ │ ├── public/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── example.txt │ │ │ │ │ └── other.txt │ │ │ │ ├── bar/ │ │ │ │ │ └── index.html │ │ │ │ ├── foo.wasm │ │ │ │ ├── index.html │ │ │ │ ├── node_modules/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── other.html │ │ │ ├── static/ │ │ │ │ └── index.html │ │ │ └── webpack.config.js │ │ ├── universal-compiler-config/ │ │ │ ├── browser.js │ │ │ ├── server.js │ │ │ └── webpack.config.js │ │ ├── watch-files-config/ │ │ │ ├── foo.js │ │ │ ├── other/ │ │ │ │ └── foo.html │ │ │ ├── public/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── example.txt │ │ │ │ │ └── other.txt │ │ │ │ ├── bar/ │ │ │ │ │ └── index.html │ │ │ │ └── other.html │ │ │ ├── static/ │ │ │ │ └── index.html │ │ │ └── webpack.config.js │ │ ├── worker-config/ │ │ │ ├── index.js │ │ │ ├── webpack.config.js │ │ │ └── worker.js │ │ └── worker-config-dev-server-false/ │ │ ├── index.js │ │ ├── webpack.config.js │ │ └── worker.js │ ├── helpers/ │ │ ├── ExitOnDonePlugin.js │ │ ├── conditional-test.js │ │ ├── custom-http.js │ │ ├── html-generator-plugin.js │ │ ├── normalize-options.js │ │ ├── puppeteer-constants.js │ │ ├── run-browser.js │ │ ├── session-subscribe.js │ │ ├── snapshotResolver.js │ │ ├── test-bin.js │ │ ├── test-server.js │ │ └── trusted-types-html-generator-plugin.js │ ├── normalize-options.test.js │ ├── ports-map.js │ ├── server/ │ │ ├── open-option.test.js │ │ └── proxy-option.test.js │ └── validate-options.test.js ├── tsconfig.client.json ├── tsconfig.json └── types/ ├── bin/ │ ├── cli-flags.d.ts │ └── webpack-dev-server.d.ts └── lib/ ├── Server.d.ts ├── getPort.d.ts └── servers/ ├── BaseServer.d.ts ├── SockJSServer.d.ts └── WebsocketServer.d.ts