12345678910111213141516171819202122232425262728293031 |
- /**
- * The hard-coded singleton key for webpack-hot-middleware's client instance.
- *
- * [Ref](https://github.com/webpack-contrib/webpack-hot-middleware/blob/cb29abb9dde435a1ac8e9b19f82d7d36b1093198/client.js#L152)
- */
- const singletonKey = '__webpack_hot_middleware_reporter__';
- /**
- * Initializes a socket server for HMR for webpack-hot-middleware.
- * @param {function(*): void} messageHandler A handler to consume Webpack compilation messages.
- * @returns {void}
- */
- function initWHMEventSource(messageHandler) {
- const client = window[singletonKey] || require('webpack-hot-middleware/client');
- client.useCustomOverlay({
- showProblems: function showProblems(type, data) {
- const error = {
- type,
- data,
- };
- messageHandler(error);
- },
- clear: function clear() {
- messageHandler({ type: 'ok' });
- },
- });
- }
- module.exports = initWHMEventSource;
|