@qwik.dev/core 2.0.0-beta.32 → 2.0.0-beta.35
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/backpatch/index.mjs +2 -2
- package/dist/backpatch/package.json +1 -1
- package/dist/backpatch-executor.debug.js +12 -6
- package/dist/backpatch-executor.js +1 -1
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +26 -22
- package/dist/core-internal.d.ts +137 -5
- package/dist/core.min.mjs +9 -2
- package/dist/core.mjs +672 -321
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +3274 -3131
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.d.ts +2 -2
- package/dist/optimizer.mjs +2392 -1565
- package/dist/preloader.mjs +1 -293
- package/dist/server-modules.d.ts +1 -0
- package/dist/server.d.ts +0 -54
- package/dist/server.mjs +194 -620
- package/dist/server.prod.mjs +404 -864
- package/dist/testing/index.d.ts +3 -1
- package/dist/testing/index.mjs +1128 -3723
- package/dist/testing/package.json +1 -1
- package/dist/worker/index.d.mts +21 -0
- package/dist/worker/index.mjs +318 -0
- package/dist/worker/package.json +9 -0
- package/dist/worker/worker.js +13 -0
- package/dist/worker/worker.node.js +15 -0
- package/dist/worker/worker.shared.js +63 -0
- package/handlers.mjs +18 -1
- package/package.json +10 -4
- package/public.d.ts +5 -0
- package/worker.d.ts +2 -0
package/dist/server.prod.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/server 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/server 2.0.0-beta.35-dev+4603135
|
|
4
4
|
* Copyright QwikDev. All Rights Reserved.
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
|
|
@@ -9,48 +9,46 @@
|
|
|
9
9
|
import { setPlatform as setPlatform2 } from "@qwik.dev/core";
|
|
10
10
|
|
|
11
11
|
// packages/qwik/src/server/platform.ts
|
|
12
|
-
import { setPlatform as
|
|
12
|
+
import { setPlatform as Mr } from "@qwik.dev/core";
|
|
13
13
|
|
|
14
|
-
import { isDev as
|
|
14
|
+
import { isDev as isDev6 } from "@qwik.dev/core/build";
|
|
15
15
|
|
|
16
16
|
// packages/qwik/src/core/client/util-mapArray.ts
|
|
17
17
|
import { isDev as isDev2 } from "@qwik.dev/core/build";
|
|
18
18
|
|
|
19
19
|
// packages/qwik/src/core/shared/error/assert.ts
|
|
20
|
-
import { isDev as
|
|
20
|
+
import { isDev as ue } from "@qwik.dev/core/build";
|
|
21
21
|
|
|
22
22
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
var re = ee.qDev !== false;
|
|
23
|
+
var qDev = globalThis.qDev !== false;
|
|
26
24
|
|
|
27
|
-
var qInspector =
|
|
25
|
+
var qInspector = globalThis.qInspector === true;
|
|
28
26
|
|
|
29
|
-
var
|
|
27
|
+
var qDynamicPlatform = globalThis.qDynamicPlatform !== false;
|
|
30
28
|
|
|
31
|
-
var
|
|
29
|
+
var qTest = globalThis.qTest === true;
|
|
32
30
|
|
|
33
|
-
var
|
|
31
|
+
var qRuntimeQrl = globalThis.qRuntimeQrl === true;
|
|
34
32
|
|
|
35
33
|
// packages/qwik/src/core/shared/utils/log.ts
|
|
36
|
-
var
|
|
34
|
+
var STYLE = qDev ? `background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;` : "";
|
|
37
35
|
|
|
38
36
|
var throwErrorAndStop = (e, ...t) => {
|
|
39
|
-
const n =
|
|
37
|
+
const n = fe(false, e, ...t);
|
|
40
38
|
debugger;
|
|
41
39
|
throw n;
|
|
42
40
|
};
|
|
43
41
|
|
|
44
42
|
var logErrorAndStop = (e, ...t) => {
|
|
45
|
-
const n =
|
|
43
|
+
const n = fe(qDev, e, ...t);
|
|
46
44
|
debugger;
|
|
47
45
|
return n;
|
|
48
46
|
};
|
|
49
47
|
|
|
50
|
-
var
|
|
48
|
+
var fe = (e, t, ...n) => {
|
|
51
49
|
const r = t instanceof Error ? t : new Error(t);
|
|
52
|
-
!
|
|
53
|
-
e && !
|
|
50
|
+
!qTest && console.error("%cQWIK ERROR", STYLE, r.message, ...n, r.stack);
|
|
51
|
+
e && !qTest && setTimeout(() => {
|
|
54
52
|
throw r;
|
|
55
53
|
}, 0);
|
|
56
54
|
return r;
|
|
@@ -60,7 +58,7 @@ var he = (e, t, ...n) => {
|
|
|
60
58
|
var ASSERT_DISCLAIMER = "Internal assert, this is likely caused by a bug in Qwik: ";
|
|
61
59
|
|
|
62
60
|
function assertTrue(e, t, ...n) {
|
|
63
|
-
if (
|
|
61
|
+
if (ue) {
|
|
64
62
|
if (e === true) {
|
|
65
63
|
return;
|
|
66
64
|
}
|
|
@@ -69,7 +67,7 @@ function assertTrue(e, t, ...n) {
|
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
// packages/qwik/src/core/client/util-mapArray.ts
|
|
72
|
-
var
|
|
70
|
+
var ae = (e, t, n) => {
|
|
73
71
|
isDev2 && assertTrue(n % 2 === 0, "Expecting even number.");
|
|
74
72
|
let r = n >> 1;
|
|
75
73
|
let s = e.length - 2 >> 1;
|
|
@@ -88,8 +86,8 @@ var de = (e, t, n) => {
|
|
|
88
86
|
return r << 1 ^ -1;
|
|
89
87
|
};
|
|
90
88
|
|
|
91
|
-
var
|
|
92
|
-
const i =
|
|
89
|
+
var he = (e, t, n, r, s = false) => {
|
|
90
|
+
const i = ae(e, t, r);
|
|
93
91
|
if (i >= 0) {
|
|
94
92
|
if (n == null && !s) {
|
|
95
93
|
e.splice(i, 2);
|
|
@@ -102,7 +100,7 @@ var pe = (e, t, n, r, s = false) => {
|
|
|
102
100
|
};
|
|
103
101
|
|
|
104
102
|
var mapApp_remove = (e, t, n) => {
|
|
105
|
-
const r =
|
|
103
|
+
const r = ae(e, t, n);
|
|
106
104
|
let s = null;
|
|
107
105
|
if (r >= 0) {
|
|
108
106
|
s = e[r + 1];
|
|
@@ -112,8 +110,8 @@ var mapApp_remove = (e, t, n) => {
|
|
|
112
110
|
return s;
|
|
113
111
|
};
|
|
114
112
|
|
|
115
|
-
var
|
|
116
|
-
const r =
|
|
113
|
+
var de = (e, t, n) => {
|
|
114
|
+
const r = ae(e, t, n);
|
|
117
115
|
if (r >= 0) {
|
|
118
116
|
return e[r + 1];
|
|
119
117
|
} else {
|
|
@@ -121,20 +119,23 @@ var $e = (e, t, n) => {
|
|
|
121
119
|
}
|
|
122
120
|
};
|
|
123
121
|
|
|
124
|
-
var
|
|
122
|
+
var pe = (e, t, n) => ae(e, t, n) >= 0;
|
|
123
|
+
|
|
124
|
+
// packages/qwik/src/core/shared/error/error.ts
|
|
125
|
+
import { isDev as isDev3 } from "@qwik.dev/core/build";
|
|
125
126
|
|
|
126
127
|
// packages/qwik/src/core/shared/utils/types.ts
|
|
127
|
-
var
|
|
128
|
+
var ye = e => typeof e === "object" && e !== null;
|
|
128
129
|
|
|
129
|
-
var
|
|
130
|
+
var me = e => Array.isArray(e);
|
|
130
131
|
|
|
131
|
-
var
|
|
132
|
+
var we = e => typeof e === "string";
|
|
132
133
|
|
|
133
134
|
// packages/qwik/src/core/shared/error/error.ts
|
|
134
|
-
var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#
|
|
135
|
+
var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#q";
|
|
135
136
|
|
|
136
137
|
var codeToText = (e, ...t) => {
|
|
137
|
-
if (
|
|
138
|
+
if (isDev3) {
|
|
138
139
|
const n = [ "Error while serializing class or style attributes",
|
|
139
140
|
// 0
|
|
140
141
|
"Scheduler not found",
|
|
@@ -210,7 +211,7 @@ var codeToText = (e, ...t) => {
|
|
|
210
211
|
if (t.length) {
|
|
211
212
|
r = r.replaceAll(/{{(\d+)}}/g, (e, n) => {
|
|
212
213
|
let r = t[n];
|
|
213
|
-
if (r &&
|
|
214
|
+
if (r && ye(r) && r.constructor === Object) {
|
|
214
215
|
r = JSON.stringify(r).slice(0, 50);
|
|
215
216
|
}
|
|
216
217
|
return r;
|
|
@@ -222,23 +223,18 @@ var codeToText = (e, ...t) => {
|
|
|
222
223
|
}
|
|
223
224
|
};
|
|
224
225
|
|
|
225
|
-
var
|
|
226
|
+
var ve = (e, t = []) => {
|
|
226
227
|
const n = codeToText(e, ...t);
|
|
227
228
|
return logErrorAndStop(n, ...t);
|
|
228
229
|
};
|
|
229
230
|
|
|
230
231
|
// packages/qwik/src/core/shared/qrl/qrl-utils.ts
|
|
231
|
-
import { isDev as
|
|
232
|
+
import { isDev as isDev4 } from "@qwik.dev/core/build";
|
|
232
233
|
|
|
233
|
-
var
|
|
234
|
-
|
|
235
|
-
var Ia = e => {
|
|
236
|
-
const t = e.lastIndexOf("_") + 1;
|
|
237
|
-
return e.slice(t);
|
|
238
|
-
};
|
|
234
|
+
var ge = "<sync>";
|
|
239
235
|
|
|
240
236
|
// packages/qwik/src/core/shared/types.ts
|
|
241
|
-
var
|
|
237
|
+
var Se = "q:type";
|
|
242
238
|
|
|
243
239
|
// packages/qwik/src/core/shared/vnode-data-types.ts
|
|
244
240
|
var VNodeDataSeparator = {
|
|
@@ -462,25 +458,25 @@ function encodeVNodeDataString(e) {
|
|
|
462
458
|
}
|
|
463
459
|
|
|
464
460
|
// packages/qwik/src/core/shared/utils/markers.ts
|
|
465
|
-
var
|
|
461
|
+
var xe = "q:renderFn";
|
|
466
462
|
|
|
467
|
-
var
|
|
463
|
+
var Pe = "q:slot";
|
|
468
464
|
|
|
469
465
|
var QSlotParent = "q:sparent";
|
|
470
466
|
|
|
471
|
-
var
|
|
467
|
+
var Ae = "q:style";
|
|
472
468
|
|
|
473
|
-
var
|
|
469
|
+
var Me = "style[q\\:style]";
|
|
474
470
|
|
|
475
471
|
var QStyleSSelector = "style[q\\:sstyle]";
|
|
476
472
|
|
|
477
|
-
var
|
|
473
|
+
var Ne = Me + "," + QStyleSSelector;
|
|
478
474
|
|
|
479
|
-
var
|
|
475
|
+
var Ie = "q:sstyle";
|
|
480
476
|
|
|
481
|
-
var
|
|
477
|
+
var Ce = "q:ctx";
|
|
482
478
|
|
|
483
|
-
var
|
|
479
|
+
var je = "q:brefs";
|
|
484
480
|
|
|
485
481
|
var QRenderAttr = "q:render";
|
|
486
482
|
|
|
@@ -488,7 +484,7 @@ var QRuntimeAttr = "q:runtime";
|
|
|
488
484
|
|
|
489
485
|
var QVersionAttr = "q:version";
|
|
490
486
|
|
|
491
|
-
var
|
|
487
|
+
var Fe = "q:base";
|
|
492
488
|
|
|
493
489
|
var QLocaleAttr = "q:locale";
|
|
494
490
|
|
|
@@ -498,52 +494,58 @@ var QInstanceAttr = "q:instance";
|
|
|
498
494
|
|
|
499
495
|
var Le = "q:container-island";
|
|
500
496
|
|
|
501
|
-
var
|
|
497
|
+
var De = "/" + Le;
|
|
502
498
|
|
|
503
|
-
var
|
|
499
|
+
var Ve = "q:ignore";
|
|
504
500
|
|
|
505
|
-
var
|
|
501
|
+
var We = "/" + Ve;
|
|
506
502
|
|
|
507
|
-
var
|
|
503
|
+
var Ue = "q:container";
|
|
508
504
|
|
|
509
|
-
var
|
|
505
|
+
var Xe = "/" + Ue;
|
|
510
506
|
|
|
511
|
-
var
|
|
507
|
+
var ze = "q:template";
|
|
512
508
|
|
|
513
509
|
var QContainerSelector = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
|
|
514
510
|
|
|
515
|
-
var
|
|
511
|
+
var Ye = "";
|
|
516
512
|
|
|
517
513
|
var ELEMENT_ID = "q:id";
|
|
518
514
|
|
|
519
|
-
var
|
|
515
|
+
var Ge = "q:key";
|
|
520
516
|
|
|
521
|
-
var
|
|
517
|
+
var Ke = "q:props";
|
|
522
518
|
|
|
523
|
-
var
|
|
519
|
+
var Ze = "q:seq";
|
|
524
520
|
|
|
525
|
-
var
|
|
521
|
+
var tr = "q:seqIdx";
|
|
526
522
|
|
|
527
523
|
var ELEMENT_BACKPATCH_DATA = "qwik/backpatch";
|
|
528
524
|
|
|
529
|
-
var
|
|
525
|
+
var Q_PREFIX = "q:";
|
|
530
526
|
|
|
531
|
-
var
|
|
527
|
+
var nr = "q:p";
|
|
532
528
|
|
|
533
|
-
var
|
|
529
|
+
var er = "q:ps";
|
|
534
530
|
|
|
535
|
-
var
|
|
531
|
+
var rr = ":";
|
|
536
532
|
|
|
537
|
-
var
|
|
533
|
+
var sr = rr + "on";
|
|
538
534
|
|
|
539
|
-
var
|
|
535
|
+
var ir = rr + "onIdx";
|
|
536
|
+
|
|
537
|
+
var or = rr + "onFlags";
|
|
538
|
+
|
|
539
|
+
var lr = Q_PREFIX + "cursorBoundary";
|
|
540
|
+
|
|
541
|
+
var ur = rr + "nearestCursorBoundary";
|
|
540
542
|
|
|
541
543
|
var cr = ":";
|
|
542
544
|
|
|
543
545
|
var fr = "dangerouslySetInnerHTML";
|
|
544
546
|
|
|
545
547
|
// packages/qwik/src/core/shared/utils/promises.ts
|
|
546
|
-
import { isDev as
|
|
548
|
+
import { isDev as isDev5, isServer as oe } from "@qwik.dev/core/build";
|
|
547
549
|
|
|
548
550
|
var hr = 100;
|
|
549
551
|
|
|
@@ -552,16 +554,16 @@ var dr = e => !!e && typeof e == "object" && typeof e.then === "function";
|
|
|
552
554
|
var $r = (e, t) => dr(e) ? e.then(t) : t(e);
|
|
553
555
|
|
|
554
556
|
var checkError = e => {
|
|
555
|
-
if (
|
|
557
|
+
if (oe && e instanceof ReferenceError && e.message.includes("window")) {
|
|
556
558
|
e.message = 'It seems like you forgot to add "if (isBrowser) {...}" here:' + e.message;
|
|
557
559
|
}
|
|
558
560
|
};
|
|
559
561
|
|
|
560
|
-
var
|
|
562
|
+
var yr = e => {
|
|
561
563
|
throw e;
|
|
562
564
|
};
|
|
563
565
|
|
|
564
|
-
function n(e, t =
|
|
566
|
+
function n(e, t = yr) {
|
|
565
567
|
let n = false;
|
|
566
568
|
let r;
|
|
567
569
|
try {
|
|
@@ -574,7 +576,7 @@ function n(e, t = mr) {
|
|
|
574
576
|
if (n) {
|
|
575
577
|
return r;
|
|
576
578
|
}
|
|
577
|
-
|
|
579
|
+
isDev5 && checkError(r);
|
|
578
580
|
return t(r);
|
|
579
581
|
}
|
|
580
582
|
let s = hr;
|
|
@@ -597,7 +599,7 @@ function n(e, t = mr) {
|
|
|
597
599
|
}
|
|
598
600
|
}
|
|
599
601
|
}
|
|
600
|
-
|
|
602
|
+
isDev5 && checkError(n);
|
|
601
603
|
return t(n);
|
|
602
604
|
};
|
|
603
605
|
return n ? r.catch(i) : i(r);
|
|
@@ -620,27 +622,27 @@ function isPreventDefault(e) {
|
|
|
620
622
|
}
|
|
621
623
|
|
|
622
624
|
// packages/qwik/src/core/shared/utils/unitless_number.ts
|
|
623
|
-
var
|
|
625
|
+
var Sr = /* @__PURE__ */ new Set([ "animationIterationCount", "aspectRatio", "borderImageOutset", "borderImageSlice", "borderImageWidth", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "columns", "flex", "flexGrow", "flexShrink", "gridArea", "gridRow", "gridRowEnd", "gridRowStart", "gridColumn", "gridColumnEnd", "gridColumnStart", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "scale", "tabSize", "widows", "zIndex", "zoom", "MozAnimationIterationCount",
|
|
624
626
|
// Known Prefixed Properties
|
|
625
627
|
"MozBoxFlex",
|
|
626
628
|
// TODO: Remove these since they shouldn't be used in modern code
|
|
627
629
|
"msFlex", "msFlexPositive", "WebkitAnimationIterationCount", "WebkitBoxFlex", "WebkitBoxOrdinalGroup", "WebkitColumnCount", "WebkitColumns", "WebkitFlex", "WebkitFlexGrow", "WebkitFlexShrink", "WebkitLineClamp" ]);
|
|
628
630
|
|
|
629
|
-
var isUnitlessNumber = e =>
|
|
631
|
+
var isUnitlessNumber = e => Sr.has(e);
|
|
630
632
|
|
|
631
633
|
// packages/qwik/src/core/shared/utils/styles.ts
|
|
632
|
-
var
|
|
634
|
+
var Er = e => {
|
|
633
635
|
if (!e) {
|
|
634
636
|
return "";
|
|
635
637
|
}
|
|
636
|
-
if (
|
|
638
|
+
if (we(e)) {
|
|
637
639
|
return e.trim();
|
|
638
640
|
}
|
|
639
641
|
const t = [];
|
|
640
|
-
if (
|
|
642
|
+
if (me(e)) {
|
|
641
643
|
for (let n = 0; n < e.length; n++) {
|
|
642
644
|
const r = e[n];
|
|
643
|
-
const s =
|
|
645
|
+
const s = Er(r);
|
|
644
646
|
if (s) {
|
|
645
647
|
t.push(s);
|
|
646
648
|
}
|
|
@@ -655,15 +657,15 @@ var qr = e => {
|
|
|
655
657
|
return t.join(" ");
|
|
656
658
|
};
|
|
657
659
|
|
|
658
|
-
var
|
|
660
|
+
var xr = e => e.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
659
661
|
|
|
660
662
|
var stringifyStyle = e => {
|
|
661
663
|
if (e == null) {
|
|
662
664
|
return "";
|
|
663
665
|
}
|
|
664
666
|
if (typeof e == "object") {
|
|
665
|
-
if (
|
|
666
|
-
throw
|
|
667
|
+
if (me(e)) {
|
|
668
|
+
throw ve(0 /* stringifyClassOrStyle */ , [ e, "style" ]);
|
|
667
669
|
} else {
|
|
668
670
|
const t = [];
|
|
669
671
|
for (const n in e) {
|
|
@@ -673,7 +675,7 @@ var stringifyStyle = e => {
|
|
|
673
675
|
if (n.startsWith("--")) {
|
|
674
676
|
t.push(n + ":" + r);
|
|
675
677
|
} else {
|
|
676
|
-
t.push(
|
|
678
|
+
t.push(xr(n) + ":" + qr(n, r));
|
|
677
679
|
}
|
|
678
680
|
}
|
|
679
681
|
}
|
|
@@ -688,7 +690,7 @@ var serializeBooleanOrNumberAttribute = e => e != null ? String(e) : null;
|
|
|
688
690
|
|
|
689
691
|
function r(e, t, n) {
|
|
690
692
|
if (isClassAttr(e)) {
|
|
691
|
-
const e =
|
|
693
|
+
const e = Er(t);
|
|
692
694
|
t = n ? n + (e.length ? " " + e : e) : e;
|
|
693
695
|
} else if (e === "style") {
|
|
694
696
|
t = stringifyStyle(t);
|
|
@@ -706,7 +708,7 @@ function isEnumeratedBooleanAttribute(e) {
|
|
|
706
708
|
return isAriaAttribute(e) || [ "spellcheck", "draggable", "contenteditable" ].includes(e);
|
|
707
709
|
}
|
|
708
710
|
|
|
709
|
-
var
|
|
711
|
+
var qr = (e, t) => {
|
|
710
712
|
if (typeof t === "number" && t !== 0 && !isUnitlessNumber(e)) {
|
|
711
713
|
return t + "px";
|
|
712
714
|
}
|
|
@@ -717,130 +719,11 @@ function isAriaAttribute(e) {
|
|
|
717
719
|
return e.startsWith("aria-");
|
|
718
720
|
}
|
|
719
721
|
|
|
720
|
-
// packages/qwik/src/core/preloader/queue.ts
|
|
721
|
-
import { isBrowser as isBrowser3 } from "@qwik.dev/core/build";
|
|
722
|
-
|
|
723
|
-
// packages/qwik/src/core/preloader/bundle-graph.ts
|
|
724
|
-
import { isServer as isServer4 } from "@qwik.dev/core/build";
|
|
725
|
-
|
|
726
|
-
// packages/qwik/src/core/shared/platform/platform.ts
|
|
727
|
-
import { isServer as isServer2 } from "@qwik.dev/core/build";
|
|
728
|
-
|
|
729
|
-
var Er = () => ({
|
|
730
|
-
isServer: isServer2,
|
|
731
|
-
importSymbol(e, t, n) {
|
|
732
|
-
if (isServer2) {
|
|
733
|
-
const e = Ia(n);
|
|
734
|
-
const t = globalThis.__qwik_reg_symbols?.get(e);
|
|
735
|
-
if (t) {
|
|
736
|
-
return t;
|
|
737
|
-
}
|
|
738
|
-
throw Se(6 /* dynamicImportFailed */ , [ n ]);
|
|
739
|
-
}
|
|
740
|
-
if (!t) {
|
|
741
|
-
throw Se(14 /* qrlMissingChunk */ , [ n ]);
|
|
742
|
-
}
|
|
743
|
-
if (!e) {
|
|
744
|
-
throw Se(13 /* qrlMissingContainer */ , [ t, n ]);
|
|
745
|
-
}
|
|
746
|
-
const r = Tr(e.ownerDocument, e, t).toString();
|
|
747
|
-
const s = new URL(r);
|
|
748
|
-
s.hash = "";
|
|
749
|
-
const i = s.href;
|
|
750
|
-
return import(
|
|
751
|
-
/* @vite-ignore */
|
|
752
|
-
i).then(e => e[n]);
|
|
753
|
-
},
|
|
754
|
-
raf: e => new Promise(t => {
|
|
755
|
-
requestAnimationFrame(() => {
|
|
756
|
-
t(e());
|
|
757
|
-
});
|
|
758
|
-
}),
|
|
759
|
-
chunkForSymbol(e, t) {
|
|
760
|
-
return [ e, t ?? "_" ];
|
|
761
|
-
}
|
|
762
|
-
});
|
|
763
|
-
|
|
764
|
-
var Tr = (e, t, n) => {
|
|
765
|
-
const r = e.baseURI;
|
|
766
|
-
const s = new URL(t.getAttribute(ze) ?? r, r);
|
|
767
|
-
return new URL(n, s);
|
|
768
|
-
};
|
|
769
|
-
|
|
770
|
-
var Pr = /* @__PURE__ */ Er();
|
|
771
|
-
|
|
772
|
-
var Or = () => {
|
|
773
|
-
if (ie) {
|
|
774
|
-
return Pr.isServer;
|
|
775
|
-
}
|
|
776
|
-
return false;
|
|
777
|
-
};
|
|
778
|
-
|
|
779
|
-
// packages/qwik/src/core/shared/platform/next-tick.ts
|
|
780
|
-
var Ar = e => {
|
|
781
|
-
let t;
|
|
782
|
-
if (typeof MessageChannel !== "undefined") {
|
|
783
|
-
const n = new MessageChannel;
|
|
784
|
-
n.port1.onmessage = () => e();
|
|
785
|
-
t = () => n.port2.postMessage(null);
|
|
786
|
-
} else {
|
|
787
|
-
t = () => setTimeout(e);
|
|
788
|
-
}
|
|
789
|
-
return t;
|
|
790
|
-
};
|
|
791
|
-
|
|
792
|
-
// packages/qwik/src/core/preloader/constants.ts
|
|
793
|
-
import { isServer as isServer3 } from "@qwik.dev/core/build";
|
|
794
|
-
|
|
795
|
-
var Mr = import.meta.env.TEST ? !Or() : !isServer3;
|
|
796
|
-
|
|
797
|
-
var Nr = Mr ? document : void 0;
|
|
798
|
-
|
|
799
|
-
var config = {
|
|
800
|
-
t: false,
|
|
801
|
-
i: 25,
|
|
802
|
-
v: .65
|
|
803
|
-
};
|
|
804
|
-
|
|
805
|
-
var Ir = Mr && Nr.createElement("link").relList?.supports?.("modulepreload") ? "modulePreload" : "preload";
|
|
806
|
-
|
|
807
|
-
var loadStart = performance.now();
|
|
808
|
-
|
|
809
|
-
var Fr = /\.[mc]?js$/;
|
|
810
|
-
|
|
811
|
-
var Dr = 1e3 / 60;
|
|
812
|
-
|
|
813
|
-
// packages/qwik/src/core/preloader/types.ts
|
|
814
|
-
var BundleImportState_None = 0;
|
|
815
|
-
|
|
816
|
-
var BundleImportState_Queued = 1;
|
|
817
|
-
|
|
818
|
-
var BundleImportState_Preload = 2;
|
|
819
|
-
|
|
820
|
-
var BundleImportState_Alias = 3;
|
|
821
|
-
|
|
822
|
-
var BundleImportState_Loaded = 4;
|
|
823
|
-
|
|
824
722
|
// packages/qwik/src/core/preloader/bundle-graph.ts
|
|
825
723
|
var base;
|
|
826
724
|
|
|
827
725
|
var graph;
|
|
828
726
|
|
|
829
|
-
var isBrowser2 = import.meta.env.TEST ? !Or() : !isServer4;
|
|
830
|
-
|
|
831
|
-
var makeBundle = (e, t) => ({
|
|
832
|
-
zt: e,
|
|
833
|
-
At: Fr.test(e) ? BundleImportState_None : BundleImportState_Alias,
|
|
834
|
-
Lt: shouldResetFactor ? t?.map(e => ({
|
|
835
|
-
...e,
|
|
836
|
-
Kt: 1
|
|
837
|
-
})) : t,
|
|
838
|
-
Ut: 1,
|
|
839
|
-
Wt: performance.now(),
|
|
840
|
-
Qt: 0,
|
|
841
|
-
Vt: 0
|
|
842
|
-
});
|
|
843
|
-
|
|
844
727
|
var parseBundleGraph = e => {
|
|
845
728
|
const t = /* @__PURE__ */ new Map;
|
|
846
729
|
let n = 0;
|
|
@@ -854,9 +737,9 @@ var parseBundleGraph = e => {
|
|
|
854
737
|
o = -i / 10;
|
|
855
738
|
} else {
|
|
856
739
|
s.push({
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
740
|
+
Dt: e[i],
|
|
741
|
+
Jt: o,
|
|
742
|
+
Qt: 1
|
|
860
743
|
});
|
|
861
744
|
}
|
|
862
745
|
n++;
|
|
@@ -866,34 +749,7 @@ var parseBundleGraph = e => {
|
|
|
866
749
|
return t;
|
|
867
750
|
};
|
|
868
751
|
|
|
869
|
-
var
|
|
870
|
-
let t = Lr.get(e);
|
|
871
|
-
if (!t) {
|
|
872
|
-
let n;
|
|
873
|
-
if (graph) {
|
|
874
|
-
n = graph.get(e);
|
|
875
|
-
if (!n) {
|
|
876
|
-
return;
|
|
877
|
-
}
|
|
878
|
-
if (!n.length) {
|
|
879
|
-
n = void 0;
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
t = makeBundle(e, n);
|
|
883
|
-
Lr.set(e, t);
|
|
884
|
-
}
|
|
885
|
-
return t;
|
|
886
|
-
};
|
|
887
|
-
|
|
888
|
-
var initPreloader = (e, t) => {
|
|
889
|
-
if (t) {
|
|
890
|
-
if ("debug" in t) {
|
|
891
|
-
config.t = !!t.debug;
|
|
892
|
-
}
|
|
893
|
-
if (typeof t.preloadProbability === "number") {
|
|
894
|
-
config.v = 1 - t.preloadProbability;
|
|
895
|
-
}
|
|
896
|
-
}
|
|
752
|
+
var initPreloader = e => {
|
|
897
753
|
if (base != null || !e) {
|
|
898
754
|
return;
|
|
899
755
|
}
|
|
@@ -901,295 +757,8 @@ var initPreloader = (e, t) => {
|
|
|
901
757
|
graph = parseBundleGraph(e);
|
|
902
758
|
};
|
|
903
759
|
|
|
904
|
-
// packages/qwik/src/core/preloader/queue.ts
|
|
905
|
-
var Lr = /* @__PURE__ */ new Map;
|
|
906
|
-
|
|
907
|
-
var shouldResetFactor;
|
|
908
|
-
|
|
909
|
-
var queueDirty;
|
|
910
|
-
|
|
911
|
-
var Ur = 0;
|
|
912
|
-
|
|
913
|
-
var Wr = [];
|
|
914
|
-
|
|
915
|
-
var Qr = Ar(Fa);
|
|
916
|
-
|
|
917
|
-
var Vr = Ar(i);
|
|
918
|
-
|
|
919
|
-
var Jr = false;
|
|
920
|
-
|
|
921
|
-
var Br = false;
|
|
922
|
-
|
|
923
|
-
var Hr = false;
|
|
924
|
-
|
|
925
|
-
var Yr = import.meta.env.TEST ? !Or() : isBrowser3;
|
|
926
|
-
|
|
927
|
-
var Xr = [];
|
|
928
|
-
|
|
929
|
-
var log = (...e) => {
|
|
930
|
-
console.log(`Preloader ${performance.now() - loadStart}ms ${Ur}/${Wr.length} queued>`, ...e);
|
|
931
|
-
};
|
|
932
|
-
|
|
933
|
-
var resetQueue = () => {
|
|
934
|
-
Lr.clear();
|
|
935
|
-
queueDirty = false;
|
|
936
|
-
shouldResetFactor = true;
|
|
937
|
-
Ur = 0;
|
|
938
|
-
Wr.length = 0;
|
|
939
|
-
Xr.length = 0;
|
|
940
|
-
Jr = false;
|
|
941
|
-
Br = false;
|
|
942
|
-
Hr = false;
|
|
943
|
-
};
|
|
944
|
-
|
|
945
|
-
var sortQueue = () => {
|
|
946
|
-
if (queueDirty) {
|
|
947
|
-
Wr.sort((e, t) => e.Ut - t.Ut);
|
|
948
|
-
queueDirty = false;
|
|
949
|
-
}
|
|
950
|
-
};
|
|
951
|
-
|
|
952
|
-
var getQueue = () => {
|
|
953
|
-
sortQueue();
|
|
954
|
-
let e = .4;
|
|
955
|
-
const t = [];
|
|
956
|
-
for (let n = 0; n < Wr.length; n++) {
|
|
957
|
-
const r = Wr[n];
|
|
958
|
-
const s = Math.round((1 - r.Ut) * 10);
|
|
959
|
-
if (s !== e) {
|
|
960
|
-
e = s;
|
|
961
|
-
t.push(e);
|
|
962
|
-
}
|
|
963
|
-
t.push(r.zt);
|
|
964
|
-
}
|
|
965
|
-
return t;
|
|
966
|
-
};
|
|
967
|
-
|
|
968
|
-
function Fa() {
|
|
969
|
-
Jr = false;
|
|
970
|
-
if (!Wr.length) {
|
|
971
|
-
return;
|
|
972
|
-
}
|
|
973
|
-
sortQueue();
|
|
974
|
-
const e = performance.now() + Dr;
|
|
975
|
-
let t = false;
|
|
976
|
-
while (Wr.length) {
|
|
977
|
-
const n = Wr[0];
|
|
978
|
-
const r = n.Ut;
|
|
979
|
-
const s = 1 - r;
|
|
980
|
-
const i = graph ? config.i :
|
|
981
|
-
// While the graph is not available, we limit to 5 preloads
|
|
982
|
-
5;
|
|
983
|
-
if (s >= .99 || Ur < i) {
|
|
984
|
-
Wr.shift();
|
|
985
|
-
Zr(n);
|
|
986
|
-
if (performance.now() >= e) {
|
|
987
|
-
t = true;
|
|
988
|
-
break;
|
|
989
|
-
}
|
|
990
|
-
} else {
|
|
991
|
-
break;
|
|
992
|
-
}
|
|
993
|
-
}
|
|
994
|
-
if (t && Wr.length && !Jr) {
|
|
995
|
-
Jr = true;
|
|
996
|
-
Qr();
|
|
997
|
-
}
|
|
998
|
-
if (config.t && !Wr.length) {
|
|
999
|
-
const e = [ ...Lr.values() ].filter(e => e.At > BundleImportState_None);
|
|
1000
|
-
const t = e.reduce((e, t) => e + t.Qt, 0);
|
|
1001
|
-
const n = e.reduce((e, t) => e + t.Vt, 0);
|
|
1002
|
-
log(`>>>> done ${e.length}/${Lr.size} total: ${t}ms waited, ${n}ms loaded`);
|
|
1003
|
-
}
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
var Gr = (e, t, n, r) => {
|
|
1007
|
-
Xr.unshift({
|
|
1008
|
-
Jt: e,
|
|
1009
|
-
Ut: t,
|
|
1010
|
-
Bt: r,
|
|
1011
|
-
Ht: n
|
|
1012
|
-
});
|
|
1013
|
-
};
|
|
1014
|
-
|
|
1015
|
-
var Kr = () => {
|
|
1016
|
-
const e = Xr[Xr.length - 1];
|
|
1017
|
-
const t = e.Jt;
|
|
1018
|
-
if (e.Lt) {
|
|
1019
|
-
const n = e.Yt;
|
|
1020
|
-
if (n >= e.Lt.length) {
|
|
1021
|
-
Xr.pop();
|
|
1022
|
-
return false;
|
|
1023
|
-
}
|
|
1024
|
-
const r = e.Lt[n];
|
|
1025
|
-
e.Yt = n + 1;
|
|
1026
|
-
const s = zr(r.zt);
|
|
1027
|
-
if (s.Ut === 0) {
|
|
1028
|
-
return true;
|
|
1029
|
-
}
|
|
1030
|
-
const i = 1 - t.Ut;
|
|
1031
|
-
let o;
|
|
1032
|
-
if (i === 1 || i >= .99 && e.Ht.Xt < 100) {
|
|
1033
|
-
e.Ht.Xt++;
|
|
1034
|
-
o = Math.min(.01, 1 - r.Gt);
|
|
1035
|
-
} else {
|
|
1036
|
-
const e = 1 - r.Gt * i;
|
|
1037
|
-
const t = r.Kt;
|
|
1038
|
-
const n = e / t;
|
|
1039
|
-
o = Math.max(.02, s.Ut * n);
|
|
1040
|
-
r.Kt = n;
|
|
1041
|
-
}
|
|
1042
|
-
Xr.push({
|
|
1043
|
-
Jt: s,
|
|
1044
|
-
Ut: o,
|
|
1045
|
-
Bt: e.Bt,
|
|
1046
|
-
Ht: e.Ht
|
|
1047
|
-
});
|
|
1048
|
-
return true;
|
|
1049
|
-
}
|
|
1050
|
-
if (e.Bt?.has(t)) {
|
|
1051
|
-
Xr.pop();
|
|
1052
|
-
return false;
|
|
1053
|
-
}
|
|
1054
|
-
const n = t.Ut;
|
|
1055
|
-
t.Ut = e.Ut;
|
|
1056
|
-
if (n - t.Ut < .01) {
|
|
1057
|
-
Xr.pop();
|
|
1058
|
-
return false;
|
|
1059
|
-
}
|
|
1060
|
-
if (
|
|
1061
|
-
// don't queue until we have initialized the preloader
|
|
1062
|
-
base != null && t.At < BundleImportState_Preload) {
|
|
1063
|
-
if (t.At === BundleImportState_None) {
|
|
1064
|
-
t.At = BundleImportState_Queued;
|
|
1065
|
-
Wr.push(t);
|
|
1066
|
-
config.t && log(`queued ${Math.round((1 - t.Ut) * 100)}%`, t.zt);
|
|
1067
|
-
}
|
|
1068
|
-
queueDirty = true;
|
|
1069
|
-
}
|
|
1070
|
-
if (t.Lt?.length) {
|
|
1071
|
-
const n = e.Bt || /* @__PURE__ */ new Set;
|
|
1072
|
-
n.add(t);
|
|
1073
|
-
e.Bt = n;
|
|
1074
|
-
e.Lt = t.Lt;
|
|
1075
|
-
e.Yt = 0;
|
|
1076
|
-
return false;
|
|
1077
|
-
}
|
|
1078
|
-
Xr.pop();
|
|
1079
|
-
return false;
|
|
1080
|
-
};
|
|
1081
|
-
|
|
1082
|
-
function i() {
|
|
1083
|
-
if (Hr || !Xr.length) {
|
|
1084
|
-
return;
|
|
1085
|
-
}
|
|
1086
|
-
Br = false;
|
|
1087
|
-
Hr = true;
|
|
1088
|
-
const e = Yr ? performance.now() + Dr : 0;
|
|
1089
|
-
let t = false;
|
|
1090
|
-
while (Xr.length) {
|
|
1091
|
-
t = true;
|
|
1092
|
-
const n = Kr();
|
|
1093
|
-
if (Yr && n && performance.now() >= e) {
|
|
1094
|
-
if (!Br) {
|
|
1095
|
-
Br = true;
|
|
1096
|
-
Vr();
|
|
1097
|
-
}
|
|
1098
|
-
break;
|
|
1099
|
-
}
|
|
1100
|
-
}
|
|
1101
|
-
Hr = false;
|
|
1102
|
-
if (t && Yr) {
|
|
1103
|
-
Qr();
|
|
1104
|
-
}
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
var Zr = e => {
|
|
1108
|
-
if (e.At >= BundleImportState_Preload) {
|
|
1109
|
-
return;
|
|
1110
|
-
}
|
|
1111
|
-
Ur++;
|
|
1112
|
-
const t = performance.now();
|
|
1113
|
-
e.Qt = t - e.Wt;
|
|
1114
|
-
e.At = BundleImportState_Preload;
|
|
1115
|
-
config.t && log(`<< load ${Math.round((1 - e.Ut) * 100)}% after ${`${e.Qt}ms`}`, e.zt);
|
|
1116
|
-
const n = Nr.createElement("link");
|
|
1117
|
-
n.href = new URL(`${base}${e.zt}`, Nr.baseURI).toString();
|
|
1118
|
-
n.rel = Ir;
|
|
1119
|
-
n.as = "script";
|
|
1120
|
-
n.onload = n.onerror = () => {
|
|
1121
|
-
Ur--;
|
|
1122
|
-
const r = performance.now();
|
|
1123
|
-
e.Vt = r - t;
|
|
1124
|
-
e.At = BundleImportState_Loaded;
|
|
1125
|
-
config.t && log(`>> done after ${e.Vt}ms`, e.zt);
|
|
1126
|
-
n.remove();
|
|
1127
|
-
Qr();
|
|
1128
|
-
};
|
|
1129
|
-
Nr.head.appendChild(n);
|
|
1130
|
-
};
|
|
1131
|
-
|
|
1132
|
-
var adjustProbabilities = (e, t, n) => {
|
|
1133
|
-
Gr(e, t, {
|
|
1134
|
-
Xt: 0
|
|
1135
|
-
}, n);
|
|
1136
|
-
if (Yr) {
|
|
1137
|
-
Vr();
|
|
1138
|
-
} else {
|
|
1139
|
-
i();
|
|
1140
|
-
}
|
|
1141
|
-
};
|
|
1142
|
-
|
|
1143
|
-
var ti = (e, t, n) => {
|
|
1144
|
-
const r = zr(e);
|
|
1145
|
-
if (r && r.Ut > t) {
|
|
1146
|
-
if (n) {
|
|
1147
|
-
Gr(r, t, n);
|
|
1148
|
-
} else {
|
|
1149
|
-
adjustProbabilities(r, t);
|
|
1150
|
-
}
|
|
1151
|
-
}
|
|
1152
|
-
};
|
|
1153
|
-
|
|
1154
|
-
var preload = (e, t) => {
|
|
1155
|
-
if (!e?.length) {
|
|
1156
|
-
return;
|
|
1157
|
-
}
|
|
1158
|
-
let n = t ? 1 - t : .4;
|
|
1159
|
-
const r = {
|
|
1160
|
-
Xt: 0
|
|
1161
|
-
};
|
|
1162
|
-
if (Array.isArray(e)) {
|
|
1163
|
-
for (let t = e.length - 1; t >= 0; t--) {
|
|
1164
|
-
const s = e[t];
|
|
1165
|
-
if (typeof s === "number") {
|
|
1166
|
-
n = 1 - s / 10;
|
|
1167
|
-
} else {
|
|
1168
|
-
ti(s, n, r);
|
|
1169
|
-
}
|
|
1170
|
-
}
|
|
1171
|
-
} else {
|
|
1172
|
-
ti(e, n, r);
|
|
1173
|
-
}
|
|
1174
|
-
if (Yr) {
|
|
1175
|
-
Vr();
|
|
1176
|
-
} else {
|
|
1177
|
-
i();
|
|
1178
|
-
}
|
|
1179
|
-
};
|
|
1180
|
-
|
|
1181
|
-
if (import.meta.env.TEST ? !Or() : isBrowser3) {
|
|
1182
|
-
document.addEventListener("qsymbol", e => {
|
|
1183
|
-
const {symbol: t, href: n} = e.detail;
|
|
1184
|
-
if (n) {
|
|
1185
|
-
const e = t.slice(t.lastIndexOf("_") + 1);
|
|
1186
|
-
preload(e, 1);
|
|
1187
|
-
}
|
|
1188
|
-
});
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
760
|
// packages/qwik/src/core/shared/utils/objects.ts
|
|
1192
|
-
var
|
|
761
|
+
var Kr = e => {
|
|
1193
762
|
for (const t in e) {
|
|
1194
763
|
if (Object.prototype.hasOwnProperty.call(e, t)) {
|
|
1195
764
|
return false;
|
|
@@ -1205,7 +774,7 @@ var GT = ">";
|
|
|
1205
774
|
|
|
1206
775
|
var CLOSE_TAG = "</";
|
|
1207
776
|
|
|
1208
|
-
var
|
|
777
|
+
var Uf = " ";
|
|
1209
778
|
|
|
1210
779
|
var ATTR_EQUALS_QUOTE = '="';
|
|
1211
780
|
|
|
@@ -1219,7 +788,7 @@ var BRACKET_CLOSE = "]";
|
|
|
1219
788
|
|
|
1220
789
|
var PAREN_CLOSE = ")";
|
|
1221
790
|
|
|
1222
|
-
var
|
|
791
|
+
var Zr = ",";
|
|
1223
792
|
|
|
1224
793
|
// packages/qwik/src/server/platform.ts
|
|
1225
794
|
var getDevSegmentPath = (e, t, n, r) => {
|
|
@@ -1227,28 +796,28 @@ var getDevSegmentPath = (e, t, n, r) => {
|
|
|
1227
796
|
if (s) {
|
|
1228
797
|
return s;
|
|
1229
798
|
}
|
|
1230
|
-
if (n ===
|
|
799
|
+
if (n === ge) {
|
|
1231
800
|
return [ n, "" ];
|
|
1232
801
|
}
|
|
1233
802
|
if (!r) {
|
|
1234
803
|
if (n.startsWith("_") && n.length < 6) {
|
|
1235
|
-
return [ n, `${import.meta.env
|
|
804
|
+
return [ n, `${import.meta.env?.BASE_URL}@qwik-handlers` ];
|
|
1236
805
|
}
|
|
1237
806
|
console.error("qwik symbolMapper: unknown qrl requested without parent:", n);
|
|
1238
|
-
return [ n, `${import.meta.env
|
|
807
|
+
return [ n, `${import.meta.env?.BASE_URL}${n}.js` ];
|
|
1239
808
|
}
|
|
1240
|
-
const i = `${import.meta.env
|
|
809
|
+
const i = `${import.meta.env?.BASE_URL}${r.startsWith("/") ? r.slice(1) : r}_${n}.js`;
|
|
1241
810
|
return [ n, i ];
|
|
1242
811
|
};
|
|
1243
812
|
|
|
1244
|
-
function
|
|
813
|
+
function Pr(e, t) {
|
|
1245
814
|
const n = t?.mapper;
|
|
1246
815
|
const r = e.symbolMapper ? e.symbolMapper : (e, t, r) => {
|
|
1247
|
-
if (n ||
|
|
1248
|
-
const t =
|
|
1249
|
-
const s = !
|
|
816
|
+
if (n || isDev6 && import.meta.env?.MODE !== "test") {
|
|
817
|
+
const t = Ha(e);
|
|
818
|
+
const s = !isDev6 ? n[t] : getDevSegmentPath(n, t, e, r);
|
|
1250
819
|
if (!s) {
|
|
1251
|
-
if (t ===
|
|
820
|
+
if (t === ge) {
|
|
1252
821
|
return [ t, "" ];
|
|
1253
822
|
}
|
|
1254
823
|
const s = globalThis.__qwik_reg_symbols?.has(t);
|
|
@@ -1263,12 +832,12 @@ function createPlatform2(e, t) {
|
|
|
1263
832
|
const s = {
|
|
1264
833
|
isServer: true,
|
|
1265
834
|
async importSymbol(e, t, n) {
|
|
1266
|
-
const r =
|
|
835
|
+
const r = Ha(n);
|
|
1267
836
|
const s = globalThis.__qwik_reg_symbols?.get(r);
|
|
1268
837
|
if (s) {
|
|
1269
838
|
return s;
|
|
1270
839
|
}
|
|
1271
|
-
throw
|
|
840
|
+
throw ve(6 /* dynamicImportFailed */ , [ n ]);
|
|
1272
841
|
},
|
|
1273
842
|
raf: () => {
|
|
1274
843
|
console.error("server can not rerender");
|
|
@@ -1282,11 +851,11 @@ function createPlatform2(e, t) {
|
|
|
1282
851
|
}
|
|
1283
852
|
|
|
1284
853
|
async function setServerPlatform(e, t) {
|
|
1285
|
-
const n =
|
|
1286
|
-
|
|
854
|
+
const n = Pr(e, t);
|
|
855
|
+
Mr(n);
|
|
1287
856
|
}
|
|
1288
857
|
|
|
1289
|
-
var
|
|
858
|
+
var Ha = e => {
|
|
1290
859
|
const t = e.lastIndexOf("_");
|
|
1291
860
|
if (t > -1) {
|
|
1292
861
|
return e.slice(t + 1);
|
|
@@ -1294,123 +863,17 @@ var getSymbolHash2 = e => {
|
|
|
1294
863
|
return e;
|
|
1295
864
|
};
|
|
1296
865
|
|
|
1297
|
-
// packages/qwik/src/server/
|
|
1298
|
-
|
|
1299
|
-
if (typeof performance === "undefined") {
|
|
1300
|
-
return () => 0;
|
|
1301
|
-
}
|
|
1302
|
-
const e = performance.now();
|
|
1303
|
-
return () => {
|
|
1304
|
-
const t = performance.now();
|
|
1305
|
-
const n = t - e;
|
|
1306
|
-
return n / 1e6;
|
|
1307
|
-
};
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
function getBuildBase(e) {
|
|
1311
|
-
let t = e.base;
|
|
1312
|
-
if (typeof e.base === "function") {
|
|
1313
|
-
t = e.base(e);
|
|
1314
|
-
}
|
|
1315
|
-
if (typeof t === "string") {
|
|
1316
|
-
if (!t.endsWith("/")) {
|
|
1317
|
-
t += "/";
|
|
1318
|
-
}
|
|
1319
|
-
return t;
|
|
1320
|
-
}
|
|
1321
|
-
return `${import.meta.env.BASE_URL || "/"}build/`;
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
var versions = {
|
|
1325
|
-
qwik: "2.0.0-beta.32-dev+0e29f8a",
|
|
1326
|
-
qwikDom: "2.1.19"
|
|
1327
|
-
};
|
|
866
|
+
// packages/qwik/src/server/ssr-render.ts
|
|
867
|
+
import { getClientManifest as yf } from "@qwik.dev/core";
|
|
1328
868
|
|
|
1329
869
|
// packages/qwik/src/server/ssr-container.ts
|
|
1330
|
-
import { isDev as
|
|
1331
|
-
|
|
1332
|
-
import { _SubscriptionData as fs, _SharedContainer as Au, _jsxSorted as xs, _jsxSplit as qs, _res as w, _setEvent, _walkJSX as Cn, _createQRL as Gc, isSignal as Dl } from "@qwik.dev/core/internal";
|
|
1333
|
-
|
|
1334
|
-
// packages/qwik/src/server/preload-strategy.ts
|
|
1335
|
-
import { getPlatform as _r } from "@qwik.dev/core";
|
|
1336
|
-
|
|
1337
|
-
// packages/qwik/src/server/preload-utils.ts
|
|
1338
|
-
function flattenPrefetchResources(e) {
|
|
1339
|
-
const t = [];
|
|
1340
|
-
const n = e => {
|
|
1341
|
-
if (e) {
|
|
1342
|
-
for (let r = 0; r < e.length; r++) {
|
|
1343
|
-
const s = e[r];
|
|
1344
|
-
if (!t.includes(s.url)) {
|
|
1345
|
-
t.push(s.url);
|
|
1346
|
-
if (s.imports) {
|
|
1347
|
-
n(s.imports);
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
}
|
|
1351
|
-
}
|
|
1352
|
-
};
|
|
1353
|
-
n(e);
|
|
1354
|
-
return t;
|
|
1355
|
-
}
|
|
1356
|
-
|
|
1357
|
-
// packages/qwik/src/server/preload-strategy.ts
|
|
1358
|
-
var getBundles = e => {
|
|
1359
|
-
const t = _r();
|
|
1360
|
-
const n = e?.map(e => {
|
|
1361
|
-
const n = e.bt;
|
|
1362
|
-
const r = e.vt;
|
|
1363
|
-
const s = t.chunkForSymbol(n, r, e.dev?.file);
|
|
1364
|
-
if (s) {
|
|
1365
|
-
return s[1];
|
|
1366
|
-
}
|
|
1367
|
-
return r;
|
|
1368
|
-
}).filter(Boolean);
|
|
1369
|
-
return [ ...new Set(n) ];
|
|
1370
|
-
};
|
|
1371
|
-
|
|
1372
|
-
function getPreloadPaths(e, t, n) {
|
|
1373
|
-
const r = t.prefetchStrategy;
|
|
1374
|
-
if (r === null) {
|
|
1375
|
-
return [];
|
|
1376
|
-
}
|
|
1377
|
-
if (!n?.manifest.bundleGraph) {
|
|
1378
|
-
return getBundles(e);
|
|
1379
|
-
}
|
|
1380
|
-
if (typeof r?.symbolsToPrefetch === "function") {
|
|
1381
|
-
try {
|
|
1382
|
-
const e = r.symbolsToPrefetch({
|
|
1383
|
-
manifest: n.manifest
|
|
1384
|
-
});
|
|
1385
|
-
return flattenPrefetchResources(e);
|
|
1386
|
-
} catch (e) {
|
|
1387
|
-
console.error("getPrefetchUrls, symbolsToPrefetch()", e);
|
|
1388
|
-
}
|
|
1389
|
-
}
|
|
1390
|
-
const s = /* @__PURE__ */ new Set;
|
|
1391
|
-
for (let t = 0; t < e.length; t++) {
|
|
1392
|
-
const n = getSymbolHash2(e[t].bt);
|
|
1393
|
-
if (n && n.length >= 10) {
|
|
1394
|
-
s.add(n);
|
|
1395
|
-
}
|
|
1396
|
-
}
|
|
1397
|
-
return [ ...s ];
|
|
1398
|
-
}
|
|
870
|
+
import { isDev as isDev8 } from "@qwik.dev/core/build";
|
|
1399
871
|
|
|
1400
|
-
|
|
1401
|
-
if (!t?.manifest.bundleGraph) {
|
|
1402
|
-
return [ ...new Set(e) ];
|
|
1403
|
-
}
|
|
1404
|
-
resetQueue();
|
|
1405
|
-
let n = .99;
|
|
1406
|
-
for (let t = 0; t < e.length; t++) {
|
|
1407
|
-
preload(e[t], n);
|
|
1408
|
-
n *= .95;
|
|
1409
|
-
}
|
|
1410
|
-
return getQueue();
|
|
1411
|
-
};
|
|
872
|
+
import { _SubscriptionData as li, _SharedContainer as Ou, _jsxSorted as vi, _jsxSplit as gi, _res as w, _setEvent, _walkJSX as Nn, _createQRL as Kc, isSignal as Ll } from "@qwik.dev/core/internal";
|
|
1412
873
|
|
|
1413
874
|
// packages/qwik/src/server/preload-impl.ts
|
|
875
|
+
import { getPlatform as Nr } from "@qwik.dev/core";
|
|
876
|
+
|
|
1414
877
|
var simplifyPath = (e, t) => {
|
|
1415
878
|
if (t == null) {
|
|
1416
879
|
return null;
|
|
@@ -1429,9 +892,9 @@ var simplifyPath = (e, t) => {
|
|
|
1429
892
|
};
|
|
1430
893
|
|
|
1431
894
|
var getBase = e => {
|
|
1432
|
-
let t = e.
|
|
1433
|
-
if (import.meta.env
|
|
1434
|
-
t = import.meta.env
|
|
895
|
+
let t = e.ce;
|
|
896
|
+
if (import.meta.env?.DEV && !qTest) {
|
|
897
|
+
t = import.meta.env?.BASE_URL;
|
|
1435
898
|
}
|
|
1436
899
|
return t;
|
|
1437
900
|
};
|
|
@@ -1442,36 +905,26 @@ var preloaderPre = (e, t, n) => {
|
|
|
1442
905
|
const i = simplifyPath(s, r?.manifest?.preloader);
|
|
1443
906
|
let o = r?.manifest.bundleGraphAsset;
|
|
1444
907
|
if (o) {
|
|
1445
|
-
o = (import.meta.env
|
|
1446
|
-
}
|
|
1447
|
-
if (i && o && t !== false) {
|
|
1448
|
-
const r =
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
} : void 0;
|
|
1452
|
-
const a = e.resolvedManifest?.manifest.bundleGraph;
|
|
1453
|
-
initPreloader(a, r);
|
|
1454
|
-
const l = [];
|
|
908
|
+
o = (import.meta.env?.BASE_URL || "/") + o;
|
|
909
|
+
}
|
|
910
|
+
if (!(import.meta.env?.DEV && !qTest) && i && o && t !== false) {
|
|
911
|
+
const r = e.resolvedManifest?.manifest.bundleGraph;
|
|
912
|
+
initPreloader(r);
|
|
913
|
+
const a = [];
|
|
1455
914
|
if (t) {
|
|
1456
|
-
if (t.debug) {
|
|
1457
|
-
l.push("d:1");
|
|
1458
|
-
}
|
|
1459
915
|
if (t.maxIdlePreloads) {
|
|
1460
|
-
|
|
1461
|
-
}
|
|
1462
|
-
if (t.preloadProbability) {
|
|
1463
|
-
l.push(`Q:${t.preloadProbability}`);
|
|
916
|
+
a.push(`P:${t.maxIdlePreloads}`);
|
|
1464
917
|
}
|
|
1465
918
|
}
|
|
1466
|
-
const
|
|
1467
|
-
const
|
|
919
|
+
const l = a.length ? `,{${a.join(",")}}` : "";
|
|
920
|
+
const c = {
|
|
1468
921
|
rel: "modulepreload",
|
|
1469
922
|
href: i
|
|
1470
923
|
};
|
|
1471
924
|
if (n) {
|
|
1472
|
-
|
|
925
|
+
c["nonce"] = n;
|
|
1473
926
|
}
|
|
1474
|
-
e.openElement("link", null,
|
|
927
|
+
e.openElement("link", null, c, null, null, null);
|
|
1475
928
|
e.closeElement();
|
|
1476
929
|
e.openElement("link", null, {
|
|
1477
930
|
rel: "preload",
|
|
@@ -1480,7 +933,7 @@ var preloaderPre = (e, t, n) => {
|
|
|
1480
933
|
crossorigin: "anonymous"
|
|
1481
934
|
}, null, null, null);
|
|
1482
935
|
e.closeElement();
|
|
1483
|
-
const
|
|
936
|
+
const u = `let b=fetch("${o}");import("${i}").then(({l})=>l(${JSON.stringify(s)},b${l}));`;
|
|
1484
937
|
const h = {
|
|
1485
938
|
type: "module",
|
|
1486
939
|
async: true,
|
|
@@ -1490,7 +943,7 @@ var preloaderPre = (e, t, n) => {
|
|
|
1490
943
|
h["nonce"] = n;
|
|
1491
944
|
}
|
|
1492
945
|
e.openElement("script", null, h, null, null, null);
|
|
1493
|
-
e.write(
|
|
946
|
+
e.write(u);
|
|
1494
947
|
e.closeElement();
|
|
1495
948
|
}
|
|
1496
949
|
const a = simplifyPath(s, r?.manifest.core);
|
|
@@ -1511,45 +964,35 @@ var includePreloader = (e, t, n, r) => {
|
|
|
1511
964
|
if (n.length === 0 || t === false) {
|
|
1512
965
|
return null;
|
|
1513
966
|
}
|
|
1514
|
-
const {ssrPreloads: s
|
|
1515
|
-
let
|
|
1516
|
-
const
|
|
1517
|
-
const
|
|
1518
|
-
const {resolvedManifest:
|
|
1519
|
-
if (
|
|
1520
|
-
const e =
|
|
1521
|
-
const t =
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
}
|
|
1531
|
-
if (i === e || i === t) {
|
|
1532
|
-
continue;
|
|
1533
|
-
}
|
|
1534
|
-
l.push(i);
|
|
1535
|
-
if (--o === 0) {
|
|
1536
|
-
break;
|
|
1537
|
-
}
|
|
1538
|
-
} else {
|
|
1539
|
-
s = i;
|
|
967
|
+
const {ssrPreloads: s} = normalizePreLoaderOptions(typeof t === "boolean" ? void 0 : t);
|
|
968
|
+
let i = s;
|
|
969
|
+
const o = getBase(e);
|
|
970
|
+
const a = [];
|
|
971
|
+
const {resolvedManifest: l} = e;
|
|
972
|
+
if (i) {
|
|
973
|
+
const e = l?.manifest.preloader;
|
|
974
|
+
const t = l?.manifest.core;
|
|
975
|
+
for (let r = 0; r < n.length; r++) {
|
|
976
|
+
const s = n[r];
|
|
977
|
+
if (s === e || s === t) {
|
|
978
|
+
continue;
|
|
979
|
+
}
|
|
980
|
+
a.push(s);
|
|
981
|
+
if (--i === 0) {
|
|
982
|
+
break;
|
|
1540
983
|
}
|
|
1541
984
|
}
|
|
1542
985
|
}
|
|
1543
|
-
const
|
|
1544
|
-
const
|
|
986
|
+
const c = simplifyPath(o, l?.manifest.preloader);
|
|
987
|
+
const u = a.length ?
|
|
1545
988
|
/**
|
|
1546
989
|
* We only use modulepreload links because they behave best. Older browsers can rely on the
|
|
1547
990
|
* preloader which does feature detection and which will be available soon after inserting these
|
|
1548
991
|
* links.
|
|
1549
|
-
*/ `${JSON.stringify(
|
|
1550
|
-
let h =
|
|
1551
|
-
if (
|
|
1552
|
-
h += `window.addEventListener('load',f=>{f=_=>import("${
|
|
992
|
+
*/ `${JSON.stringify(a)}.map((l,e)=>{e=document.createElement('link');e.rel='modulepreload';e.href=${JSON.stringify(o)}+l;document.head.appendChild(e)});` : "";
|
|
993
|
+
let h = u;
|
|
994
|
+
if (c) {
|
|
995
|
+
h += `window.addEventListener('load',f=>{f=_=>import("${c}").then(({p})=>p(${JSON.stringify(n)}));try{requestIdleCallback(f,{timeout:2000})}catch(e){setTimeout(f,200)}})`;
|
|
1553
996
|
}
|
|
1554
997
|
if (h) {
|
|
1555
998
|
const t = {
|
|
@@ -1568,12 +1011,13 @@ var includePreloader = (e, t, n, r) => {
|
|
|
1568
1011
|
};
|
|
1569
1012
|
|
|
1570
1013
|
var preloaderPost = (e, t, n) => {
|
|
1014
|
+
if (import.meta.env?.DEV && !qTest) {
|
|
1015
|
+
return;
|
|
1016
|
+
}
|
|
1571
1017
|
if (t.preloader !== false) {
|
|
1572
|
-
const r = Array.from(e.serializationCtx.
|
|
1573
|
-
const s =
|
|
1574
|
-
|
|
1575
|
-
includePreloader(e, t.preloader, s, n);
|
|
1576
|
-
}
|
|
1018
|
+
const r = Array.from(e.serializationCtx.At);
|
|
1019
|
+
const s = getBundles(r);
|
|
1020
|
+
includePreloader(e, t.preloader, s, n);
|
|
1577
1021
|
}
|
|
1578
1022
|
};
|
|
1579
1023
|
|
|
@@ -1584,12 +1028,23 @@ function normalizePreLoaderOptions(e) {
|
|
|
1584
1028
|
};
|
|
1585
1029
|
}
|
|
1586
1030
|
|
|
1031
|
+
var getBundles = e => {
|
|
1032
|
+
const t = Nr();
|
|
1033
|
+
const n = e?.map(e => {
|
|
1034
|
+
const n = e.bt;
|
|
1035
|
+
const r = e.vt;
|
|
1036
|
+
const s = t.chunkForSymbol(n, r, e.dev?.file);
|
|
1037
|
+
if (s) {
|
|
1038
|
+
return s[1];
|
|
1039
|
+
}
|
|
1040
|
+
return r;
|
|
1041
|
+
}).filter(Boolean);
|
|
1042
|
+
return [ ...new Set(n) ];
|
|
1043
|
+
};
|
|
1044
|
+
|
|
1587
1045
|
var preLoaderOptionsDefault = {
|
|
1588
1046
|
ssrPreloads: 7,
|
|
1589
|
-
|
|
1590
|
-
debug: false,
|
|
1591
|
-
maxIdlePreloads: 25,
|
|
1592
|
-
preloadProbability: .35
|
|
1047
|
+
maxIdlePreloads: 25
|
|
1593
1048
|
};
|
|
1594
1049
|
|
|
1595
1050
|
// packages/qwik/src/server/scripts.ts
|
|
@@ -1597,9 +1052,9 @@ var QWIK_LOADER_DEFAULT_MINIFIED = 'const e=document,t=window,r="w",n="wp",o="d"
|
|
|
1597
1052
|
|
|
1598
1053
|
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst windowPrefix = "w";\nconst passiveWindowPrefix = "wp";\nconst documentPrefix = "d";\nconst passiveDocumentPrefix = "dp";\nconst elementPrefix = "e";\nconst passiveElementPrefix = "ep";\nconst capturePrefix = "capture:";\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = /* @__PURE__ */ new Map();\nlet observer;\nlet hasInitialized;\nlet queuedTasks;\nconst nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nconst querySelectorAll = (query) => {\n const elements = [];\n roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n return elements;\n};\nconst addEventListener = (el, eventName, handler, capture = false, passive = false) => el.addEventListener(eventName, handler, { capture, passive });\nconst findShadowRoots = (fragment) => {\n addEventOrRoot(fragment);\n const shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n for (let i = 0; i < shadowRoots.length; i++) {\n const parent = shadowRoots[i];\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst runTasks = async (tasks) => {\n for (let i = 0; i < tasks.length; i++) {\n await tasks[i]();\n }\n};\nconst queueTasks = (tasks) => {\n if (tasks.length) {\n const run = () => runTasks(tasks);\n queuedTasks = queuedTasks ? queuedTasks.then(run, run) : run();\n }\n};\nconst resolveContainer = (containerEl) => {\n if (containerEl._qwikjson_ === void 0) {\n const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;\n let script = parentJSON.lastElementChild;\n while (script) {\n if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n containerEl._qwikjson_ = JSON.parse(\n script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1")\n );\n break;\n }\n script = script.previousElementSibling;\n }\n }\n};\nconst createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst parseKebabEvent = (event) => {\n const separatorIndex = event.indexOf(":");\n const scope = event.slice(0, separatorIndex);\n return {\n scope,\n eventName: kebabToCamel(event.slice(separatorIndex + 1))\n };\n};\nconst isPassiveScope = (scope) => scope.length === 2;\nconst getRootScope = (scope) => scope.charAt(0);\nconst isElementNode = (node) => !!node && node.nodeType === 1;\nconst isCaptureHandlerElement = (element, scopedKebabName, captureAttribute) => element.hasAttribute(captureAttribute) && (!!element._qDispatch?.[scopedKebabName] || element.hasAttribute("q-" + scopedKebabName));\nconst resolveHandler = (container, element, qBase, base, chunk, symbol, reqTime) => {\n const eventData = {\n qBase,\n symbol,\n element,\n reqTime\n };\n if (chunk === "") {\n const hash = container.getAttribute("q:instance");\n const handler2 = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler2) {\n const error = new Error("sym:" + symbol);\n emitEvent("qerror", {\n importError: "sync",\n error,\n ...eventData\n });\n console.error(error);\n }\n return handler2;\n }\n const key = `${symbol}|${qBase}|${chunk}`;\n const handler = symbols.get(key);\n if (handler) {\n return handler;\n }\n const href = new URL(chunk, base).href;\n const module = import(\n href\n );\n resolveContainer(container);\n return module.then(\n (module2) => {\n const handler2 = module2[symbol];\n if (!handler2) {\n const error = new Error(`${symbol} not in ${href}`);\n emitEvent("qerror", {\n importError: "no-symbol",\n error,\n ...eventData\n });\n console.error(error);\n } else {\n symbols.set(key, handler2);\n emitEvent("qsymbol", eventData);\n }\n return handler2;\n },\n (error) => {\n emitEvent("qerror", {\n importError: "async",\n error,\n ...eventData\n });\n console.error(error);\n return void 0;\n }\n );\n};\nconst dispatch = (element, ev, scopedKebabName, tasks, kebabName, allowPreventDefault = true) => {\n let defer = false;\n if (kebabName) {\n if (allowPreventDefault && element.hasAttribute("preventdefault:" + kebabName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + kebabName)) {\n ev.stopPropagation();\n }\n }\n const handlers = element._qDispatch?.[scopedKebabName];\n if (handlers) {\n if (typeof handlers === "function") {\n const run = () => handlers(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n } else if (handlers.length) {\n for (let i = 0; i < handlers.length; i++) {\n const handler = handlers[i];\n if (handler) {\n const run = () => handler(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n }\n return;\n }\n const attrValue = element.getAttribute("q-" + scopedKebabName);\n if (attrValue) {\n const container = element.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n const qBase = container.getAttribute("q:base");\n const base = new URL(qBase, doc.baseURI);\n const qrls = attrValue.split("|");\n for (let i = 0; i < qrls.length; i++) {\n const qrl = qrls[i];\n const reqTime = performance.now();\n const [chunk, symbol, capturedIds] = qrl.split("#");\n const run = (handler2) => {\n if (handler2 && element.isConnected) {\n try {\n const result = handler2.call(capturedIds, ev, element);\n if (isPromise(result)) {\n return result.catch((error) => {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n });\n }\n } catch (error) {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n }\n }\n };\n const handler = resolveHandler(container, element, qBase, base, chunk, symbol, reqTime);\n if (defer || isPromise(handler)) {\n defer = true;\n tasks.push(async () => {\n await run(isPromise(handler) ? await handler : handler);\n });\n } else {\n const result = run(handler);\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n};\nconst processElementEvent = (ev, scope = elementPrefix, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const captureAttribute = capturePrefix + kebabName;\n const elements = [];\n const captureHandlers = [];\n const tasks = [];\n let current = ev.target;\n while (current) {\n if (isElementNode(current)) {\n elements.push(current);\n captureHandlers.push(isCaptureHandlerElement(current, scopedKebabName, captureAttribute));\n current = current.parentElement;\n } else {\n current = current.parentElement;\n }\n }\n for (let i = elements.length - 1; i >= 0; i--) {\n if (captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const continuePropagation = !ev.cancelBubble;\n if (!continuePropagation || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n for (let i = 0; i < elements.length; i++) {\n if (!captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const doBubble = ev.bubbles && !ev.cancelBubble;\n if (!doBubble || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n queueTasks(tasks);\n};\nconst processPassiveElementEvent = (ev) => processElementEvent(ev, passiveElementPrefix, false);\nconst broadcast = (scope, ev, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const elements = querySelectorAll("[q-" + scope + "\\\\:" + kebabName + "]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n }\n queueTasks(tasks);\n};\nconst processDocumentEvent = (ev) => {\n broadcast(documentPrefix, ev);\n};\nconst processPassiveDocumentEvent = (ev) => {\n broadcast(passiveDocumentPrefix, ev, false);\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev);\n};\nconst processPassiveWindowEvent = (ev) => {\n broadcast(passiveWindowPrefix, ev, false);\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (readyState == "interactive" || readyState == "complete") {\n hasInitialized = 1;\n roots.forEach(findShadowRoots);\n if (events.has("d:qinit")) {\n events.delete("d:qinit");\n const ev = createEvent("qinit");\n const elements = querySelectorAll("[q-d\\\\:qinit]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qinit", tasks);\n el.removeAttribute("q-d:qinit");\n }\n queueTasks(tasks);\n }\n if (events.has("d:qidle")) {\n events.delete("d:qidle");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => {\n const ev = createEvent("qidle");\n const elements = querySelectorAll("[q-d\\\\:qidle]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qidle", tasks);\n el.removeAttribute("q-d:qidle");\n }\n queueTasks(tasks);\n });\n }\n if (events.has("e:qvisible")) {\n observer || (observer = new IntersectionObserver((entries) => {\n const tasks = [];\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(\n entry.target,\n createEvent("qvisible", entry),\n "e:qvisible",\n tasks\n );\n }\n }\n queueTasks(tasks);\n }));\n const elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n observer.observe(el);\n el.setAttribute("q:observed", "true");\n }\n }\n }\n};\nconst addEventOrRoot = (...eventNames) => {\n for (let i = 0; i < eventNames.length; i++) {\n const eventNameOrRoot = eventNames[i];\n if (typeof eventNameOrRoot === "string") {\n if (!events.has(eventNameOrRoot)) {\n events.add(eventNameOrRoot);\n const { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope === windowPrefix) {\n addEventListener(\n win,\n eventName,\n passive ? processPassiveWindowEvent : processWindowEvent,\n true,\n passive\n );\n } else {\n roots.forEach(\n (root) => addEventListener(\n root,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n )\n );\n }\n if (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) {\n processReadyStateChange();\n }\n }\n } else {\n if (!roots.has(eventNameOrRoot)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = parseKebabEvent(kebabEventName);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope !== windowPrefix) {\n addEventListener(\n eventNameOrRoot,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n );\n }\n });\n roots.add(eventNameOrRoot);\n }\n }\n }\n};\nconst _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n if (Array.isArray(_qwikEv)) {\n addEventOrRoot(..._qwikEv);\n } else {\n addEventOrRoot("e:click", "e:input");\n }\n win._qwikEv = {\n events,\n roots,\n push: addEventOrRoot\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1599
1054
|
|
|
1600
|
-
var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const t='script[type="qwik/backpatch"]'
|
|
1055
|
+
var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const t='script[type="qwik/backpatch"]';function e(e,n){const o=n||e.querySelector("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");if(o){const n=o.querySelector(t);if(n){const t=JSON.parse(n.textContent||"[]"),r=e.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);let c=r.currentNode,i=c.hasAttribute(":")?0:-1;for(let e=0;e<t.length;e+=3){const n=t[e],o=t[e+1];let s=t[e+2];for(;i<n&&(c=r.nextNode(),c);)c.hasAttribute(":")&&i++;const a=c;null==s||!1===s?a.removeAttribute(o):("boolean"==typeof s&&(s=""),a.setAttribute(o,s))}}}}const n=document.currentScript;if(n){const t=n.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");t&&e(document,t)}`;
|
|
1601
1056
|
|
|
1602
|
-
var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';\
|
|
1057
|
+
var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';\nfunction executeBackpatch(doc, containerElement) {\n const container = containerElement || doc.querySelector("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n if (container) {\n const script = container.querySelector(BACKPATCH_DATA_SELECTOR);\n if (script) {\n const data = JSON.parse(script.textContent || "[]");\n const walker = doc.createTreeWalker(container, NodeFilter.SHOW_ELEMENT);\n let currentNode = walker.currentNode;\n let currentNodeIdx = currentNode.hasAttribute(":") ? 0 : -1;\n for (let i = 0; i < data.length; i += 3) {\n const elementIdx = data[i];\n const attrName = data[i + 1];\n let value = data[i + 2];\n while (currentNodeIdx < elementIdx) {\n currentNode = walker.nextNode();\n if (!currentNode) {\n break;\n }\n if (currentNode.hasAttribute(":")) {\n currentNodeIdx++;\n }\n }\n const element = currentNode;\n if (value == null || value === false) {\n element.removeAttribute(attrName);\n } else {\n if (typeof value === "boolean") {\n value = "";\n }\n element.setAttribute(attrName, value);\n }\n }\n }\n }\n}\nconst executorScript = document.currentScript;\nif (executorScript) {\n const container = executorScript.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n if (container) {\n executeBackpatch(document, container);\n }\n}`;
|
|
1603
1058
|
|
|
1604
1059
|
function getQwikLoaderScript(e = {}) {
|
|
1605
1060
|
return e.debug ? QWIK_LOADER_DEFAULT_DEBUG : QWIK_LOADER_DEFAULT_MINIFIED;
|
|
@@ -1618,9 +1073,9 @@ function getQwikBackpatchExecutorScript(e = {}) {
|
|
|
1618
1073
|
}
|
|
1619
1074
|
|
|
1620
1075
|
// packages/qwik/src/server/ssr-node.ts
|
|
1621
|
-
import { _isJSXNode as
|
|
1076
|
+
import { _isJSXNode as ai, _EMPTY_OBJ, _EFFECT_BACK_REF as es } from "@qwik.dev/core/internal";
|
|
1622
1077
|
|
|
1623
|
-
import { isDev as
|
|
1078
|
+
import { isDev as isDev7 } from "@qwik.dev/core/build";
|
|
1624
1079
|
|
|
1625
1080
|
var SsrNode = class {
|
|
1626
1081
|
constructor(e, t, n, r, s, i) {
|
|
@@ -1633,7 +1088,7 @@ var SsrNode = class {
|
|
|
1633
1088
|
this.flags = 1 /* Updatable */;
|
|
1634
1089
|
this.attrs = this.attributesIndex >= 0 ? this.vnodeData[this.attributesIndex] : _EMPTY_OBJ;
|
|
1635
1090
|
this.parentComponent?.addChild(this);
|
|
1636
|
-
if (
|
|
1091
|
+
if (isDev7 && t.indexOf("undefined") != -1) {
|
|
1637
1092
|
throw new Error(`Invalid SSR node id: ${t}`);
|
|
1638
1093
|
}
|
|
1639
1094
|
}
|
|
@@ -1650,19 +1105,19 @@ var SsrNode = class {
|
|
|
1650
1105
|
attrs;
|
|
1651
1106
|
/** Local props which don't serialize; */
|
|
1652
1107
|
localProps=null;
|
|
1653
|
-
get [
|
|
1654
|
-
return this.getProp(
|
|
1108
|
+
get [es]() {
|
|
1109
|
+
return this.getProp(je);
|
|
1655
1110
|
}
|
|
1656
1111
|
setProp(e, t) {
|
|
1657
1112
|
if (this.attrs === _EMPTY_OBJ) {
|
|
1658
1113
|
this.setEmptyArrayAsVNodeDataAttributes();
|
|
1659
1114
|
}
|
|
1660
|
-
if (e.startsWith(
|
|
1115
|
+
if (e.startsWith(rr)) {
|
|
1661
1116
|
(this.localProps ||= {})[e] = t;
|
|
1662
1117
|
} else {
|
|
1663
1118
|
this.attrs[e] = t;
|
|
1664
1119
|
}
|
|
1665
|
-
if (e ==
|
|
1120
|
+
if (e == Ze && t) {
|
|
1666
1121
|
this.cleanupQueue.push(t);
|
|
1667
1122
|
}
|
|
1668
1123
|
}
|
|
@@ -1678,14 +1133,14 @@ var SsrNode = class {
|
|
|
1678
1133
|
}
|
|
1679
1134
|
}
|
|
1680
1135
|
getProp(e) {
|
|
1681
|
-
if (e.startsWith(
|
|
1136
|
+
if (e.startsWith(rr)) {
|
|
1682
1137
|
return this.localProps ? this.localProps[e] ?? null : null;
|
|
1683
1138
|
} else {
|
|
1684
1139
|
return this.attrs[e] ?? null;
|
|
1685
1140
|
}
|
|
1686
1141
|
}
|
|
1687
1142
|
removeProp(e) {
|
|
1688
|
-
if (e.startsWith(
|
|
1143
|
+
if (e.startsWith(rr)) {
|
|
1689
1144
|
if (this.localProps) {
|
|
1690
1145
|
delete this.localProps[e];
|
|
1691
1146
|
}
|
|
@@ -1711,7 +1166,7 @@ var SsrNode = class {
|
|
|
1711
1166
|
}
|
|
1712
1167
|
}
|
|
1713
1168
|
toString() {
|
|
1714
|
-
if (
|
|
1169
|
+
if (isDev7) {
|
|
1715
1170
|
let e = "";
|
|
1716
1171
|
for (const t in this.attrs) {
|
|
1717
1172
|
const n = this.attrs[t];
|
|
@@ -1728,7 +1183,7 @@ var SsrNode = class {
|
|
|
1728
1183
|
|
|
1729
1184
|
var DomRef = class {
|
|
1730
1185
|
constructor(e) {
|
|
1731
|
-
this.
|
|
1186
|
+
this.Bn = e;
|
|
1732
1187
|
}
|
|
1733
1188
|
__brand__="DomRef";
|
|
1734
1189
|
};
|
|
@@ -1745,16 +1200,16 @@ var SsrComponentFrame = class {
|
|
|
1745
1200
|
distributeChildrenIntoSlots(e, t, n) {
|
|
1746
1201
|
this.projectionScopedStyle = t;
|
|
1747
1202
|
this.projectionComponentFrame = n;
|
|
1748
|
-
if (
|
|
1203
|
+
if (ai(e)) {
|
|
1749
1204
|
const t = this.getSlotName(e);
|
|
1750
|
-
|
|
1205
|
+
he(this.slots, t, e, 0);
|
|
1751
1206
|
} else if (Array.isArray(e) && e.length > 0) {
|
|
1752
1207
|
const t = [];
|
|
1753
1208
|
for (let n = 0; n < e.length; n++) {
|
|
1754
1209
|
const r = e[n];
|
|
1755
|
-
if (
|
|
1210
|
+
if (ai(r)) {
|
|
1756
1211
|
const e = this.getSlotName(r);
|
|
1757
|
-
if (e ===
|
|
1212
|
+
if (e === Ye) {
|
|
1758
1213
|
t.push(r);
|
|
1759
1214
|
} else {
|
|
1760
1215
|
this.updateSlot(e, r);
|
|
@@ -1763,13 +1218,13 @@ var SsrComponentFrame = class {
|
|
|
1763
1218
|
t.push(r);
|
|
1764
1219
|
}
|
|
1765
1220
|
}
|
|
1766
|
-
t.length > 0 &&
|
|
1221
|
+
t.length > 0 && he(this.slots, Ye, t, 0);
|
|
1767
1222
|
} else {
|
|
1768
|
-
|
|
1223
|
+
he(this.slots, Ye, e, 0);
|
|
1769
1224
|
}
|
|
1770
1225
|
}
|
|
1771
1226
|
updateSlot(e, t) {
|
|
1772
|
-
let n =
|
|
1227
|
+
let n = de(this.slots, e, 0);
|
|
1773
1228
|
if (n === null) {
|
|
1774
1229
|
n = t;
|
|
1775
1230
|
} else if (Array.isArray(n)) {
|
|
@@ -1777,16 +1232,16 @@ var SsrComponentFrame = class {
|
|
|
1777
1232
|
} else {
|
|
1778
1233
|
n = [ n, t ];
|
|
1779
1234
|
}
|
|
1780
|
-
|
|
1235
|
+
he(this.slots, e, n, 0);
|
|
1781
1236
|
}
|
|
1782
1237
|
getSlotName(e) {
|
|
1783
|
-
if (e.props[
|
|
1784
|
-
return e.props[
|
|
1238
|
+
if (e.props[Pe]) {
|
|
1239
|
+
return e.props[Pe];
|
|
1785
1240
|
}
|
|
1786
|
-
return
|
|
1241
|
+
return Ye;
|
|
1787
1242
|
}
|
|
1788
1243
|
hasSlot(e) {
|
|
1789
|
-
return
|
|
1244
|
+
return pe(this.slots, e, 0);
|
|
1790
1245
|
}
|
|
1791
1246
|
consumeChildrenForSlot(e, t) {
|
|
1792
1247
|
const n = mapApp_remove(this.slots, t, 0);
|
|
@@ -2184,6 +1639,38 @@ function isInPhrasing(e, t) {
|
|
|
2184
1639
|
}
|
|
2185
1640
|
}
|
|
2186
1641
|
|
|
1642
|
+
// packages/qwik/src/server/utils.ts
|
|
1643
|
+
function createTimer() {
|
|
1644
|
+
if (typeof performance === "undefined") {
|
|
1645
|
+
return () => 0;
|
|
1646
|
+
}
|
|
1647
|
+
const e = performance.now();
|
|
1648
|
+
return () => {
|
|
1649
|
+
const t = performance.now();
|
|
1650
|
+
const n = t - e;
|
|
1651
|
+
return n / 1e6;
|
|
1652
|
+
};
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
function getBuildBase(e) {
|
|
1656
|
+
let t = e.base;
|
|
1657
|
+
if (typeof e.base === "function") {
|
|
1658
|
+
t = e.base(e);
|
|
1659
|
+
}
|
|
1660
|
+
if (typeof t === "string") {
|
|
1661
|
+
if (!t.endsWith("/")) {
|
|
1662
|
+
t += "/";
|
|
1663
|
+
}
|
|
1664
|
+
return t;
|
|
1665
|
+
}
|
|
1666
|
+
return `${import.meta.env?.BASE_URL || "/"}build/`;
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1669
|
+
var versions = {
|
|
1670
|
+
qwik: "2.0.0-beta.35-dev+4603135",
|
|
1671
|
+
qwikDom: "2.1.19"
|
|
1672
|
+
};
|
|
1673
|
+
|
|
2187
1674
|
// packages/qwik/src/server/vnode-data.ts
|
|
2188
1675
|
var OPEN_FRAGMENT = Number.MAX_SAFE_INTEGER;
|
|
2189
1676
|
|
|
@@ -2313,14 +1800,14 @@ var StringBufferWriter = class {
|
|
|
2313
1800
|
}
|
|
2314
1801
|
};
|
|
2315
1802
|
|
|
2316
|
-
var
|
|
1803
|
+
var js = {};
|
|
2317
1804
|
|
|
2318
1805
|
var QTemplateProps = {
|
|
2319
1806
|
hidden: true,
|
|
2320
1807
|
"aria-hidden": true
|
|
2321
1808
|
};
|
|
2322
1809
|
|
|
2323
|
-
var SSRContainer = class extends
|
|
1810
|
+
var SSRContainer = class extends Ou {
|
|
2324
1811
|
tag;
|
|
2325
1812
|
isHtml;
|
|
2326
1813
|
writer;
|
|
@@ -2362,13 +1849,13 @@ var SSRContainer = class extends Au {
|
|
|
2362
1849
|
componentStack=[];
|
|
2363
1850
|
cleanupQueue=[];
|
|
2364
1851
|
emitContainerDataFrame=null;
|
|
2365
|
-
|
|
1852
|
+
ue=randomStr();
|
|
2366
1853
|
// Temporary flag to find missing roots after the state was serialized
|
|
2367
|
-
|
|
1854
|
+
t=false;
|
|
2368
1855
|
qlInclude;
|
|
2369
1856
|
promiseAttributes=null;
|
|
2370
1857
|
constructor(e) {
|
|
2371
|
-
super(e.renderOptions.serverData ??
|
|
1858
|
+
super(e.renderOptions.serverData ?? js, e.locale);
|
|
2372
1859
|
this.symbolToChunkResolver = e => {
|
|
2373
1860
|
const t = e.lastIndexOf("_");
|
|
2374
1861
|
const n = this.resolvedManifest.mapper[t == -1 ? e : e.substring(t + 1)];
|
|
@@ -2381,10 +1868,10 @@ var SSRContainer = class extends Au {
|
|
|
2381
1868
|
this.writer = e.writer;
|
|
2382
1869
|
this.streamHandler = e.streamHandler;
|
|
2383
1870
|
this.timing = e.timing;
|
|
2384
|
-
this.
|
|
1871
|
+
this.ce = e.buildBase;
|
|
2385
1872
|
this.resolvedManifest = e.resolvedManifest;
|
|
2386
1873
|
this.renderOptions = e.renderOptions;
|
|
2387
|
-
this.
|
|
1874
|
+
this.le = 1e5;
|
|
2388
1875
|
const t = this.renderOptions.qwikLoader;
|
|
2389
1876
|
this.qlInclude = t ? typeof t === "object" ? t.include === "never" ? 2 /* Done */ : 0 /* Module */ : t === "inline" ? 1 /* Inline */ : t === "never" ? 2 /* Done */ : 0 /* Module */ : 0 /* Module */;
|
|
2390
1877
|
if (this.qlInclude === 0 /* Module */) {
|
|
@@ -2393,7 +1880,7 @@ var SSRContainer = class extends Au {
|
|
|
2393
1880
|
this.qlInclude = 1 /* Inline */;
|
|
2394
1881
|
}
|
|
2395
1882
|
}
|
|
2396
|
-
this.
|
|
1883
|
+
this.i();
|
|
2397
1884
|
}
|
|
2398
1885
|
ensureProjectionResolved(e) {}
|
|
2399
1886
|
handleError(e, t) {
|
|
@@ -2418,23 +1905,23 @@ var SSRContainer = class extends Au {
|
|
|
2418
1905
|
await this.closeContainer();
|
|
2419
1906
|
}
|
|
2420
1907
|
async renderJSX(e, t) {
|
|
2421
|
-
await
|
|
1908
|
+
await Nn(this, e, t);
|
|
2422
1909
|
}
|
|
2423
1910
|
setContext(e, t, n) {
|
|
2424
1911
|
const r = e;
|
|
2425
|
-
let s = r.getProp(
|
|
1912
|
+
let s = r.getProp(Ce);
|
|
2426
1913
|
if (s == null) {
|
|
2427
|
-
r.setProp(
|
|
1914
|
+
r.setProp(Ce, s = []);
|
|
2428
1915
|
}
|
|
2429
|
-
|
|
1916
|
+
he(s, t.id, n, 0, true);
|
|
2430
1917
|
this.addRoot(r);
|
|
2431
1918
|
}
|
|
2432
1919
|
resolveContext(e, t) {
|
|
2433
1920
|
let n = e;
|
|
2434
1921
|
while (n) {
|
|
2435
|
-
const e = n.getProp(
|
|
2436
|
-
if (e != null &&
|
|
2437
|
-
return
|
|
1922
|
+
const e = n.getProp(Ce);
|
|
1923
|
+
if (e != null && pe(e, t.id, 0)) {
|
|
1924
|
+
return de(e, t.id, 0);
|
|
2438
1925
|
}
|
|
2439
1926
|
n = n.parentComponent;
|
|
2440
1927
|
}
|
|
@@ -2461,15 +1948,15 @@ var SSRContainer = class extends Au {
|
|
|
2461
1948
|
}
|
|
2462
1949
|
const e = this.renderOptions.containerAttributes || {};
|
|
2463
1950
|
const t = e[QRenderAttr];
|
|
2464
|
-
e[
|
|
1951
|
+
e[Ue] = "paused" /* PAUSED */;
|
|
2465
1952
|
e[QRuntimeAttr] = "2";
|
|
2466
|
-
e[QVersionAttr] = this.
|
|
2467
|
-
e[QRenderAttr] = (t ? t + "-" : "") + (
|
|
2468
|
-
e[
|
|
2469
|
-
e[QLocaleAttr] = this.
|
|
1953
|
+
e[QVersionAttr] = this.oe ?? "dev";
|
|
1954
|
+
e[QRenderAttr] = (t ? t + "-" : "") + (isDev8 ? "ssr-dev" : "ssr");
|
|
1955
|
+
e[Fe] = this.ce || "";
|
|
1956
|
+
e[QLocaleAttr] = this.Ct;
|
|
2470
1957
|
e[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
2471
|
-
e[QInstanceAttr] = this.
|
|
2472
|
-
this.
|
|
1958
|
+
e[QInstanceAttr] = this.ue;
|
|
1959
|
+
this.Lt.containerAttributes = e;
|
|
2473
1960
|
this.openElement(this.tag, null, e);
|
|
2474
1961
|
if (!this.isHtml) {
|
|
2475
1962
|
this.emitContainerDataFrame = this.currentElementFrame;
|
|
@@ -2478,18 +1965,18 @@ var SSRContainer = class extends Au {
|
|
|
2478
1965
|
/** Renders closing tag for current container */ closeContainer() {
|
|
2479
1966
|
return this.closeElement();
|
|
2480
1967
|
}
|
|
2481
|
-
|
|
1968
|
+
Tt=0;
|
|
2482
1969
|
/** Renders opening tag for DOM element */
|
|
2483
1970
|
openElement(e, t, n, r = null, s = null, i = null, o = true) {
|
|
2484
1971
|
const a = isQwikStyleElement(e, n) || isQwikStyleElement(e, r);
|
|
2485
1972
|
if (e === "noscript" || e === "template" || e === "script") {
|
|
2486
|
-
this.
|
|
1973
|
+
this.Tt++;
|
|
2487
1974
|
}
|
|
2488
1975
|
if (
|
|
2489
1976
|
// don't append qwik loader before qwik style elements
|
|
2490
1977
|
// it will confuse the resuming, because styles are expected to be the first nodes in subtree
|
|
2491
1978
|
!a && this.qlInclude === 1 /* Inline */) {
|
|
2492
|
-
if (this.
|
|
1979
|
+
if (this.Tt === 0 && this.size > 30 * 1024 && e !== "body") {
|
|
2493
1980
|
this.emitQwikLoaderInline();
|
|
2494
1981
|
}
|
|
2495
1982
|
}
|
|
@@ -2512,10 +1999,10 @@ var SSRContainer = class extends Au {
|
|
|
2512
1999
|
this.write(" " + cr);
|
|
2513
2000
|
if (t !== null) {
|
|
2514
2001
|
this.write(`="${t}"`);
|
|
2515
|
-
} else if (
|
|
2002
|
+
} else if (qTest) {
|
|
2516
2003
|
this.write(EMPTY_ATTR);
|
|
2517
2004
|
}
|
|
2518
|
-
if (r && !
|
|
2005
|
+
if (r && !Kr(r)) {
|
|
2519
2006
|
l = this.writeAttrs(e, r, true, s, i, o) || l;
|
|
2520
2007
|
}
|
|
2521
2008
|
this.write(GT);
|
|
@@ -2545,7 +2032,7 @@ var SSRContainer = class extends Au {
|
|
|
2545
2032
|
for (let t = 0; t < e.length; t++) {
|
|
2546
2033
|
const n = e[t];
|
|
2547
2034
|
if (hasDestroy(n)) {
|
|
2548
|
-
n.
|
|
2035
|
+
n.En();
|
|
2549
2036
|
}
|
|
2550
2037
|
}
|
|
2551
2038
|
e = this.cleanupQueue.pop();
|
|
@@ -2561,7 +2048,7 @@ var SSRContainer = class extends Au {
|
|
|
2561
2048
|
}
|
|
2562
2049
|
this.lastNode = null;
|
|
2563
2050
|
if (t === "noscript" || t === "template" || t === "script") {
|
|
2564
|
-
this.
|
|
2051
|
+
this.Tt--;
|
|
2565
2052
|
}
|
|
2566
2053
|
}
|
|
2567
2054
|
/** Writes opening data to vNodeData for fragment boundaries */ openFragment(e) {
|
|
@@ -2580,7 +2067,7 @@ var SSRContainer = class extends Au {
|
|
|
2580
2067
|
this.openFragment(e);
|
|
2581
2068
|
const t = this.getComponentFrame();
|
|
2582
2069
|
if (t) {
|
|
2583
|
-
this.serializationCtx.
|
|
2070
|
+
this.serializationCtx.St(t.componentNode);
|
|
2584
2071
|
t.projectionDepth++;
|
|
2585
2072
|
}
|
|
2586
2073
|
}
|
|
@@ -2621,13 +2108,13 @@ var SSRContainer = class extends Au {
|
|
|
2621
2108
|
if (e.slots.length === 0) {
|
|
2622
2109
|
return;
|
|
2623
2110
|
}
|
|
2624
|
-
this.openElement(
|
|
2111
|
+
this.openElement(ze, null, QTemplateProps, null);
|
|
2625
2112
|
const t = e.projectionScopedStyle;
|
|
2626
2113
|
for (let n = 0; n < e.slots.length; n += 2) {
|
|
2627
2114
|
const r = e.slots[n];
|
|
2628
2115
|
const s = e.slots[n + 1];
|
|
2629
|
-
this.openFragment(
|
|
2630
|
-
[
|
|
2116
|
+
this.openFragment(isDev8 ? {
|
|
2117
|
+
[Se]: "P" /* Projection */ ,
|
|
2631
2118
|
[QSlotParent]: e.componentNode.id
|
|
2632
2119
|
} : {
|
|
2633
2120
|
[QSlotParent]: e.componentNode.id
|
|
@@ -2657,10 +2144,10 @@ var SSRContainer = class extends Au {
|
|
|
2657
2144
|
this.write("\x3c!--" + e + "--\x3e");
|
|
2658
2145
|
}
|
|
2659
2146
|
addRoot(e) {
|
|
2660
|
-
if (this.
|
|
2661
|
-
return this.serializationCtx.
|
|
2147
|
+
if (this.t) {
|
|
2148
|
+
return this.serializationCtx.se(e);
|
|
2662
2149
|
}
|
|
2663
|
-
return this.serializationCtx.
|
|
2150
|
+
return this.serializationCtx.St(e);
|
|
2664
2151
|
}
|
|
2665
2152
|
getOrCreateLastNode() {
|
|
2666
2153
|
if (!this.lastNode) {
|
|
@@ -2673,14 +2160,14 @@ var SSRContainer = class extends Au {
|
|
|
2673
2160
|
addUnclaimedProjection(e, t, n) {
|
|
2674
2161
|
e.slots.push(t, n);
|
|
2675
2162
|
}
|
|
2676
|
-
|
|
2163
|
+
i() {
|
|
2677
2164
|
const e = this.resolvedManifest.manifest.injections;
|
|
2678
2165
|
if (!e) {
|
|
2679
2166
|
return;
|
|
2680
2167
|
}
|
|
2681
2168
|
for (let t = 0; t < e.length; t++) {
|
|
2682
2169
|
const n = e[t];
|
|
2683
|
-
const r =
|
|
2170
|
+
const r = gi(n.tag, null, n.attributes || {}, null, 0, null);
|
|
2684
2171
|
if (n.location === "head") {
|
|
2685
2172
|
this.additionalHeadNodes.push(r);
|
|
2686
2173
|
} else {
|
|
@@ -2688,19 +2175,19 @@ var SSRContainer = class extends Au {
|
|
|
2688
2175
|
}
|
|
2689
2176
|
}
|
|
2690
2177
|
}
|
|
2691
|
-
|
|
2178
|
+
we(e, t, n, r) {
|
|
2692
2179
|
if (r) {
|
|
2693
2180
|
const e = this.getComponentFrame(0);
|
|
2694
2181
|
e.scopedStyleIds.add(t);
|
|
2695
2182
|
const r = convertStyleIdsToString(e.scopedStyleIds);
|
|
2696
|
-
this.setHostProp(n,
|
|
2183
|
+
this.setHostProp(n, Ie, r);
|
|
2697
2184
|
}
|
|
2698
2185
|
if (!this.styleIds.has(t)) {
|
|
2699
2186
|
this.styleIds.add(t);
|
|
2700
2187
|
if (this.currentElementFrame?.elementName === "html") {
|
|
2701
|
-
this.additionalHeadNodes.push(
|
|
2188
|
+
this.additionalHeadNodes.push(vi("style", null, {
|
|
2702
2189
|
dangerouslySetInnerHTML: e,
|
|
2703
|
-
[
|
|
2190
|
+
[Ae]: t
|
|
2704
2191
|
}, null, 0, t));
|
|
2705
2192
|
} else {
|
|
2706
2193
|
this._styleNode(t, e);
|
|
@@ -2709,7 +2196,7 @@ var SSRContainer = class extends Au {
|
|
|
2709
2196
|
}
|
|
2710
2197
|
_styleNode(e, t) {
|
|
2711
2198
|
this.openElement("style", null, {
|
|
2712
|
-
[
|
|
2199
|
+
[Ae]: e
|
|
2713
2200
|
});
|
|
2714
2201
|
this.write(t);
|
|
2715
2202
|
this.closeElement();
|
|
@@ -2717,9 +2204,11 @@ var SSRContainer = class extends Au {
|
|
|
2717
2204
|
////////////////////////////////////
|
|
2718
2205
|
emitContainerData() {
|
|
2719
2206
|
return $r(this.resolvePromiseAttributes(), () => $r(this.emitStateData(), () => {
|
|
2720
|
-
this.
|
|
2207
|
+
this.t = true;
|
|
2721
2208
|
this.emitVNodeData();
|
|
2722
|
-
|
|
2209
|
+
if (!isDev8) {
|
|
2210
|
+
preloaderPost(this, this.renderOptions, this.Lt?.nonce);
|
|
2211
|
+
}
|
|
2723
2212
|
this.emitSyncFnsData();
|
|
2724
2213
|
this.emitPatchDataIfNeeded();
|
|
2725
2214
|
this.emitExecutorIfNeeded();
|
|
@@ -2744,7 +2233,7 @@ var SSRContainer = class extends Au {
|
|
|
2744
2233
|
* NOTE: Not every element will need vNodeData. So we need to encode how many elements should be
|
|
2745
2234
|
* skipped. By choosing different separators we can encode different numbers of elements to skip.
|
|
2746
2235
|
*/ emitVNodeData() {
|
|
2747
|
-
if (!this.serializationCtx.
|
|
2236
|
+
if (!this.serializationCtx.Wn.length) {
|
|
2748
2237
|
return;
|
|
2749
2238
|
}
|
|
2750
2239
|
this.openElement("script", null, {
|
|
@@ -2780,7 +2269,7 @@ var SSRContainer = class extends Au {
|
|
|
2780
2269
|
n--;
|
|
2781
2270
|
this.write(VNodeDataChar.CLOSE_CHAR);
|
|
2782
2271
|
} else if (i === WRITE_ELEMENT_ATTRS) {
|
|
2783
|
-
if (t && !
|
|
2272
|
+
if (t && !Kr(t)) {
|
|
2784
2273
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2785
2274
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2786
2275
|
this.writeFragmentAttrs(t);
|
|
@@ -2818,11 +2307,11 @@ var SSRContainer = class extends Au {
|
|
|
2818
2307
|
n = String(e);
|
|
2819
2308
|
}
|
|
2820
2309
|
switch (t) {
|
|
2821
|
-
case
|
|
2310
|
+
case Ie:
|
|
2822
2311
|
this.write(VNodeDataChar.SCOPED_STYLE_CHAR);
|
|
2823
2312
|
break;
|
|
2824
2313
|
|
|
2825
|
-
case
|
|
2314
|
+
case xe:
|
|
2826
2315
|
this.write(VNodeDataChar.RENDER_FN_CHAR);
|
|
2827
2316
|
break;
|
|
2828
2317
|
|
|
@@ -2830,24 +2319,24 @@ var SSRContainer = class extends Au {
|
|
|
2830
2319
|
this.write(VNodeDataChar.ID_CHAR);
|
|
2831
2320
|
break;
|
|
2832
2321
|
|
|
2833
|
-
case
|
|
2322
|
+
case Ke:
|
|
2834
2323
|
this.write(VNodeDataChar.PROPS_CHAR);
|
|
2835
2324
|
break;
|
|
2836
2325
|
|
|
2837
|
-
case
|
|
2326
|
+
case Ge:
|
|
2838
2327
|
r = true;
|
|
2839
2328
|
this.write(VNodeDataChar.KEY_CHAR);
|
|
2840
2329
|
break;
|
|
2841
2330
|
|
|
2842
|
-
case
|
|
2331
|
+
case Ze:
|
|
2843
2332
|
this.write(VNodeDataChar.SEQ_CHAR);
|
|
2844
2333
|
break;
|
|
2845
2334
|
|
|
2846
|
-
case
|
|
2335
|
+
case tr:
|
|
2847
2336
|
this.write(VNodeDataChar.SEQ_IDX_CHAR);
|
|
2848
2337
|
break;
|
|
2849
2338
|
|
|
2850
|
-
case
|
|
2339
|
+
case je:
|
|
2851
2340
|
this.write(VNodeDataChar.BACK_REFS_CHAR);
|
|
2852
2341
|
break;
|
|
2853
2342
|
|
|
@@ -2856,11 +2345,11 @@ var SSRContainer = class extends Au {
|
|
|
2856
2345
|
break;
|
|
2857
2346
|
|
|
2858
2347
|
// Skipping `\` character for now because it is used for escaping.
|
|
2859
|
-
case
|
|
2348
|
+
case Ce:
|
|
2860
2349
|
this.write(VNodeDataChar.CONTEXT_CHAR);
|
|
2861
2350
|
break;
|
|
2862
2351
|
|
|
2863
|
-
case
|
|
2352
|
+
case Pe:
|
|
2864
2353
|
this.write(VNodeDataChar.SLOT_CHAR);
|
|
2865
2354
|
break;
|
|
2866
2355
|
|
|
@@ -2884,12 +2373,12 @@ var SSRContainer = class extends Au {
|
|
|
2884
2373
|
}
|
|
2885
2374
|
}
|
|
2886
2375
|
emitStateData() {
|
|
2887
|
-
if (!this.serializationCtx.
|
|
2376
|
+
if (!this.serializationCtx.Wn.length) {
|
|
2888
2377
|
return;
|
|
2889
2378
|
}
|
|
2890
2379
|
const e = this.stateScriptAttrs();
|
|
2891
2380
|
this.openElement("script", null, e);
|
|
2892
|
-
return $r(this.serializationCtx.
|
|
2381
|
+
return $r(this.serializationCtx.Mt(), () => {
|
|
2893
2382
|
this.closeElement();
|
|
2894
2383
|
});
|
|
2895
2384
|
}
|
|
@@ -2897,14 +2386,14 @@ var SSRContainer = class extends Au {
|
|
|
2897
2386
|
const e = {
|
|
2898
2387
|
type: "qwik/state"
|
|
2899
2388
|
};
|
|
2900
|
-
const t = this.serializationCtx.
|
|
2389
|
+
const t = this.serializationCtx.qt;
|
|
2901
2390
|
if (t.size > 0) {
|
|
2902
|
-
e["q-d:qidle"] =
|
|
2391
|
+
e["q-d:qidle"] = Kc(null, "_res", w, null, [ ...t ]);
|
|
2903
2392
|
}
|
|
2904
2393
|
return e;
|
|
2905
2394
|
}
|
|
2906
2395
|
emitSyncFnsData() {
|
|
2907
|
-
const e = this.serializationCtx.
|
|
2396
|
+
const e = this.serializationCtx.ne;
|
|
2908
2397
|
if (e.length) {
|
|
2909
2398
|
const t = {
|
|
2910
2399
|
"q:func": "qwik/json"
|
|
@@ -2913,9 +2402,9 @@ var SSRContainer = class extends Au {
|
|
|
2913
2402
|
t["nonce"] = this.renderOptions.serverData.nonce;
|
|
2914
2403
|
}
|
|
2915
2404
|
this.openElement("script", null, t);
|
|
2916
|
-
this.write(Q_FUNCS_PREFIX.replace("HASH", this.
|
|
2405
|
+
this.write(Q_FUNCS_PREFIX.replace("HASH", this.ue));
|
|
2917
2406
|
this.write(BRACKET_OPEN);
|
|
2918
|
-
this.writeArray(e,
|
|
2407
|
+
this.writeArray(e, Zr);
|
|
2919
2408
|
this.write(BRACKET_CLOSE);
|
|
2920
2409
|
this.closeElement();
|
|
2921
2410
|
}
|
|
@@ -2925,7 +2414,7 @@ var SSRContainer = class extends Au {
|
|
|
2925
2414
|
for (const [t, n] of this.backpatchMap) {
|
|
2926
2415
|
for (let r = 0; r < n.length; r++) {
|
|
2927
2416
|
const s = n[r];
|
|
2928
|
-
e.push(t, s.attrName,
|
|
2417
|
+
e.push(t, s.attrName, Ll(s.value) ? s.value.untrackedValue : s.value);
|
|
2929
2418
|
}
|
|
2930
2419
|
}
|
|
2931
2420
|
this.backpatchMap.clear();
|
|
@@ -2954,21 +2443,23 @@ var SSRContainer = class extends Au {
|
|
|
2954
2443
|
}
|
|
2955
2444
|
this.openElement("script", null, e);
|
|
2956
2445
|
const t = getQwikBackpatchExecutorScript({
|
|
2957
|
-
debug:
|
|
2446
|
+
debug: isDev8
|
|
2958
2447
|
});
|
|
2959
2448
|
this.write(t);
|
|
2960
2449
|
this.closeElement();
|
|
2961
2450
|
}
|
|
2962
2451
|
emitPreloaderPre() {
|
|
2963
|
-
|
|
2452
|
+
if (!isDev8) {
|
|
2453
|
+
preloaderPre(this, this.renderOptions.preloader, this.renderOptions.serverData?.nonce);
|
|
2454
|
+
}
|
|
2964
2455
|
}
|
|
2965
2456
|
isStatic() {
|
|
2966
|
-
return this.serializationCtx.
|
|
2457
|
+
return this.serializationCtx.At.size === 0;
|
|
2967
2458
|
}
|
|
2968
2459
|
emitQwikLoaderAtTopIfNeeded() {
|
|
2969
2460
|
if (this.qlInclude === 0 /* Module */) {
|
|
2970
2461
|
this.qlInclude = 2 /* Done */;
|
|
2971
|
-
const e = this.
|
|
2462
|
+
const e = this.ce + this.resolvedManifest.manifest.qwikLoader;
|
|
2972
2463
|
const t = {
|
|
2973
2464
|
rel: "modulepreload",
|
|
2974
2465
|
href: e
|
|
@@ -3013,7 +2504,7 @@ var SSRContainer = class extends Au {
|
|
|
3013
2504
|
if (this.qlInclude !== 2 /* Done */) {
|
|
3014
2505
|
this.emitQwikLoaderInline();
|
|
3015
2506
|
}
|
|
3016
|
-
this.emitQwikEvents(Array.from(this.serializationCtx.
|
|
2507
|
+
this.emitQwikEvents(Array.from(this.serializationCtx.Rt, e => JSON.stringify(e)));
|
|
3017
2508
|
}
|
|
3018
2509
|
}
|
|
3019
2510
|
emitQwikEvents(e) {
|
|
@@ -3025,7 +2516,7 @@ var SSRContainer = class extends Au {
|
|
|
3025
2516
|
}
|
|
3026
2517
|
this.openElement("script", null, t);
|
|
3027
2518
|
this.write(`(window._qwikEv||(window._qwikEv=[])).push(`);
|
|
3028
|
-
this.writeArray(e,
|
|
2519
|
+
this.writeArray(e, Zr);
|
|
3029
2520
|
this.write(PAREN_CLOSE);
|
|
3030
2521
|
this.closeElement();
|
|
3031
2522
|
}
|
|
@@ -3058,7 +2549,7 @@ var SSRContainer = class extends Au {
|
|
|
3058
2549
|
}
|
|
3059
2550
|
createAndPushFrame(e, t, n) {
|
|
3060
2551
|
let r = 10 /* ANYTHING */;
|
|
3061
|
-
if (
|
|
2552
|
+
if (isDev8) {
|
|
3062
2553
|
if (!this.currentElementFrame) {
|
|
3063
2554
|
r = initialTag(e);
|
|
3064
2555
|
} else {
|
|
@@ -3096,7 +2587,7 @@ var SSRContainer = class extends Au {
|
|
|
3096
2587
|
elementName: e,
|
|
3097
2588
|
depthFirstElementIdx: t,
|
|
3098
2589
|
vNodeData: [ 0 /* NONE */ ],
|
|
3099
|
-
currentFile:
|
|
2590
|
+
currentFile: isDev8 ? n || null : null
|
|
3100
2591
|
};
|
|
3101
2592
|
this.currentElementFrame = s;
|
|
3102
2593
|
this.vNodeDatas.push(s.vNodeData);
|
|
@@ -3125,8 +2616,8 @@ var SSRContainer = class extends Au {
|
|
|
3125
2616
|
for (let c in t) {
|
|
3126
2617
|
let u = t[c];
|
|
3127
2618
|
if (isSSRUnsafeAttr(c)) {
|
|
3128
|
-
if (
|
|
3129
|
-
throw
|
|
2619
|
+
if (isDev8) {
|
|
2620
|
+
throw ve(32 /* unsafeAttr */ , [ c ]);
|
|
3130
2621
|
}
|
|
3131
2622
|
continue;
|
|
3132
2623
|
}
|
|
@@ -3134,8 +2625,8 @@ var SSRContainer = class extends Au {
|
|
|
3134
2625
|
u = _setEvent(this.serializationCtx, c, u, a);
|
|
3135
2626
|
} else if (c === "ref") {
|
|
3136
2627
|
const e = this.getOrCreateLastNode();
|
|
3137
|
-
if (
|
|
3138
|
-
u.
|
|
2628
|
+
if (Ll(u)) {
|
|
2629
|
+
u.Gt = new DomRef(e);
|
|
3139
2630
|
continue;
|
|
3140
2631
|
} else if (typeof u === "function") {
|
|
3141
2632
|
u(new DomRef(e));
|
|
@@ -3143,14 +2634,14 @@ var SSRContainer = class extends Au {
|
|
|
3143
2634
|
} else if (u == null) {
|
|
3144
2635
|
continue;
|
|
3145
2636
|
} else {
|
|
3146
|
-
throw
|
|
2637
|
+
throw ve(15 /* invalidRefValue */ , [ o ]);
|
|
3147
2638
|
}
|
|
3148
|
-
} else if (c ===
|
|
3149
|
-
u = this.serializationCtx.
|
|
3150
|
-
} else if (
|
|
2639
|
+
} else if (c === nr || c === er) {
|
|
2640
|
+
u = this.serializationCtx.St(u);
|
|
2641
|
+
} else if (Ll(u)) {
|
|
3151
2642
|
const e = this.getOrCreateLastNode();
|
|
3152
|
-
const t = new
|
|
3153
|
-
|
|
2643
|
+
const t = new li({
|
|
2644
|
+
j: i,
|
|
3154
2645
|
et: s
|
|
3155
2646
|
});
|
|
3156
2647
|
const r = u;
|
|
@@ -3167,7 +2658,7 @@ var SSRContainer = class extends Au {
|
|
|
3167
2658
|
if (c === fr) {
|
|
3168
2659
|
if (u) {
|
|
3169
2660
|
l = String(u);
|
|
3170
|
-
c =
|
|
2661
|
+
c = Ue;
|
|
3171
2662
|
u = "html" /* HTML */;
|
|
3172
2663
|
}
|
|
3173
2664
|
if (e === "style") {
|
|
@@ -3178,22 +2669,22 @@ var SSRContainer = class extends Au {
|
|
|
3178
2669
|
}
|
|
3179
2670
|
if (e === "textarea" && c === "value") {
|
|
3180
2671
|
if (u && typeof u !== "string") {
|
|
3181
|
-
if (
|
|
3182
|
-
throw
|
|
2672
|
+
if (isDev8) {
|
|
2673
|
+
throw ve(23 /* wrongTextareaValue */ , [ o, u ]);
|
|
3183
2674
|
}
|
|
3184
2675
|
continue;
|
|
3185
2676
|
}
|
|
3186
2677
|
l = escapeHTML(u || "");
|
|
3187
|
-
c =
|
|
2678
|
+
c = Ue;
|
|
3188
2679
|
u = "text" /* TEXT */;
|
|
3189
2680
|
}
|
|
3190
|
-
const
|
|
3191
|
-
if (
|
|
3192
|
-
this.write(
|
|
2681
|
+
const h = r(c, u, i);
|
|
2682
|
+
if (h != null && h !== false) {
|
|
2683
|
+
this.write(Uf);
|
|
3193
2684
|
this.write(c);
|
|
3194
|
-
if (
|
|
2685
|
+
if (h !== true) {
|
|
3195
2686
|
this.write(ATTR_EQUALS_QUOTE);
|
|
3196
|
-
const e = escapeHTML(String(
|
|
2687
|
+
const e = escapeHTML(String(h));
|
|
3197
2688
|
this.write(e);
|
|
3198
2689
|
this.write(QUOTE);
|
|
3199
2690
|
}
|
|
@@ -3215,17 +2706,17 @@ var SSRContainer = class extends Au {
|
|
|
3215
2706
|
|
|
3216
2707
|
var isQwikStyleElement = (e, t) => {
|
|
3217
2708
|
if (e === "style" && t != null) {
|
|
3218
|
-
return Object.prototype.hasOwnProperty.call(t,
|
|
2709
|
+
return Object.prototype.hasOwnProperty.call(t, Ae) || Object.prototype.hasOwnProperty.call(t, Ie);
|
|
3219
2710
|
}
|
|
3220
2711
|
return false;
|
|
3221
2712
|
};
|
|
3222
2713
|
|
|
3223
2714
|
function newTagError(e) {
|
|
3224
|
-
return
|
|
2715
|
+
return ve(12 /* tagError */ , [ e ]);
|
|
3225
2716
|
}
|
|
3226
2717
|
|
|
3227
2718
|
function hasDestroy(e) {
|
|
3228
|
-
return e && typeof e === "object" && typeof e.
|
|
2719
|
+
return e && typeof e === "object" && typeof e.En === "function";
|
|
3229
2720
|
}
|
|
3230
2721
|
|
|
3231
2722
|
function isSSRUnsafeAttr(e) {
|
|
@@ -3245,13 +2736,10 @@ function randomStr() {
|
|
|
3245
2736
|
function addPreventDefaultEventToSerializationContext(e, t) {
|
|
3246
2737
|
const n = "e" + t.substring(14);
|
|
3247
2738
|
if (n) {
|
|
3248
|
-
e.
|
|
2739
|
+
e.Rt.add(n);
|
|
3249
2740
|
}
|
|
3250
2741
|
}
|
|
3251
2742
|
|
|
3252
|
-
// packages/qwik/src/server/ssr-render.ts
|
|
3253
|
-
import { manifest as builtManifest } from "@qwik-client-manifest";
|
|
3254
|
-
|
|
3255
2743
|
// packages/qwik/src/server/ssr-stream-handler.ts
|
|
3256
2744
|
var StreamHandler = class {
|
|
3257
2745
|
constructor(e, t) {
|
|
@@ -3274,6 +2762,8 @@ var StreamHandler = class {
|
|
|
3274
2762
|
streamBlockBufferSize=0;
|
|
3275
2763
|
nativeStream;
|
|
3276
2764
|
firstFlushTimer=createTimer();
|
|
2765
|
+
pendingFlush;
|
|
2766
|
+
flushQueued=false;
|
|
3277
2767
|
stream;
|
|
3278
2768
|
setupStreamWriter() {
|
|
3279
2769
|
const e = this;
|
|
@@ -3286,19 +2776,29 @@ var StreamHandler = class {
|
|
|
3286
2776
|
return;
|
|
3287
2777
|
}
|
|
3288
2778
|
e.enqueue(t);
|
|
2779
|
+
},
|
|
2780
|
+
waitForDrain() {
|
|
2781
|
+
return e.waitForPendingFlush();
|
|
3289
2782
|
}
|
|
3290
2783
|
};
|
|
3291
2784
|
break;
|
|
3292
2785
|
|
|
3293
2786
|
case "direct":
|
|
3294
2787
|
{
|
|
3295
|
-
const
|
|
2788
|
+
const n = this.nativeStream;
|
|
3296
2789
|
t = {
|
|
3297
2790
|
write(t) {
|
|
3298
2791
|
if (t === void 0 || t === null) {
|
|
3299
2792
|
return;
|
|
3300
2793
|
}
|
|
3301
|
-
e.
|
|
2794
|
+
if (e.pendingFlush) {
|
|
2795
|
+
const r = e.pendingFlush.then(() => n.write(t));
|
|
2796
|
+
return e.trackPendingFlush(r);
|
|
2797
|
+
}
|
|
2798
|
+
return e.trackPendingFlush(n.write(t));
|
|
2799
|
+
},
|
|
2800
|
+
waitForDrain() {
|
|
2801
|
+
return e.waitForPendingFlush();
|
|
3302
2802
|
}
|
|
3303
2803
|
};
|
|
3304
2804
|
break;
|
|
@@ -3318,9 +2818,12 @@ var StreamHandler = class {
|
|
|
3318
2818
|
if (e.streamBlockDepth === 0) {
|
|
3319
2819
|
const t = e.networkFlushes === 0 ? r : n;
|
|
3320
2820
|
if (e.bufferSize >= t) {
|
|
3321
|
-
e.flush();
|
|
2821
|
+
return e.flush();
|
|
3322
2822
|
}
|
|
3323
2823
|
}
|
|
2824
|
+
},
|
|
2825
|
+
waitForDrain() {
|
|
2826
|
+
return e.waitForPendingFlush();
|
|
3324
2827
|
}
|
|
3325
2828
|
};
|
|
3326
2829
|
break;
|
|
@@ -3338,16 +2841,52 @@ var StreamHandler = class {
|
|
|
3338
2841
|
this.buffer += e;
|
|
3339
2842
|
}
|
|
3340
2843
|
}
|
|
2844
|
+
trackPendingFlush(e) {
|
|
2845
|
+
if (!dr(e)) {
|
|
2846
|
+
return;
|
|
2847
|
+
}
|
|
2848
|
+
const t = Promise.resolve(e).finally(() => {
|
|
2849
|
+
if (this.pendingFlush === t) {
|
|
2850
|
+
this.pendingFlush = void 0;
|
|
2851
|
+
}
|
|
2852
|
+
});
|
|
2853
|
+
this.pendingFlush = t;
|
|
2854
|
+
return t;
|
|
2855
|
+
}
|
|
2856
|
+
flushBuffer() {
|
|
2857
|
+
const e = this.buffer;
|
|
2858
|
+
this.buffer = "";
|
|
2859
|
+
this.bufferSize = 0;
|
|
2860
|
+
this.networkFlushes++;
|
|
2861
|
+
if (this.networkFlushes === 1) {
|
|
2862
|
+
this.timing.firstFlush = this.firstFlushTimer();
|
|
2863
|
+
}
|
|
2864
|
+
return this.trackPendingFlush(this.nativeStream.write(e));
|
|
2865
|
+
}
|
|
3341
2866
|
flush() {
|
|
3342
|
-
if (this.buffer) {
|
|
3343
|
-
this.
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
this.
|
|
3347
|
-
|
|
3348
|
-
|
|
2867
|
+
if (!this.buffer) {
|
|
2868
|
+
return this.waitForPendingFlush();
|
|
2869
|
+
}
|
|
2870
|
+
if (this.pendingFlush) {
|
|
2871
|
+
if (!this.flushQueued) {
|
|
2872
|
+
this.flushQueued = true;
|
|
2873
|
+
const e = this.pendingFlush.then(() => {
|
|
2874
|
+
this.flushQueued = false;
|
|
2875
|
+
this.pendingFlush = void 0;
|
|
2876
|
+
return this.flush();
|
|
2877
|
+
});
|
|
2878
|
+
this.pendingFlush = e.finally(() => {
|
|
2879
|
+
if (this.pendingFlush === e) {
|
|
2880
|
+
this.pendingFlush = void 0;
|
|
2881
|
+
}
|
|
2882
|
+
});
|
|
3349
2883
|
}
|
|
2884
|
+
return this.pendingFlush;
|
|
3350
2885
|
}
|
|
2886
|
+
return this.flushBuffer();
|
|
2887
|
+
}
|
|
2888
|
+
waitForPendingFlush() {
|
|
2889
|
+
return this.pendingFlush;
|
|
3351
2890
|
}
|
|
3352
2891
|
streamBlockStart() {
|
|
3353
2892
|
this.streamBlockDepth++;
|
|
@@ -3359,7 +2898,7 @@ var StreamHandler = class {
|
|
|
3359
2898
|
this.bufferSize += this.streamBlockBufferSize;
|
|
3360
2899
|
this.streamBlockBuffer = "";
|
|
3361
2900
|
this.streamBlockBufferSize = 0;
|
|
3362
|
-
this.flush();
|
|
2901
|
+
return this.flush();
|
|
3363
2902
|
}
|
|
3364
2903
|
}
|
|
3365
2904
|
};
|
|
@@ -3409,7 +2948,7 @@ var renderToStream = async (e, t) => {
|
|
|
3409
2948
|
await setServerPlatform(t, i);
|
|
3410
2949
|
await l.render(e);
|
|
3411
2950
|
await l.l;
|
|
3412
|
-
a.flush();
|
|
2951
|
+
await a.flush();
|
|
3413
2952
|
const c = {
|
|
3414
2953
|
flushes: a.networkFlushes,
|
|
3415
2954
|
manifest: i?.manifest,
|
|
@@ -3421,23 +2960,24 @@ var renderToStream = async (e, t) => {
|
|
|
3421
2960
|
};
|
|
3422
2961
|
|
|
3423
2962
|
function resolveManifest(e) {
|
|
3424
|
-
const t =
|
|
3425
|
-
|
|
2963
|
+
const t = yf();
|
|
2964
|
+
const n = e ? {
|
|
2965
|
+
...t,
|
|
3426
2966
|
...e
|
|
3427
|
-
} :
|
|
3428
|
-
if (!
|
|
3429
|
-
return
|
|
2967
|
+
} : t;
|
|
2968
|
+
if (!n || "mapper" in n) {
|
|
2969
|
+
return n;
|
|
3430
2970
|
}
|
|
3431
|
-
if (
|
|
2971
|
+
if (n.mapping) {
|
|
3432
2972
|
const e = {};
|
|
3433
|
-
for (const
|
|
3434
|
-
const r =
|
|
3435
|
-
e[
|
|
2973
|
+
for (const t in n.mapping) {
|
|
2974
|
+
const r = n.mapping[t];
|
|
2975
|
+
e[Ha(t)] = [ t, r ];
|
|
3436
2976
|
}
|
|
3437
2977
|
return {
|
|
3438
2978
|
mapper: e,
|
|
3439
|
-
manifest:
|
|
3440
|
-
injections:
|
|
2979
|
+
manifest: n,
|
|
2980
|
+
injections: n.injections || []
|
|
3441
2981
|
};
|
|
3442
2982
|
}
|
|
3443
2983
|
return void 0;
|
|
@@ -3447,7 +2987,7 @@ var Q_FUNCS_PREFIX = 'document["qFuncs_HASH"]=';
|
|
|
3447
2987
|
|
|
3448
2988
|
// packages/qwik/src/server/index.ts
|
|
3449
2989
|
async function setServerPlatform2(e) {
|
|
3450
|
-
const t =
|
|
2990
|
+
const t = Pr({
|
|
3451
2991
|
manifest: e
|
|
3452
2992
|
}, resolveManifest(e));
|
|
3453
2993
|
setPlatform2(t);
|