You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
876 B
31 lines
876 B
/** |
|
* 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]; |
|
|
|
client.useCustomOverlay({ |
|
showProblems: function showProblems(type, data) { |
|
const error = { |
|
data: data, |
|
type: type, |
|
}; |
|
|
|
messageHandler(error); |
|
}, |
|
clear: function clear() { |
|
messageHandler({ type: 'ok' }); |
|
}, |
|
}); |
|
} |
|
|
|
module.exports = { init: initWHMEventSource };
|
|
|