hotstaq 0.9.21 → 0.9.23

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.
@@ -274,9 +274,23 @@ export declare class HotStaq implements IHotStaq {
274
274
  */
275
275
  static onBeforeNavigate: (path: string) => boolean | Promise<boolean>;
276
276
  /**
277
- * Event fired after SPA navigation completes.
277
+ * Event fired after an SPA navigation has rendered the new content,
278
+ * but before HotStaq executes that content's inline <script> tags.
279
+ *
280
+ * Return `false` to take ownership of running those scripts yourself —
281
+ * HotStaq will then skip its own execution pass. Returning `true`,
282
+ * `undefined`, or having no handler at all lets HotStaq execute them
283
+ * (the default), which is what makes inline page scripts run on SPA
284
+ * navigation. See `onAfterUseOutput` for the full-render equivalent.
285
+ */
286
+ static onAfterNavigate: (path: string) => void | boolean | Promise<void | boolean>;
287
+ /**
288
+ * Event fired after `useOutput` has rendered a full document, but before
289
+ * HotStaq executes that document's inline <script> tags. Same return-value
290
+ * gate as `onAfterNavigate`: return `false` to run the scripts yourself;
291
+ * otherwise HotStaq executes them.
278
292
  */
279
- static onAfterNavigate: (path: string) => void | Promise<void>;
293
+ static onAfterUseOutput: (output: string) => void | boolean | Promise<void | boolean>;
280
294
  /**
281
295
  * Override the framework's default 404 rendering.
282
296
  *
@@ -448,6 +462,35 @@ export declare class HotStaq implements IHotStaq {
448
462
  * - anything else → false
449
463
  */
450
464
  static parseBoolean(value: any): boolean;
465
+ /**
466
+ * Check whether a value is a valid RFC-4122 UUID (versions 1-5).
467
+ *
468
+ * This is the same strict check the `UUID` validator enforces, exposed as
469
+ * a reusable boolean helper so client code can validate ids (e.g. a
470
+ * `?id=` URL parameter) without catching the validator's thrown HttpError.
471
+ */
472
+ static isUUID(value: any): boolean;
473
+ /**
474
+ * The strict RFC-4122 (versions 1-5) UUID pattern shared by `isUUID` and
475
+ * the `UUID` validator.
476
+ */
477
+ static uuidRegex: RegExp;
478
+ /**
479
+ * Remove elements already in the document that share an id with `subtree`
480
+ * (or any of its descendants).
481
+ *
482
+ * A component placed via `documentSelector` lands OUTSIDE its own <tag> —
483
+ * e.g. <admin-edit> appends its modal to <body>. On SPA navigation the
484
+ * <tag> upgrades again and appends a SECOND copy with the same id, leaving
485
+ * a stale orphan that id-based lookups (document.getElementById,
486
+ * querySelector('#id'), bootstrap.Modal.getInstance('#id')) resolve to
487
+ * instead of the live one. Call this with the incoming subtree BEFORE it is
488
+ * inserted so only the fresh copy survives.
489
+ *
490
+ * `subtree` is expected to still be detached at call time; the contains()
491
+ * guard keeps it (and anything inside it) safe regardless.
492
+ */
493
+ static removeStaleDuplicateIds(subtree: HTMLElement): void;
451
494
  /**
452
495
  * Sanitize an HTML string.
453
496
  */
@@ -719,6 +762,22 @@ export declare class HotStaq implements IHotStaq {
719
762
  * runtime-decision 404 logic, set `HotStaq.onRouteNotFound`.
720
763
  */
721
764
  static displayDefault404(path: string): void;
765
+ /**
766
+ * Execute the <script> elements found within `root`.
767
+ *
768
+ * A <script> inserted into the DOM via `innerHTML` is inert — the HTML
769
+ * spec only runs a script when it is *inserted into the document with
770
+ * its content already present*. So after we swap new markup in (full
771
+ * render or SPA partial swap), its inline scripts never ran. For each
772
+ * not-yet-executed <script>, build a fresh element, copy `type`/`src`
773
+ * and — for inline scripts — set `.text` BEFORE insertion, then swap it
774
+ * in so the browser runs it.
775
+ *
776
+ * Each executed script is tagged `data-hotstaq-executed` and skipped on
777
+ * any later pass, so calling this twice (or alongside an app that runs
778
+ * some scripts itself) never double-fires one.
779
+ */
780
+ protected static executeInlineScripts(root: Document | HTMLElement): Promise<void>;
722
781
  /**
723
782
  * Replace the current HTML page with the output.
724
783
  * This is meant for web browser use only.
@@ -1 +1 @@
1
- {"version":3,"file":"HotStaq.d.ts","sourceRoot":"","sources":["../../src/HotStaq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HotStaq.d.ts","sourceRoot":"","sources":["../../src/HotStaq.ts"],"names":[],"mappings":"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"}
@@ -343,8 +343,7 @@ class HotStaq {
343
343
  throw new HotHttpError_1.HttpError(`UUID parameter '${key}' must be a string.`, 400);
344
344
  }
345
345
  HotStaq.baseValidator(options, key, validation, value, 100);
346
- const uuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
347
- if (uuidRegex.test(value) === false)
346
+ if (HotStaq.isUUID(value) === false)
348
347
  throw new HotHttpError_1.HttpError(`UUID parameter '${key}' must be a valid UUID.`, 400);
349
348
  return ({ value: value });
350
349
  };
@@ -571,6 +570,60 @@ class HotStaq {
571
570
  }
572
571
  return (false);
573
572
  }
573
+ /**
574
+ * Check whether a value is a valid RFC-4122 UUID (versions 1-5).
575
+ *
576
+ * This is the same strict check the `UUID` validator enforces, exposed as
577
+ * a reusable boolean helper so client code can validate ids (e.g. a
578
+ * `?id=` URL parameter) without catching the validator's thrown HttpError.
579
+ */
580
+ static isUUID(value) {
581
+ if (typeof (value) !== "string")
582
+ return (false);
583
+ return (HotStaq.uuidRegex.test(value));
584
+ }
585
+ /**
586
+ * Remove elements already in the document that share an id with `subtree`
587
+ * (or any of its descendants).
588
+ *
589
+ * A component placed via `documentSelector` lands OUTSIDE its own <tag> —
590
+ * e.g. <admin-edit> appends its modal to <body>. On SPA navigation the
591
+ * <tag> upgrades again and appends a SECOND copy with the same id, leaving
592
+ * a stale orphan that id-based lookups (document.getElementById,
593
+ * querySelector('#id'), bootstrap.Modal.getInstance('#id')) resolve to
594
+ * instead of the live one. Call this with the incoming subtree BEFORE it is
595
+ * inserted so only the fresh copy survives.
596
+ *
597
+ * `subtree` is expected to still be detached at call time; the contains()
598
+ * guard keeps it (and anything inside it) safe regardless.
599
+ */
600
+ static removeStaleDuplicateIds(subtree) {
601
+ if ((subtree == null) || (typeof (document) === "undefined"))
602
+ return;
603
+ let ids = [];
604
+ if ((subtree.id != null) && (subtree.id !== ""))
605
+ ids.push(subtree.id);
606
+ let descendants = subtree.querySelectorAll("[id]");
607
+ for (let iIdx = 0; iIdx < descendants.length; iIdx++) {
608
+ let id = descendants[iIdx].getAttribute("id");
609
+ if ((id != null) && (id !== ""))
610
+ ids.push(id);
611
+ }
612
+ for (let iIdx = 0; iIdx < ids.length; iIdx++) {
613
+ let id = ids[iIdx];
614
+ // getElementById returns the first match in document order; loop so
615
+ // multiple accumulated orphans all get cleared. The guard bounds it.
616
+ let guard = 0;
617
+ let existing = document.getElementById(id);
618
+ while ((existing != null) && (existing !== subtree) &&
619
+ (subtree.contains(existing) === false) && (guard < 100)) {
620
+ if (existing.parentNode != null)
621
+ existing.parentNode.removeChild(existing);
622
+ existing = document.getElementById(id);
623
+ guard++;
624
+ }
625
+ }
626
+ }
574
627
  /**
575
628
  * Sanitize an HTML string.
576
629
  */
@@ -1858,6 +1911,67 @@ class HotStaq {
1858
1911
  "</div></body></html>";
1859
1912
  HotStaq.useOutput(html);
1860
1913
  }
1914
+ /**
1915
+ * Execute the <script> elements found within `root`.
1916
+ *
1917
+ * A <script> inserted into the DOM via `innerHTML` is inert — the HTML
1918
+ * spec only runs a script when it is *inserted into the document with
1919
+ * its content already present*. So after we swap new markup in (full
1920
+ * render or SPA partial swap), its inline scripts never ran. For each
1921
+ * not-yet-executed <script>, build a fresh element, copy `type`/`src`
1922
+ * and — for inline scripts — set `.text` BEFORE insertion, then swap it
1923
+ * in so the browser runs it.
1924
+ *
1925
+ * Each executed script is tagged `data-hotstaq-executed` and skipped on
1926
+ * any later pass, so calling this twice (or alongside an app that runs
1927
+ * some scripts itself) never double-fires one.
1928
+ */
1929
+ static executeInlineScripts(root) {
1930
+ return __awaiter(this, void 0, void 0, function* () {
1931
+ let tmpScripts = root.getElementsByTagName("script");
1932
+ if (tmpScripts.length < 1)
1933
+ return;
1934
+ // Snapshot first — the loop mutates the DOM while iterating.
1935
+ let scripts = [];
1936
+ for (let i = 0; i < tmpScripts.length; i++)
1937
+ scripts.push(tmpScripts[i]);
1938
+ for (let i = 0; i < scripts.length; i++) {
1939
+ let orig = scripts[i];
1940
+ if (orig.getAttribute("data-hotstaq-executed") != null)
1941
+ continue;
1942
+ let src = orig.getAttribute("src");
1943
+ let hasSrc = (src != null) && (src !== "");
1944
+ let content = orig.textContent || "";
1945
+ // Nothing to run — just mark it so we don't revisit it.
1946
+ if ((hasSrc === false) && (content === "")) {
1947
+ orig.setAttribute("data-hotstaq-executed", "1");
1948
+ continue;
1949
+ }
1950
+ let s = document.createElement("script");
1951
+ let type = orig.getAttribute("type");
1952
+ if ((type != null) && (type !== ""))
1953
+ s.setAttribute("type", type);
1954
+ if (hasSrc === true)
1955
+ s.setAttribute("src", src);
1956
+ else
1957
+ // MUST be set before insertion, otherwise the script is inert.
1958
+ s.text = content;
1959
+ s.setAttribute("data-hotstaq-executed", "1");
1960
+ yield new Promise((resolve2, reject2) => {
1961
+ s.onload = () => { resolve2(); };
1962
+ s.onerror = () => { resolve2(); };
1963
+ if (orig.parentNode != null)
1964
+ orig.parentNode.replaceChild(s, orig);
1965
+ else
1966
+ document.head.appendChild(s);
1967
+ // Inline scripts execute synchronously on insertion; only
1968
+ // src scripts need to wait for onload.
1969
+ if (hasSrc === false)
1970
+ resolve2();
1971
+ });
1972
+ }
1973
+ });
1974
+ }
1861
1975
  /**
1862
1976
  * Replace the current HTML page with the output.
1863
1977
  * This is meant for web browser use only.
@@ -1870,50 +1984,27 @@ class HotStaq {
1870
1984
  let child = parser.parseFromString(output, "text/html");
1871
1985
  let htmlObj = document.getElementsByTagName('html')[0];
1872
1986
  htmlObj.innerHTML = child.getElementsByTagName('html')[0].innerHTML;
1873
- // Thanks to newfurniturey at:
1874
- // https://stackoverflow.com/questions/22945884/domparser-appending-script-tags-to-head-body-but-not-executing
1875
- let tmpScripts = document.getElementsByTagName('script');
1876
- if (tmpScripts.length > 0) {
1877
- // push all of the document's script tags into an array
1878
- // (to prevent dom manipulation while iterating over dom nodes)
1879
- let scripts = [];
1880
- for (let i = 0; i < tmpScripts.length; i++) {
1881
- scripts.push(tmpScripts[i]);
1882
- }
1883
- // iterate over all script tags and create duplicate tags for each
1884
- for (let i = 0; i < scripts.length; i++) {
1885
- let s = document.createElement('script');
1886
- // add the new node to the page
1887
- scripts[i].parentNode.appendChild(s);
1888
- // remove the original (non-executing) node from the page
1889
- scripts[i].parentNode.removeChild(scripts[i]);
1890
- yield new Promise((resolve2, reject2) => {
1891
- s.onload = () => {
1892
- resolve2();
1893
- };
1894
- let hasSrc = false;
1895
- if (scripts[i].getAttribute("src") != null) {
1896
- if (scripts[i].getAttribute("src") !== "") {
1897
- s.setAttribute("src", scripts[i].getAttribute("src"));
1898
- hasSrc = true;
1899
- }
1900
- }
1901
- if (scripts[i].getAttribute("type") != null) {
1902
- if (scripts[i].getAttribute("type") !== "")
1903
- s.setAttribute("type", scripts[i].getAttribute("type"));
1904
- }
1905
- s.innerHTML = scripts[i].innerHTML;
1906
- if (hasSrc === false)
1907
- resolve2();
1908
- });
1909
- }
1910
- }
1911
1987
  if (HotStaq.dispatchReadyEvents === true) {
1912
1988
  document.dispatchEvent(new Event("DOMContentLoaded"));
1913
1989
  window.dispatchEvent(new Event("load"));
1914
1990
  }
1915
1991
  if (HotStaq.onReadyEvent != null)
1916
1992
  HotStaq.onReadyEvent(output);
1993
+ // Run the rendered document's inline scripts last — and let the app
1994
+ // gate it. onAfterUseOutput returning false means the app will run
1995
+ // them itself, so HotStaq stands down. Otherwise HotStaq executes
1996
+ // them (the default), which is what makes inline scripts in a
1997
+ // useOutput-rendered page actually run.
1998
+ let runScripts = true;
1999
+ if (HotStaq.onAfterUseOutput != null) {
2000
+ let result = HotStaq.onAfterUseOutput(output);
2001
+ if (result instanceof Promise)
2002
+ result = yield result;
2003
+ if (result === false)
2004
+ runScripts = false;
2005
+ }
2006
+ if (runScripts === true)
2007
+ yield HotStaq.executeInlineScripts(document);
1917
2008
  });
1918
2009
  }
1919
2010
  /**
@@ -2032,49 +2123,27 @@ class HotStaq {
2032
2123
  contentHTML = doc.body.innerHTML;
2033
2124
  // Replace only the target content.
2034
2125
  targetEl.innerHTML = contentHTML;
2035
- // Execute any script tags that were in the new content.
2036
- let tmpScripts = targetEl.getElementsByTagName('script');
2037
- if (tmpScripts.length > 0) {
2038
- let scripts = [];
2039
- for (let i = 0; i < tmpScripts.length; i++)
2040
- scripts.push(tmpScripts[i]);
2041
- for (let i = 0; i < scripts.length; i++) {
2042
- let s = document.createElement('script');
2043
- scripts[i].parentNode.appendChild(s);
2044
- scripts[i].parentNode.removeChild(scripts[i]);
2045
- yield new Promise((resolve2, reject2) => {
2046
- s.onload = () => {
2047
- resolve2();
2048
- };
2049
- let hasSrc = false;
2050
- if (scripts[i].getAttribute("src") != null) {
2051
- if (scripts[i].getAttribute("src") !== "") {
2052
- s.setAttribute("src", scripts[i].getAttribute("src"));
2053
- hasSrc = true;
2054
- }
2055
- }
2056
- if (scripts[i].getAttribute("type") != null) {
2057
- if (scripts[i].getAttribute("type") !== "")
2058
- s.setAttribute("type", scripts[i].getAttribute("type"));
2059
- }
2060
- s.innerHTML = scripts[i].innerHTML;
2061
- if (hasSrc === false)
2062
- resolve2();
2063
- });
2064
- }
2065
- }
2066
2126
  if (HotStaq.dispatchReadyEvents === true) {
2067
2127
  document.dispatchEvent(new Event("DOMContentLoaded"));
2068
2128
  window.dispatchEvent(new Event("load"));
2069
2129
  }
2070
2130
  if (HotStaq.onReadyEvent != null)
2071
2131
  HotStaq.onReadyEvent(output);
2072
- // Fire onAfterNavigate hook.
2132
+ // Fire onAfterNavigate hook, then execute the new content's inline
2133
+ // scripts — unless the hook returned false, in which case the app is
2134
+ // running them itself and HotStaq stands down. Running them after the
2135
+ // hook lets the app prep the DOM first; running them at all is the
2136
+ // fix for inline page scripts silently failing on SPA navigation.
2137
+ let runScripts = true;
2073
2138
  if (HotStaq.onAfterNavigate != null) {
2074
2139
  let result = HotStaq.onAfterNavigate(path);
2075
2140
  if (result instanceof Promise)
2076
- yield result;
2141
+ result = yield result;
2142
+ if (result === false)
2143
+ runScripts = false;
2077
2144
  }
2145
+ if (runScripts === true)
2146
+ yield HotStaq.executeInlineScripts(targetEl);
2078
2147
  });
2079
2148
  }
2080
2149
  /**
@@ -2518,7 +2587,7 @@ exports.HotStaq = HotStaq;
2518
2587
  /**
2519
2588
  * The current version of HotStaq.
2520
2589
  */
2521
- HotStaq.version = "0.9.21";
2590
+ HotStaq.version = "0.9.23";
2522
2591
  /**
2523
2592
  * Indicates if this is a web build.
2524
2593
  */
@@ -2577,9 +2646,23 @@ HotStaq.spaEnabled = false;
2577
2646
  */
2578
2647
  HotStaq.onBeforeNavigate = null;
2579
2648
  /**
2580
- * Event fired after SPA navigation completes.
2649
+ * Event fired after an SPA navigation has rendered the new content,
2650
+ * but before HotStaq executes that content's inline <script> tags.
2651
+ *
2652
+ * Return `false` to take ownership of running those scripts yourself —
2653
+ * HotStaq will then skip its own execution pass. Returning `true`,
2654
+ * `undefined`, or having no handler at all lets HotStaq execute them
2655
+ * (the default), which is what makes inline page scripts run on SPA
2656
+ * navigation. See `onAfterUseOutput` for the full-render equivalent.
2581
2657
  */
2582
2658
  HotStaq.onAfterNavigate = null;
2659
+ /**
2660
+ * Event fired after `useOutput` has rendered a full document, but before
2661
+ * HotStaq executes that document's inline <script> tags. Same return-value
2662
+ * gate as `onAfterNavigate`: return `false` to run the scripts yourself;
2663
+ * otherwise HotStaq executes them.
2664
+ */
2665
+ HotStaq.onAfterUseOutput = null;
2583
2666
  /**
2584
2667
  * Override the framework's default 404 rendering.
2585
2668
  *
@@ -2643,6 +2726,11 @@ HotStaq.valids = {};
2643
2726
  * has failed.
2644
2727
  */
2645
2728
  HotStaq.postValidate = null;
2729
+ /**
2730
+ * The strict RFC-4122 (versions 1-5) UUID pattern shared by `isUUID` and
2731
+ * the `UUID` validator.
2732
+ */
2733
+ HotStaq.uuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
2646
2734
  HotStaq.setupValidators();
2647
2735
  if (typeof (document) !== "undefined") {
2648
2736
  // @ts-ignore