@nisli/core 0.50.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/template.js CHANGED
@@ -152,8 +152,10 @@ function processAttributes(el, values, bindings, disposers) {
152
152
  const index = Number(markerMatch[1]);
153
153
  const handler = values[index];
154
154
  if (typeof handler === 'function') {
155
+ // Cleanup is registered on the EventBinding (removes the installed
156
+ // safeHandler); a manual removeEventListener here would target the
157
+ // original handler and no-op. See bindEvent (UI-33-R).
155
158
  bindEvent(el, eventName, handler, modifiers, bindings);
156
- disposers.push(() => el.removeEventListener(eventName, handler));
157
159
  }
158
160
  }
159
161
  attrsToRemove.push(name);
@@ -378,6 +380,12 @@ function replaceMarkerWithBinding(comment, value, bindings, disposers) {
378
380
  currentNodes.push(el);
379
381
  liveParent.insertBefore(el, endMarker);
380
382
  }
383
+ else if (newValue !== false) {
384
+ // Primitive reached from an initially null/undefined reactive slot.
385
+ const textNode = document.createTextNode(String(newValue));
386
+ currentNodes.push(textNode);
387
+ liveParent.insertBefore(textNode, endMarker);
388
+ }
381
389
  });
382
390
  disposers.push(dispose);
383
391
  }
@@ -425,6 +433,10 @@ function replaceMarkerWithBinding(comment, value, bindings, disposers) {
425
433
  parent.insertBefore(wrapper, endMarker);
426
434
  disposers.push(() => item.dispose());
427
435
  }
436
+ else if (item && typeof item === 'object' && '__type' in item && item.__type === 'factory') {
437
+ const el = mountFactoryResult(item, disposers);
438
+ parent.insertBefore(el, endMarker);
439
+ }
428
440
  else {
429
441
  const textNode = document.createTextNode(String(item));
430
442
  parent.insertBefore(textNode, endMarker);
@@ -469,6 +481,18 @@ function bindAttribute(el, name, value, bindings, disposers) {
469
481
  }
470
482
  return;
471
483
  }
484
+ bindPlainAttribute(el, name, value, bindings, disposers);
485
+ }
486
+ /**
487
+ * Bind a value as a plain HTML attribute via `setAttribute`, reactive when it
488
+ * is a signal, with `html`'s boolean/null semantics (true → present empty,
489
+ * false/null/undefined → absent). NEVER uses `_setProp` — this is the shared
490
+ * attribute path used by both `bindAttribute` (its non-component branch) and
491
+ * `el()`, whose contract is *plain-HTML authoring*: a framework component tag
492
+ * reached this way receives its values as attributes and resolves them through
493
+ * its `attr()`/`boolAttr()` fallbacks, not typed prop setters.
494
+ */
495
+ function bindPlainAttribute(el, name, value, bindings, disposers) {
472
496
  if (isSignal(value)) {
473
497
  const binding = { type: 'attribute', element: el, name };
474
498
  bindings.push(binding);
@@ -593,27 +617,35 @@ function bindInnerHtml(el, value, bindings, disposers) {
593
617
  }
594
618
  }
595
619
  function bindEvent(el, eventName, handler, modifiers, bindings) {
596
- let wrappedHandler = handler;
597
- // Apply modifiers
620
+ // One canonical INSTALLED identity that every removal path references — the
621
+ // EventBinding `dispose` below AND the `once` self-removal. Forward-declared
622
+ // so the modifier wrappers close over it before it is assigned; it is only
623
+ // ever *called* after addEventListener, so the reference always resolves.
624
+ // This identity-mismatch class bit el() dispose, html dispose, and once — a
625
+ // single installed handler that all removals target closes it (UI-33-R2).
626
+ let safeHandler;
627
+ // Compose the modifier chain (inner); safeHandler wraps it in try/catch below.
628
+ let composed = handler;
598
629
  if (modifiers.includes('stop')) {
599
- const original = wrappedHandler;
600
- wrappedHandler = (e) => {
630
+ const inner = composed;
631
+ composed = (e) => {
601
632
  e.stopPropagation();
602
- original(e);
633
+ inner(e);
603
634
  };
604
635
  }
605
636
  if (modifiers.includes('prevent')) {
606
- const original = wrappedHandler;
607
- wrappedHandler = (e) => {
637
+ const inner = composed;
638
+ composed = (e) => {
608
639
  e.preventDefault();
609
- original(e);
640
+ inner(e);
610
641
  };
611
642
  }
612
643
  if (modifiers.includes('once')) {
613
- const original = wrappedHandler;
614
- wrappedHandler = (e) => {
615
- el.removeEventListener(eventName, wrappedHandler);
616
- original(e);
644
+ const inner = composed;
645
+ composed = (e) => {
646
+ // Remove the ACTUALLY-INSTALLED listener, not this intermediate wrapper.
647
+ el.removeEventListener(eventName, safeHandler);
648
+ inner(e);
617
649
  };
618
650
  }
619
651
  // Keyboard modifiers
@@ -625,30 +657,36 @@ function bindEvent(el, eventName, handler, modifiers, bindings) {
625
657
  space: ' ',
626
658
  tab: 'Tab',
627
659
  };
628
- const original = wrappedHandler;
629
- wrappedHandler = (e) => {
660
+ const inner = composed;
661
+ composed = (e) => {
630
662
  if (e.key === keyMap[mod]) {
631
- original(e);
663
+ inner(e);
632
664
  }
633
665
  };
634
666
  }
635
667
  }
636
- // Wrap in try/catch for error containment
637
- const safeHandler = (e) => {
668
+ // Wrap in try/catch for error containment — THIS is the installed handler.
669
+ safeHandler = (e) => {
638
670
  try {
639
- wrappedHandler(e);
671
+ composed(e);
640
672
  }
641
673
  catch (err) {
642
674
  console.error(`Event handler error for '${eventName}':`, err);
643
675
  }
644
676
  };
645
677
  el.addEventListener(eventName, safeHandler);
678
+ // Register cleanup of the ACTUALLY-INSTALLED handler (safeHandler), not the
679
+ // caller's original — their identities differ, so a removeEventListener with
680
+ // the original is a silent no-op (the UI-33-R leak). Both `html` dispose and
681
+ // `el()` dispose iterate bindings and call `dispose`, so this is the single
682
+ // correct cleanup path for event listeners.
646
683
  bindings.push({
647
684
  type: 'event',
648
685
  element: el,
649
686
  eventName,
650
687
  handler: safeHandler,
651
688
  modifiers,
689
+ dispose: () => el.removeEventListener(eventName, safeHandler),
652
690
  });
653
691
  }
654
692
  /**
@@ -775,4 +813,106 @@ export function when(condition, template) {
775
813
  }
776
814
  return condition ? resolveTemplate() : null;
777
815
  }
816
+ /**
817
+ * Build a DOM element by a (possibly *dynamic*) tag name with reactive
818
+ * attributes, event handlers, and children, returned as a mountable/disposable
819
+ * `TemplateResult` — so it composes in an `html` slot:
820
+ * `` html`${el(tag, { class: cls }, children)}` ``.
821
+ *
822
+ * `el()` is the "author plain HTML programmatically" primitive. It exists for
823
+ * the one thing `html` cannot express — a tag name chosen at runtime — while
824
+ * the `html` PARSER STAYS 100% STATIC: `el()` is a separate construction path
825
+ * that shares `html`'s binding helpers (`bindPlainAttribute`, `bindClassAttribute`,
826
+ * `bindEvent`, and the `replaceMarkerWithBinding` slot mounter). Prefer `html`
827
+ * for static tags and typed factories for typed composition.
828
+ *
829
+ * Semantics (ADR 0025 item 11):
830
+ * - Props are **HTML attributes**: `class` uses the reactive class binder, every
831
+ * other key uses `setAttribute` with `html`'s boolean/null rules — NEVER
832
+ * `_setProp`. A framework component tag reached via `el()` receives its values
833
+ * as attributes and resolves them through its `attr()`/`boolAttr()` fallbacks.
834
+ * - `ref` assigns `.current`; `on: { event: handler }` adds auto-removed listeners.
835
+ * - Children accept the full `html` text-slot range — string/number, signals
836
+ * (reactive text or reactive template slot), `TemplateResult`, factory results,
837
+ * and arrays — via the shared slot mounter.
838
+ * - v1 is HTML-only: SVG/namespaced tags (`createElementNS`) are deferred until a
839
+ * real consumer needs them.
840
+ */
841
+ export function el(tag, props = {}, children) {
842
+ let node = null;
843
+ const bindings = [];
844
+ const disposers = [];
845
+ return {
846
+ __templateResult: true,
847
+ mount(host) {
848
+ const element = document.createElement(tag);
849
+ node = element;
850
+ for (const [key, val] of Object.entries(props)) {
851
+ if (val === undefined)
852
+ continue;
853
+ if (key === 'ref') {
854
+ if (isRef(val)) {
855
+ val.current = element;
856
+ disposers.push(() => { val.current = null; });
857
+ }
858
+ continue;
859
+ }
860
+ if (key === 'on') {
861
+ // bindEvent registers correct disposal on the EventBinding (removes
862
+ // the installed safeHandler); no manual removeEventListener (UI-33-R).
863
+ for (const [event, handler] of Object.entries(val)) {
864
+ bindEvent(element, event, handler, [], bindings);
865
+ }
866
+ continue;
867
+ }
868
+ if (key === 'class') {
869
+ bindClassAttribute(element, val, bindings, disposers);
870
+ continue;
871
+ }
872
+ bindPlainAttribute(element, key, val, bindings, disposers);
873
+ }
874
+ // Children reuse html's text-slot mounter: append a comment anchor per
875
+ // child and let replaceMarkerWithBinding resolve its type in place.
876
+ const flat = [];
877
+ flattenChildren(children, flat);
878
+ for (const child of flat) {
879
+ const anchor = document.createComment('');
880
+ element.appendChild(anchor);
881
+ replaceMarkerWithBinding(anchor, child, bindings, disposers);
882
+ }
883
+ host.appendChild(element);
884
+ },
885
+ dispose() {
886
+ for (const d of disposers) {
887
+ try {
888
+ d();
889
+ }
890
+ catch (_) { /* swallow */ }
891
+ }
892
+ disposers.length = 0;
893
+ for (const b of bindings) {
894
+ if ('dispose' in b && b.dispose) {
895
+ try {
896
+ b.dispose();
897
+ }
898
+ catch (_) { /* swallow */ }
899
+ }
900
+ }
901
+ bindings.length = 0;
902
+ node?.parentNode?.removeChild(node);
903
+ node = null;
904
+ },
905
+ };
906
+ }
907
+ function flattenChildren(children, out) {
908
+ if (children === undefined)
909
+ return;
910
+ if (Array.isArray(children)) {
911
+ for (const c of children)
912
+ flattenChildren(c, out);
913
+ }
914
+ else {
915
+ out.push(children);
916
+ }
917
+ }
778
918
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,GAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAY,MAAM,UAAU,CAAC;AAa3C,uEAAuE;AAEvE;;;;GAIG;AACH,MAAM,aAAa,GAAG,IAAI,OAAO,EAA6C,CAAC;AAE/E,uEAAuE;AAEvE,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,WAAW,GAAG,KAAK,CAAC;AAE1B;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,EAAE,CAAC;AACpD,CAAC;AAgDD,uEAAuE;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,IAAI,CAClB,OAA6B,EAC7B,GAAG,MAAiB;IAEpB,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,OAAO;QACL,gBAAgB,EAAE,IAAa;QAE/B,KAAK,CAAC,IAAiB;YACrB,sCAAsC;YACtC,6DAA6D;YAC7D,8DAA8D;YAC9D,gBAAgB;YAChB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,SAAS,GAAkB,IAAI,CAAC;YAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,SAAS,EAAE,CAAC;wBAAC,IAAI,EAAE,KAAK,SAAS;4BAAE,SAAS,GAAG,IAAI,CAAC;oBAAC,CAAC;yBACrD,IAAI,KAAK,EAAE,CAAC;wBACf,IAAI,EAAE,KAAK,GAAG;4BAAE,KAAK,GAAG,KAAK,CAAC;6BACzB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;4BAAE,SAAS,GAAG,EAAE,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBAAC,IAAI,EAAE,KAAK,GAAG;4BAAE,KAAK,GAAG,IAAI,CAAC;oBAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC;gBACb,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACpD,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAqB,CAAC;YAEtE,sDAAsD;YACtD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEnD,kBAAkB;YAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAC3B,CAAC;YACD,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,CAAC;wBAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;gBACnC,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,uEAAuE;AAEvE,SAAS,WAAW,CAClB,IAAU,EACV,MAAiB,EACjB,QAAmB,EACnB,SAAyB;IAEzB,6BAA6B;IAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,IAAe,CAAC;QAC3B,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,4CAA4C;IAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAe,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QACvC,sCAAsC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9D,OAAO,CAAC,sCAAsC;QAChD,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,EAAW,EACX,MAAiB,EACjB,QAAmB,EACnB,SAAyB;IAEzB,kDAAkD;IAClD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,4BAA4B;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtC,sDAAsD;YACtD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAClC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,OAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;oBACxE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAwB,CAAC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChB,KAAa,CAAC,OAAO,GAAG,EAAE,CAAC;oBAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,oDAAoD;QACpD,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,iEAAiE;gBACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,sDAAsD;oBACtD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACnE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnE,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACzD,CAAC,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,OAA6F,EAC7F,SAAyB;IAEzB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,GAA8B,CAAC;YAC1C,EAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAe,EAAE,EAAE;gBAC7C,EAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACL,EAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;QACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,QAAkC,CAAC;YAC/C,IAAI,WAAW,GAAa,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpD,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC;YACF,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACpD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAgB,EAChB,KAAc,EACd,QAAmB,EACnB,SAAyB;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,WAAoB,CAAC;QACzB,OAAO,CAAC,GAAG,EAAE,GAAG,WAAW,GAAI,KAAiC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,iFAAiF;QACjF,wFAAwF;QACxF,MAAM,cAAc,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;eACnE,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,kBAAkB,IAAI,WAAW,CAAC;eACrF,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,QAAQ,IAAI,WAAW,CAAC;eAC3E,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEhC,IAAI,cAAc,EAAE,CAAC;YACnB,qEAAqE;YACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAE5C,IAAI,cAAc,GAAqB,EAAE,CAAC;YAC1C,IAAI,YAAY,GAAW,EAAE,CAAC;YAC9B,yEAAyE;YACzE,yDAAyD;YACzD,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,SAAS,GAAY,YAAY,CAAC;YAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;gBAC1B,MAAM,QAAQ,GAAI,KAAiC,CAAC,KAAK,CAAC;gBAC1D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAExB,mEAAmE;gBACnE,oEAAoE;gBACpE,oEAAoE;gBACpE,qEAAqE;gBACrE,uEAAuE;gBACvE,qEAAqE;gBACrE,6BAA6B;gBAC7B,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO;gBACnC,SAAS,GAAG,QAAQ,CAAC;gBAErB,0BAA0B;gBAC1B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;gBACnC,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;oBAChC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,YAAY,GAAG,EAAE,CAAC;gBAClB,cAAc,GAAG,EAAE,CAAC;gBAEpB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,oCAAoC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,8CAA8C;oBAC9C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;4BACnE,MAAM,GAAG,GAAG,IAAsB,CAAC;4BACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;4BAClD,GAAG,CAAC,KAAK,CAAC,OAAiC,CAAC,CAAC;4BAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;4BACtC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;4BAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACzB,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC9C,CAAC;6BAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,IAAK,IAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BACtG,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAW,EAAE,SAAS,CAAC,CAAC;4BACtD,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACtB,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;wBACzC,CAAC;6BAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;4BAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;4BACvD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC5B,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;wBAC/C,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,kBAAkB,IAAI,QAAQ,EAAE,CAAC;oBAC1E,wBAAwB;oBACxB,MAAM,GAAG,GAAG,QAA0B,CAAC;oBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;oBAClD,GAAG,CAAC,KAAK,CAAC,OAAiC,CAAC,CAAC;oBAC7C,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;oBACvC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzB,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAK,QAAgB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1G,wCAAwC;oBACxC,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAe,EAAE,SAAS,CAAC,CAAC;oBAC1D,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtB,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvC,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;gBAC1B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAE,KAAiC,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,IAAI,KAAK,EAAE,CAAC;QAC7E,oCAAoC;QACpC,MAAM,MAAM,GAAG,KAAuB,CAAC;QACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE5C,yCAAyC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,OAAiC,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAK,KAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1G,wCAAwC;QACxC,MAAM,EAAE,GAAG,kBAAkB,CAAC,KAAY,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,4BAA4B;QAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;gBACjD,IAAuB,CAAC,KAAK,CAAC,OAAiC,CAAC,CAAC;gBAClE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,IAAuB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAC5C,0CAA0C;QAC1C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,mCAAmC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,EAAW,EACX,IAAY,EACZ,KAAc,EACd,QAAmB,EACnB,SAAyB;IAEzB,gEAAgE;IAChE,8DAA8D;IAC9D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,kEAAkE;IAClE,gEAAgE;IAChE,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO;WAC/C,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,OAAQ,EAAU,CAAC,QAAQ,KAAK,UAAU,CAAC;IAEhF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAC3E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;gBACzB,EAAU,CAAC,QAAQ,CAAC,IAAI,EAAG,KAAiC,CAAC,KAAK,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACL,EAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAI,KAAiC,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC7B,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACrC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CACzB,EAAW,EACX,KAAc,EACd,QAAmB,EACnB,SAAyB;IAEzB,oEAAoE;IACpE,8DAA8D;IAC9D,wEAAwE;IACxE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,WAAW,GAAa,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,EAAE;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,4DAA4D;YAC5D,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE9C,kDAAkD;QAClD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,kBAAkB;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;YAC1B,YAAY,CAAE,KAAiC,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,EAAW,EACX,SAAiB,EACjB,KAAc,EACd,QAAmB,EACnB,SAAyB;IAEzB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAI,KAAiC,CAAC,KAAK,CAAC;YACnD,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CACpB,EAAW,EACX,KAAc,EACd,QAAmB,EACnB,SAAyB;IAEzB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAI,KAAiC,CAAC,KAAK,CAAC;YACnD,EAAE,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,EAAW,EACX,SAAiB,EACjB,OAAsB,EACtB,SAAmB,EACnB,QAAmB;IAEnB,IAAI,cAAc,GAAkB,OAAO,CAAC;IAE5C,kBAAkB;IAClB,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC;QAChC,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC5B,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,cAAc,CAAC;QAChC,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC;QAChC,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC5B,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAClD,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,MAAM,GAA2B;gBACrC,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG;gBACV,GAAG,EAAE,KAAK;aACX,CAAC;YACF,MAAM,QAAQ,GAAG,cAAc,CAAC;YAChC,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAC5B,IAAK,CAAmB,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7C,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,WAAW,GAAkB,CAAC,CAAQ,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,cAAc,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,SAAS,IAAI,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC;IAEF,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAE5C,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE;QACX,SAAS;QACT,OAAO,EAAE,WAAW;QACpB,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,uEAAuE;AAEvE,sCAAsC;AACtC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAW9C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,IAAI,CAClB,KAA0B,EAC1B,KAAkD,EAClD,UAAsF;IAEtF,IAAI,WAAoB,CAAC;IACzB,IAAI,SAAkB,CAAC;IACvB,IAAI,OAAO,GAAmB,EAAE,CAAC;IACjC,IAAI,aAAa,GAAwB,IAAI,CAAC;IAE9C,OAAO;QACL,gBAAgB,EAAE,IAAa;QAE/B,KAAK,CAAC,IAAiB;YACrB,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACnD,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE5B,aAAa,GAAG,MAAM,CAAC,GAAG,EAAE;gBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7B,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,EAAE,CAAC;gBAChB,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;KACF,CAAC;IAEF,SAAS,SAAS,CAAC,QAAa;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAmB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,kCAAkC;gBAClC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;gBACjC,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,iEAAiE;gBACjE,2DAA2D;gBAC3D,sDAAsD;gBACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAc,CAAC;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;gBACnC,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC3D,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC/B,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,oEAAoE;QACpE,wDAAwD;QACxD,IAAI,MAAM,GAAS,WAAW,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YACvC,IAAI,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,OAAO,GAAG,UAAU,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,SAAkB,EAClB,QAAiD;IAEjD,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzD,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,wEAAwE;QACxE,OAAO,QAAQ,CAAC,GAAG,EAAE,CAClB,SAAqC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * vite-hmr/plugin.ts — Dev-only Vite plugin for Nisli HMR (ADR 0110).
3
3
  *
4
- * Mirrors the esbuild plugin's component-wrapping (shared `transformSource`),
4
+ * Vite plugin that wraps component() calls (shared `transformSource`),
5
5
  * but drives re-mount through Vite's native `import.meta.hot` instead of an SSE
6
6
  * hub + whole-bundle re-import. For each source module that imports `component`
7
7
  * from `@nisli/core`, it:
@@ -8,7 +8,7 @@
8
8
  * - `__drain()` is called from the module's `import.meta.hot.accept` hook to
9
9
  * apply the queued re-mounts.
10
10
  *
11
- * Unlike the esbuild path, Vite re-evaluates ONLY the changed module against a
11
+ * Vite re-evaluates ONLY the changed module against a
12
12
  * STABLE framework module — so there is exactly one `@nisli/core` instance and
13
13
  * no lifecycle/reactive split-brain. This module just re-exports the
14
14
  * transport-agnostic registry core.
@@ -8,7 +8,7 @@
8
8
  * - `__drain()` is called from the module's `import.meta.hot.accept` hook to
9
9
  * apply the queued re-mounts.
10
10
  *
11
- * Unlike the esbuild path, Vite re-evaluates ONLY the changed module against a
11
+ * Vite re-evaluates ONLY the changed module against a
12
12
  * STABLE framework module — so there is exactly one `@nisli/core` instance and
13
13
  * no lifecycle/reactive split-brain. This module just re-exports the
14
14
  * transport-agnostic registry core.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nisli/core",
3
- "version": "0.50.0",
3
+ "version": "0.52.0",
4
4
  "description": "A reactive web component framework. Signals, templates, dependency injection — no build step, no virtual DOM, no dependencies.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -22,18 +22,6 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "default": "./dist/index.js"
24
24
  },
25
- "./esbuild-hmr": {
26
- "types": "./dist/esbuild-hmr/plugin.d.ts",
27
- "default": "./dist/esbuild-hmr/plugin.js"
28
- },
29
- "./esbuild-hmr/runtime": {
30
- "types": "./dist/esbuild-hmr/runtime.d.ts",
31
- "default": "./dist/esbuild-hmr/runtime.js"
32
- },
33
- "./esbuild-hmr/server": {
34
- "types": "./dist/esbuild-hmr/server.d.ts",
35
- "default": "./dist/esbuild-hmr/server.js"
36
- },
37
25
  "./vite-hmr": {
38
26
  "types": "./dist/vite-hmr/plugin.d.ts",
39
27
  "default": "./dist/vite-hmr/plugin.js"
@@ -43,17 +31,8 @@
43
31
  "default": "./dist/vite-hmr/runtime.js"
44
32
  }
45
33
  },
46
- "peerDependencies": {
47
- "esbuild": "*"
48
- },
49
- "peerDependenciesMeta": {
50
- "esbuild": {
51
- "optional": true
52
- }
53
- },
54
34
  "devDependencies": {
55
- "@types/node": "^22.0.0",
56
- "esbuild": "^0.28.1"
35
+ "@types/node": "^22.0.0"
57
36
  },
58
37
  "files": [
59
38
  "dist",
@@ -1,154 +0,0 @@
1
- /**
2
- * esbuild-hmr/plugin.ts — Dev-only esbuild plugin for Nisli component HMR.
3
- *
4
- * DEV-ONLY, build-time (Node). Reachable only via `@nisli/core/esbuild-hmr`,
5
- * never from the runtime `.` entry (ADR 0021, Ruling 1). It is added to the
6
- * esbuild plugin list ONLY on the `--watch` path; `pnpm build` (no watch) never
7
- * sees it, so prod is byte-identical by construction (Ruling 5).
8
- *
9
- * `esbuild` is an OPTIONAL peerDependency. To keep `@nisli/core` dependency-free
10
- * we do NOT `import` esbuild here — we type the plugin against a minimal local
11
- * structural surface. The host build script supplies the real esbuild.
12
- *
13
- * What it does:
14
- * 1. onLoad (Ruling 2): for author modules that import `component` from
15
- * `@nisli/core`, rewrite the import so `component(tag, setup, opts)` routes
16
- * `setup` through the runtime tag-keyed registry's STABLE indirection thunk.
17
- * The real `FrameworkComponent` thus captures a thunk that always reads the
18
- * current setup — no class swap, no tag re-definition.
19
- * 2. onEnd (Ruling 4 transport): diff the metafile outputs against the previous
20
- * build and broadcast a `change` payload ({added, removed, updated}) over
21
- * SSE so the browser client can escalate (css/js/reload).
22
- * 3. Inject the browser dev client (`@nisli/core/esbuild-hmr/runtime` +
23
- * `connect({ path })`) via esbuild's `inject` option pointed at a VIRTUAL
24
- * shim module, so the runtime is RESOLVED + BUNDLED into the output (no
25
- * author HTML/JS change needed). We deliberately do NOT use `banner`: a
26
- * banner is raw passthrough text that esbuild neither resolves nor bundles,
27
- * so a bare `import … from "@nisli/core/esbuild-hmr/runtime"` would leak
28
- * verbatim into the output and the browser would throw
29
- * `Failed to resolve module specifier` (no import map). `inject` runs the
30
- * shim through onResolve/onLoad so the runtime is inlined at build time, and
31
- * esbuild applies `inject` ONLY to JS modules — never to file/copy-loaded
32
- * entries (e.g. the viewer's `logo.svg`). Verified empirically against
33
- * esbuild 0.28.1.
34
- */
35
- import type { ChangeBroadcaster } from './server.js';
36
- /** A subset of esbuild's `OnLoadArgs` we rely on. */
37
- interface OnLoadArgs {
38
- path: string;
39
- }
40
- /** A subset of esbuild's `OnLoadResult`. */
41
- interface OnLoadResult {
42
- contents: string;
43
- loader?: 'ts' | 'tsx' | 'js' | 'jsx';
44
- /** Directory used to resolve imports from a virtual module (the client shim). */
45
- resolveDir?: string;
46
- }
47
- /** A subset of esbuild's `OnResolveArgs`. */
48
- interface OnResolveArgs {
49
- path: string;
50
- }
51
- /** A subset of esbuild's `OnResolveResult`. */
52
- interface OnResolveResult {
53
- path: string;
54
- namespace?: string;
55
- }
56
- /** A subset of esbuild's metafile. */
57
- interface Metafile {
58
- outputs: Record<string, {
59
- bytes: number;
60
- hash?: string;
61
- }>;
62
- }
63
- /** A subset of esbuild's `BuildResult`. */
64
- interface BuildResult {
65
- metafile?: Metafile;
66
- }
67
- /** The hooks surface of esbuild's `PluginBuild` we use. */
68
- interface PluginBuild {
69
- initialOptions: {
70
- banner?: {
71
- js?: string;
72
- } & Record<string, string | undefined>;
73
- /** Files esbuild injects into every JS module (never file/copy entries). */
74
- inject?: string[];
75
- /** esbuild's working directory; anchors virtual-module resolution. */
76
- absWorkingDir?: string;
77
- [key: string]: unknown;
78
- };
79
- onResolve(options: {
80
- filter: RegExp;
81
- namespace?: string;
82
- }, callback: (args: OnResolveArgs) => OnResolveResult | undefined): void;
83
- onLoad(options: {
84
- filter: RegExp;
85
- namespace?: string;
86
- }, callback: (args: OnLoadArgs) => OnLoadResult | undefined): void;
87
- onEnd(callback: (result: BuildResult) => void): void;
88
- }
89
- /** esbuild's `Plugin` shape (structural). */
90
- export interface EsbuildPlugin {
91
- name: string;
92
- setup(build: PluginBuild): void;
93
- }
94
- export interface NisliHmrPluginOptions {
95
- /**
96
- * Broadcaster used to push `change` events to connected clients. Supply the
97
- * one returned by `createHmrServer()` (server.ts), or any object with a
98
- * `broadcast(payload)` method (e.g. an esbuild `serve` adapter).
99
- */
100
- broadcaster: ChangeBroadcaster;
101
- /**
102
- * The module specifier author code imports `component` from.
103
- * Defaults to `@nisli/core`.
104
- */
105
- coreSpecifier?: string;
106
- /**
107
- * The specifier of the browser dev runtime, inlined into the bundle via the
108
- * injected client shim. Defaults to `@nisli/core/esbuild-hmr/runtime`.
109
- */
110
- runtimeSpecifier?: string;
111
- /**
112
- * The SSE endpoint the browser dev client connects to. Baked into the injected
113
- * shim as `connect({ path: clientUrl })`. Defaults to `/esbuild` (esbuild's
114
- * client convention, same-origin).
115
- *
116
- * Set this to an ABSOLUTE URL when the SSE hub (server.ts) runs on a different
117
- * origin than the page server — e.g. `http://localhost:3031/esbuild` when the
118
- * hub listens on :3031 and the page is served by Hono on :3040. The hub already
119
- * sends `Access-Control-Allow-Origin: '*'`, so cross-origin SSE works.
120
- */
121
- clientUrl?: string;
122
- /** Files to transform. Defaults to TS/JS sources (excludes node_modules). */
123
- filter?: RegExp;
124
- }
125
- /**
126
- * `transformSource` (wrap `component()` call sites) now lives in the shared
127
- * `../hmr/transform.js` and is re-exported here so this module's surface — and
128
- * the tests that import it from './plugin.js' — are unchanged (ADR 0110).
129
- */
130
- import { transformSource } from '../hmr/transform.js';
131
- export { transformSource };
132
- /**
133
- * Source of the virtual client shim that esbuild's `inject` pulls into every JS
134
- * module. Because it is `inject`ed (not a `banner`), esbuild RESOLVES the
135
- * `runtimeSpecifier` import and BUNDLES `connect` inline — no bare specifier
136
- * survives in the output (the 0.49.0 bug). `clientUrl` is baked in so the
137
- * client targets the right SSE origin. Pure function — exported for testing.
138
- */
139
- export declare function clientShimSource(runtimeSpecifier: string, clientUrl: string): string;
140
- /**
141
- * Create the dev-only Nisli HMR esbuild plugin. Add it to `plugins` ONLY when
142
- * building with `--watch`; never on the prod build path.
143
- */
144
- export declare function nisliHmrPlugin(options: NisliHmrPluginOptions): EsbuildPlugin;
145
- /**
146
- * Diff two output-hash maps into an esbuild-shaped change payload.
147
- * Returns `null` for the very first build (no previous baseline).
148
- * Exported for testing.
149
- */
150
- export declare function diffOutputs(prev: Map<string, string> | null, next: Map<string, string>): {
151
- added: string[];
152
- removed: string[];
153
- updated: string[];
154
- } | null;