UNPKG

@merkur/cli

Version:

Merkur is tiny and extensible library for creating front-end microservices.

29 lines (20 loc) 751 B
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; }; } });