@merkur/cli
Version:
Merkur is tiny and extensible library for creating front-end microservices.
29 lines (20 loc) • 751 B
JavaScript
import { WebSocketClient } from './WebSocketClient.mjs';
import { reload } from './reload.mjs';
import { hmr } from './hmr.mjs';
const { __merkur_dev__ } = window;
const webSocket = new WebSocketClient(__merkur_dev__.merkurConfig.socketServer);
__merkur_dev__.webSocket = webSocket;
__merkur_dev__.widgets = [];
webSocket.init();
webSocket.subscribe(reload);
webSocket.subscribe(hmr);
addEventListener('load', function hookMerkurCreate() {
if (window?.__merkur__?.create) {
const originalMerkurCreate = window.__merkur__.create;
window.__merkur__.create = async function devClientHook(...rest) {
const widget = await originalMerkurCreate(...rest);
__merkur_dev__.widgets.push(widget);
return widget;
};
}
});