[wps-size]: https://badgen.net/packagephobia/install/webpack-plugin-serve?label=size&color=green [wps-size-url]: https://packagephobia.now.sh/result?p=webpack-plugin-serve [ws-size]: https://badgen.net/packagephobia/install/webpack-serve?label=size&color=orange [ws-size-url]: https://packagephobia.now.sh/result?p=webpack-serve [wds-size]: https://badgen.net/packagephobia/install/webpack-dev-server?label=size&color=red [wds-size-url]: https://packagephobia.now.sh/result?p=webpack-dev-server ## Feature Comparison The grid below represents a comparison of features from the available and most used Webpack development servers. #### Key ✅ - Feature Supported
✳️ - Best Feature Support
ℹ️ - Supported, with caveats
⏺ - Feature Not Needed
| | webpack-plugin-serve | webpack-dev-server | webpack-serve | | :--- | :---: | :---: | :---: | | Allowed Hosts | ⏺ | ✅ | | | Bonjour Broadcasting | ℹ️ | ✅ | ℹ️ | | Configurable Host | ✳️ | ✅ | ✅ | | Configurable Client Host | ✳️ | ✅ | | | Configurable Port | ✳️ | ✅ | ✅ | | Custom Headers | ℹ️ | ✅ | ℹ️ | | Custom Middleware | ✳️ | ℹ️ | ✅ | | History Fallback | ✅ | ✅ | ✅ | | HTTPS | ✅ | ✅ | ✅ | | HTTP/2 | ✅ | | ✅ | | HTTP/2 SSL | ✅ | | | | Hot Module Replacement | ✳️ | ✅ | ✅ | | Lazy Mode | | ✅ | | | Live Reload | ✅ | | | | Open in Browser | ✳️ | ✅ | ✅ | | Request Compression | ✅ | ✅ | ℹ️ | | Progress Overlay | ✳️ | ✅ | ℹ️ | | Proxying | ✅ | ✅ | ℹ️ | | Serverless WebSockets | ✅ | | | | Status Overlay | ✳️ | ✅ | ℹ️ | | Unix Sockets | | ✅ | | | WebSocket Reconnect | ✅ | ✅ | ✅ | | Package Size | [![size][wps-size]][wps-size-url] | [![size][wds-size]][wds-size-url] | [![size][ws-size]][ws-size-url] ## Standout Features - Fully functional **Hot Module Replacement with MultiCompilers**. `webpack-plugin-serve` is the only development server for Webpack which applies HMR updates from multiple compilers/configurations to the page _without a page reload_. - Host and Port can be set to a `Promise`, which allows for dynamic host and port resolution before the server starts. - The client (browser) WebSocket host can be set, allowing full customization for contain environments. - Fully customizable middleware, including execution order of built-in middleware. Users may implement whichever middleware they desire in the order which works best for them. - Leverages the `open` module and all of it's available options, without restriction, for opening the target application in the browser automatically. - A themed, UX-consistent Build Status (errors, warnings) overlay with minimized beacon mode for monitoring the status of builds during editing. - A themed, UX-consistent set of Build Progress overlay+indicator, with minimal option. - Superior serverless WebSocket connectivity.