@qwik.dev/core 2.0.0-alpha.5 → 2.0.0-alpha.6

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/server.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * @qwik.dev/core/server 2.0.0-alpha.5-dev+cb53bbd
3
+ * @qwik.dev/core/server 2.0.0-alpha.6-dev+d848ba5
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
@@ -227,8 +227,6 @@ See https://qwik.dev/docs/components/tasks/#use-method-rules`,
227
227
  // 43
228
228
  "Materialize error: missing element: {{0}} {{1}} {{2}}",
229
229
  // 44
230
- "SsrError: {{0}}",
231
- // 45
232
230
  "Cannot coerce a Signal, use `.value` instead",
233
231
  // 46
234
232
  "useComputedSignal$ QRL {{0}} {{1}} returned a Promise",
@@ -485,6 +483,106 @@ function assertNumber(value1, text, ...parts) {
485
483
 
486
484
  // packages/qwik/src/core/shared/platform/platform.ts
487
485
  import { isServer } from "@qwik.dev/core/build";
486
+
487
+ // packages/qwik/src/core/shared/types.ts
488
+ var DEBUG_TYPE = "q:type";
489
+ var START = "\x1B[34m";
490
+ var END = "\x1B[0m";
491
+ var VirtualTypeName = {
492
+ ["V" /* Virtual */]: (
493
+ /* ********* */
494
+ START + "Virtual" + END
495
+ ),
496
+ //
497
+ ["F" /* Fragment */]: (
498
+ /* ******** */
499
+ START + "Fragment" + END
500
+ ),
501
+ //
502
+ ["S" /* WrappedSignal */]: (
503
+ /* *** */
504
+ START + "Signal" + END
505
+ ),
506
+ //
507
+ ["A" /* Awaited */]: (
508
+ /* ********* */
509
+ START + "Awaited" + END
510
+ ),
511
+ //
512
+ ["C" /* Component */]: (
513
+ /* ******* */
514
+ START + "Component" + END
515
+ ),
516
+ //
517
+ ["I" /* InlineComponent */]: (
518
+ /* * */
519
+ START + "InlineComponent" + END
520
+ ),
521
+ //
522
+ ["P" /* Projection */]: (
523
+ /* ****** */
524
+ START + "Projection" + END
525
+ )
526
+ //
527
+ };
528
+
529
+ // packages/qwik/src/core/shared/utils/markers.ts
530
+ var OnRenderProp = "q:renderFn";
531
+ var ComponentStylesPrefixContent = "\u2B50\uFE0F";
532
+ var QSlot = "q:slot";
533
+ var QSlotParent = ":";
534
+ var QSlotRef = "q:sref";
535
+ var QSlotS = "q:s";
536
+ var QStyle = "q:style";
537
+ var QStyleSelector = "style[q\\:style]";
538
+ var QStyleSSelector = "style[q\\:sstyle]";
539
+ var QStylesAllSelector = QStyleSelector + "," + QStyleSSelector;
540
+ var QScopedStyle = "q:sstyle";
541
+ var QCtxAttr = "q:ctx";
542
+ var QSubscribers = "q:subs";
543
+ var QFuncsPrefix = "qFuncs_";
544
+ var getQFuncs = (document2, hash2) => {
545
+ return document2[QFuncsPrefix + hash2] || [];
546
+ };
547
+ var QRenderAttr = "q:render";
548
+ var QRuntimeAttr = "q:runtime";
549
+ var QVersionAttr = "q:version";
550
+ var QBaseAttr = "q:base";
551
+ var QLocaleAttr = "q:locale";
552
+ var QManifestHashAttr = "q:manifest-hash";
553
+ var QInstanceAttr = "q:instance";
554
+ var QContainerIsland = "q:container-island";
555
+ var QContainerIslandEnd = "/" + QContainerIsland;
556
+ var QIgnore = "q:ignore";
557
+ var QIgnoreEnd = "/" + QIgnore;
558
+ var QContainerAttr = "q:container";
559
+ var QContainerAttrEnd = "/" + QContainerAttr;
560
+ var QTemplate = "q:template";
561
+ var QContainerSelector = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
562
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
563
+ var SVG_NS = "http://www.w3.org/2000/svg";
564
+ var MATH_NS = "http://www.w3.org/1998/Math/MathML";
565
+ var ResourceEvent = "qResource";
566
+ var RenderEvent = "qRender";
567
+ var TaskEvent = "qTask";
568
+ var QDefaultSlot = "";
569
+ var ELEMENT_ID = "q:id";
570
+ var ELEMENT_KEY = "q:key";
571
+ var ELEMENT_PROPS = "q:props";
572
+ var ELEMENT_SEQ = "q:seq";
573
+ var ELEMENT_SEQ_IDX = "q:seqIdx";
574
+ var Q_PREFIX = "q:";
575
+ var NON_SERIALIZABLE_MARKER_PREFIX = ":";
576
+ var USE_ON_LOCAL = NON_SERIALIZABLE_MARKER_PREFIX + "on";
577
+ var USE_ON_LOCAL_SEQ_IDX = NON_SERIALIZABLE_MARKER_PREFIX + "onIdx";
578
+ var USE_ON_LOCAL_FLAGS = NON_SERIALIZABLE_MARKER_PREFIX + "onFlags";
579
+ var FLUSH_COMMENT = "qkssr-f";
580
+ var STREAM_BLOCK_START_COMMENT = "qkssr-pu";
581
+ var STREAM_BLOCK_END_COMMENT = "qkssr-po";
582
+ var Q_PROPS_SEPARATOR = ":";
583
+ var dangerouslySetInnerHTML = "dangerouslySetInnerHTML";
584
+
585
+ // packages/qwik/src/core/shared/platform/platform.ts
488
586
  var createPlatform2 = () => {
489
587
  return {
490
588
  isServer,
@@ -534,7 +632,7 @@ var createPlatform2 = () => {
534
632
  };
535
633
  var toUrl = (doc, containerEl, url) => {
536
634
  const baseURI = doc.baseURI;
537
- const base = new URL(containerEl.getAttribute("q:base") ?? baseURI, baseURI);
635
+ const base = new URL(containerEl.getAttribute(QBaseAttr) ?? baseURI, baseURI);
538
636
  return new URL(url, base);
539
637
  };
540
638
  var _platform = /* @__PURE__ */ createPlatform2();
@@ -585,117 +683,26 @@ var delay = (timeout) => {
585
683
  });
586
684
  };
587
685
  function retryOnPromise(fn, retryCount = 0) {
588
- try {
589
- return fn();
590
- } catch (e) {
686
+ const retryOrThrow = (e) => {
591
687
  if (isPromise(e) && retryCount < MAX_RETRY_ON_PROMISE_COUNT) {
592
688
  return e.then(retryOnPromise.bind(null, fn, retryCount++));
593
689
  }
594
690
  throw e;
691
+ };
692
+ try {
693
+ const result = fn();
694
+ if (isPromise(result)) {
695
+ return result.catch((e) => retryOrThrow(e));
696
+ }
697
+ return result;
698
+ } catch (e) {
699
+ return retryOrThrow(e);
595
700
  }
596
701
  }
597
702
 
598
703
  // packages/qwik/src/build/index.dev.ts
599
704
  var isDev = true;
600
705
 
601
- // packages/qwik/src/core/shared/types.ts
602
- var DEBUG_TYPE = "q:type";
603
- var START = "\x1B[34m";
604
- var END = "\x1B[0m";
605
- var VirtualTypeName = {
606
- ["V" /* Virtual */]: (
607
- /* ********* */
608
- START + "Virtual" + END
609
- ),
610
- //
611
- ["F" /* Fragment */]: (
612
- /* ******** */
613
- START + "Fragment" + END
614
- ),
615
- //
616
- ["S" /* WrappedSignal */]: (
617
- /* *** */
618
- START + "Signal" + END
619
- ),
620
- //
621
- ["A" /* Awaited */]: (
622
- /* ********* */
623
- START + "Awaited" + END
624
- ),
625
- //
626
- ["C" /* Component */]: (
627
- /* ******* */
628
- START + "Component" + END
629
- ),
630
- //
631
- ["I" /* InlineComponent */]: (
632
- /* * */
633
- START + "InlineComponent" + END
634
- ),
635
- //
636
- ["P" /* Projection */]: (
637
- /* ****** */
638
- START + "Projection" + END
639
- )
640
- //
641
- };
642
-
643
- // packages/qwik/src/core/shared/utils/markers.ts
644
- var OnRenderProp = "q:renderFn";
645
- var ComponentStylesPrefixContent = "\u2B50\uFE0F";
646
- var QSlot = "q:slot";
647
- var QSlotParent = ":";
648
- var QSlotRef = "q:sref";
649
- var QSlotS = "q:s";
650
- var QStyle = "q:style";
651
- var QStyleSelector = "style[q\\:style]";
652
- var QStyleSSelector = "style[q\\:sstyle]";
653
- var QStylesAllSelector = QStyleSelector + "," + QStyleSSelector;
654
- var QScopedStyle = "q:sstyle";
655
- var QCtxAttr = "q:ctx";
656
- var QSubscribers = "q:subs";
657
- var QFuncsPrefix = "qFuncs_";
658
- var getQFuncs = (document2, hash2) => {
659
- return document2[QFuncsPrefix + hash2] || [];
660
- };
661
- var QRenderAttr = "q:render";
662
- var QRuntimeAttr = "q:runtime";
663
- var QVersionAttr = "q:version";
664
- var QBaseAttr = "q:base";
665
- var QLocaleAttr = "q:locale";
666
- var QManifestHashAttr = "q:manifest-hash";
667
- var QInstanceAttr = "q:instance";
668
- var QContainerIsland = "q:container-island";
669
- var QContainerIslandEnd = "/" + QContainerIsland;
670
- var QIgnore = "q:ignore";
671
- var QIgnoreEnd = "/" + QIgnore;
672
- var QContainerAttr = "q:container";
673
- var QContainerAttrEnd = "/" + QContainerAttr;
674
- var QTemplate = "q:template";
675
- var QContainerSelector = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
676
- var HTML_NS = "http://www.w3.org/1999/xhtml";
677
- var SVG_NS = "http://www.w3.org/2000/svg";
678
- var MATH_NS = "http://www.w3.org/1998/Math/MathML";
679
- var ResourceEvent = "qResource";
680
- var RenderEvent = "qRender";
681
- var TaskEvent = "qTask";
682
- var QDefaultSlot = "";
683
- var ELEMENT_ID = "q:id";
684
- var ELEMENT_KEY = "q:key";
685
- var ELEMENT_PROPS = "q:props";
686
- var ELEMENT_SEQ = "q:seq";
687
- var ELEMENT_SEQ_IDX = "q:seqIdx";
688
- var Q_PREFIX = "q:";
689
- var NON_SERIALIZABLE_MARKER_PREFIX = ":";
690
- var USE_ON_LOCAL = NON_SERIALIZABLE_MARKER_PREFIX + "on";
691
- var USE_ON_LOCAL_SEQ_IDX = NON_SERIALIZABLE_MARKER_PREFIX + "onIdx";
692
- var USE_ON_LOCAL_FLAGS = NON_SERIALIZABLE_MARKER_PREFIX + "onFlags";
693
- var FLUSH_COMMENT = "qkssr-f";
694
- var STREAM_BLOCK_START_COMMENT = "qkssr-pu";
695
- var STREAM_BLOCK_END_COMMENT = "qkssr-po";
696
- var Q_PROPS_SEPARATOR = ":";
697
- var dangerouslySetInnerHTML = "dangerouslySetInnerHTML";
698
-
699
706
  // packages/qwik/src/core/use/use-locale.ts
700
707
  var _locale = void 0;
701
708
  function setLocale(locale) {
@@ -731,7 +738,7 @@ function getBuildBase(opts) {
731
738
  return `${import.meta.env.BASE_URL}build/`;
732
739
  }
733
740
  var versions = {
734
- qwik: "2.0.0-alpha.5-dev+cb53bbd",
741
+ qwik: "2.0.0-alpha.6-dev+d848ba5",
735
742
  qwikDom: "2.1.19"
736
743
  };
737
744
 
@@ -1100,6 +1107,17 @@ function clearArgEffect(arg, subscriber, seenSet) {
1100
1107
  } else if (typeof arg === "object" && arg !== null) {
1101
1108
  if (isStore(arg)) {
1102
1109
  clearStoreEffects(getStoreHandler(arg), subscriber);
1110
+ } else if (isPropsProxy(arg)) {
1111
+ const constProps = arg[_CONST_PROPS];
1112
+ const varProps = arg[_VAR_PROPS];
1113
+ if (constProps) {
1114
+ for (const key in constProps) {
1115
+ clearArgEffect(constProps[key], subscriber, seenSet);
1116
+ }
1117
+ }
1118
+ for (const key in varProps) {
1119
+ clearArgEffect(varProps[key], subscriber, seenSet);
1120
+ }
1103
1121
  } else {
1104
1122
  for (const key in arg) {
1105
1123
  clearArgEffect(arg[key], subscriber, seenSet);
@@ -2554,6 +2572,81 @@ function markVNodeAsDeleted(vCursor) {
2554
2572
  var HANDLER_PREFIX = ":";
2555
2573
  var count = 0;
2556
2574
 
2575
+ // packages/qwik/src/core/shared/scheduler-document-position.ts
2576
+ var aVNodePath = [];
2577
+ var bVNodePath = [];
2578
+ var vnode_documentPosition = (a, b, rootVNode) => {
2579
+ if (a === b) {
2580
+ return 0;
2581
+ }
2582
+ let aDepth = -1;
2583
+ let bDepth = -1;
2584
+ while (a) {
2585
+ const vNode = aVNodePath[++aDepth] = a;
2586
+ a = vNode[1 /* parent */] || rootVNode && vnode_getProp(a, QSlotParent, (id) => vnode_locate(rootVNode, id));
2587
+ }
2588
+ while (b) {
2589
+ const vNode = bVNodePath[++bDepth] = b;
2590
+ b = vNode[1 /* parent */] || rootVNode && vnode_getProp(b, QSlotParent, (id) => vnode_locate(rootVNode, id));
2591
+ }
2592
+ while (aDepth >= 0 && bDepth >= 0) {
2593
+ a = aVNodePath[aDepth];
2594
+ b = bVNodePath[bDepth];
2595
+ if (a === b) {
2596
+ aDepth--;
2597
+ bDepth--;
2598
+ } else {
2599
+ let cursor = b;
2600
+ do {
2601
+ cursor = vnode_getNextSibling(cursor);
2602
+ if (cursor === a) {
2603
+ return 1;
2604
+ }
2605
+ } while (cursor);
2606
+ cursor = b;
2607
+ do {
2608
+ cursor = vnode_getPreviousSibling(cursor);
2609
+ if (cursor === a) {
2610
+ return -1;
2611
+ }
2612
+ } while (cursor);
2613
+ if (rootVNode && vnode_getProp(b, QSlotParent, (id) => vnode_locate(rootVNode, id))) {
2614
+ return -1;
2615
+ }
2616
+ return 1;
2617
+ }
2618
+ }
2619
+ return aDepth < bDepth ? -1 : 1;
2620
+ };
2621
+ var aSsrNodePath = [];
2622
+ var bSsrNodePath = [];
2623
+ var ssrNodeDocumentPosition = (a, b) => {
2624
+ if (a === b) {
2625
+ return 0;
2626
+ }
2627
+ let aDepth = -1;
2628
+ let bDepth = -1;
2629
+ while (a) {
2630
+ const ssrNode = aSsrNodePath[++aDepth] = a;
2631
+ a = ssrNode.currentComponentNode;
2632
+ }
2633
+ while (b) {
2634
+ const ssrNode = bSsrNodePath[++bDepth] = b;
2635
+ b = ssrNode.currentComponentNode;
2636
+ }
2637
+ while (aDepth >= 0 && bDepth >= 0) {
2638
+ a = aSsrNodePath[aDepth];
2639
+ b = bSsrNodePath[bDepth];
2640
+ if (a === b) {
2641
+ aDepth--;
2642
+ bDepth--;
2643
+ } else {
2644
+ return 1;
2645
+ }
2646
+ }
2647
+ return aDepth < bDepth ? -1 : 1;
2648
+ };
2649
+
2557
2650
  // packages/qwik/src/core/shared/scheduler.ts
2558
2651
  var DEBUG2 = false;
2559
2652
  var createScheduler = (container, scheduleDrain, journalFlush) => {
@@ -2601,7 +2694,7 @@ var createScheduler = (container, scheduleDrain, journalFlush) => {
2601
2694
  }
2602
2695
  while (choreQueue.length) {
2603
2696
  const nextChore = choreQueue.shift();
2604
- const order = choreComparator(nextChore, runUptoChore, rootVNode, false);
2697
+ const order = choreComparator(nextChore, runUptoChore, rootVNode);
2605
2698
  if (order === null) {
2606
2699
  continue;
2607
2700
  }
@@ -2646,11 +2739,13 @@ var createScheduler = (container, scheduleDrain, journalFlush) => {
2646
2739
  (jsx3) => {
2647
2740
  if (chore.$type$ === 7 /* COMPONENT */) {
2648
2741
  const styleScopedId = container.getHostProp(host, QScopedStyle);
2649
- return vnode_diff(
2650
- container,
2651
- jsx3,
2652
- host,
2653
- addComponentStylePrefix(styleScopedId)
2742
+ return retryOnPromise(
2743
+ () => vnode_diff(
2744
+ container,
2745
+ jsx3,
2746
+ host,
2747
+ addComponentStylePrefix(styleScopedId)
2748
+ )
2654
2749
  );
2655
2750
  } else {
2656
2751
  return jsx3;
@@ -2679,7 +2774,9 @@ var createScheduler = (container, scheduleDrain, journalFlush) => {
2679
2774
  if (isSignal(jsx2)) {
2680
2775
  jsx2 = jsx2.value;
2681
2776
  }
2682
- returnValue = vnode_diff(container, jsx2, parentVirtualNode, null);
2777
+ returnValue = retryOnPromise(
2778
+ () => vnode_diff(container, jsx2, parentVirtualNode, null)
2779
+ );
2683
2780
  break;
2684
2781
  case 5 /* NODE_PROP */:
2685
2782
  const virtualNode = chore.$host$;
@@ -2741,7 +2838,7 @@ var choreUpdate = (existing, newChore) => {
2741
2838
  function vNodeAlreadyDeleted(chore) {
2742
2839
  return !!(chore.$host$ && vnode_isVNode(chore.$host$) && chore.$host$[0 /* flags */] & 32 /* Deleted */);
2743
2840
  }
2744
- function choreComparator(a, b, rootVNode, shouldThrowOnHostMismatch) {
2841
+ function choreComparator(a, b, rootVNode) {
2745
2842
  const macroTypeDiff = (a.$type$ & 240 /* MACRO */) - (b.$type$ & 240 /* MACRO */);
2746
2843
  if (macroTypeDiff !== 0) {
2747
2844
  return macroTypeDiff;
@@ -2760,11 +2857,11 @@ function choreComparator(a, b, rootVNode, shouldThrowOnHostMismatch) {
2760
2857
  You are attempting to change a state that has already been streamed to the client.
2761
2858
  This can lead to inconsistencies between Server-Side Rendering (SSR) and Client-Side Rendering (CSR).
2762
2859
  Problematic Node: ${aHost.toString()}`;
2763
- if (shouldThrowOnHostMismatch) {
2764
- throw qError(45 /* serverHostMismatch */, [errorMessage]);
2765
- }
2766
2860
  logWarn(errorMessage);
2767
- return null;
2861
+ const hostDiff = ssrNodeDocumentPosition(aHost, bHost);
2862
+ if (hostDiff !== 0) {
2863
+ return hostDiff;
2864
+ }
2768
2865
  }
2769
2866
  }
2770
2867
  const microTypeDiff = (a.$type$ & 15 /* MICRO */) - (b.$type$ & 15 /* MICRO */);
@@ -2787,7 +2884,7 @@ function sortedFindIndex(sortedArray, value, rootVNode) {
2787
2884
  while (bottom < top) {
2788
2885
  const middle = bottom + (top - bottom >> 1);
2789
2886
  const midChore = sortedArray[middle];
2790
- const comp = choreComparator(value, midChore, rootVNode, true);
2887
+ const comp = choreComparator(value, midChore, rootVNode);
2791
2888
  if (comp < 0) {
2792
2889
  top = middle;
2793
2890
  } else if (comp > 0) {
@@ -3011,7 +3108,7 @@ var Signal = class {
3011
3108
  // prevent accidental use as value
3012
3109
  valueOf() {
3013
3110
  if (qDev) {
3014
- throw qError(46 /* cannotCoerceSignal */);
3111
+ throw qError(45 /* cannotCoerceSignal */);
3015
3112
  }
3016
3113
  }
3017
3114
  toString() {
@@ -3176,7 +3273,7 @@ var ComputedSignal = class extends Signal {
3176
3273
  try {
3177
3274
  const untrackedValue = computeQrl.getFn(ctx)();
3178
3275
  if (isPromise(untrackedValue)) {
3179
- throw qError(47 /* computedNotSync */, [
3276
+ throw qError(46 /* computedNotSync */, [
3180
3277
  computeQrl.dev ? computeQrl.dev.file : "",
3181
3278
  computeQrl.$hash$
3182
3279
  ]);
@@ -3199,7 +3296,7 @@ var ComputedSignal = class extends Signal {
3199
3296
  return super.value;
3200
3297
  }
3201
3298
  set value(_) {
3202
- throw qError(48 /* computedReadOnly */);
3299
+ throw qError(47 /* computedReadOnly */);
3203
3300
  }
3204
3301
  };
3205
3302
  var WrappedSignal = class extends Signal {
@@ -3265,12 +3362,12 @@ var WrappedSignal = class extends Signal {
3265
3362
  return super.value;
3266
3363
  }
3267
3364
  set value(_) {
3268
- throw qError(49 /* wrappedReadOnly */);
3365
+ throw qError(48 /* wrappedReadOnly */);
3269
3366
  }
3270
3367
  };
3271
3368
 
3272
3369
  // packages/qwik/src/core/version.ts
3273
- var version = "2.0.0-alpha.5-dev+cb53bbd";
3370
+ var version = "2.0.0-alpha.6-dev+d848ba5";
3274
3371
 
3275
3372
  // packages/qwik/src/core/shared/shared-container.ts
3276
3373
  var _SharedContainer = class {
@@ -5108,51 +5205,6 @@ var vnode_getType = (vnode) => {
5108
5205
  };
5109
5206
  var isElement = (node) => node && typeof node == "object" && fastNodeType(node) === /** Node.ELEMENT_NODE* */
5110
5207
  1;
5111
- var aPath = [];
5112
- var bPath = [];
5113
- var vnode_documentPosition = (a, b, rootVNode) => {
5114
- if (a === b) {
5115
- return 0;
5116
- }
5117
- let aDepth = -1;
5118
- let bDepth = -1;
5119
- while (a) {
5120
- const vNode = aPath[++aDepth] = a;
5121
- a = vNode[1 /* parent */] || rootVNode && vnode_getProp(a, QSlotParent, (id) => vnode_locate(rootVNode, id));
5122
- }
5123
- while (b) {
5124
- const vNode = bPath[++bDepth] = b;
5125
- b = vNode[1 /* parent */] || rootVNode && vnode_getProp(b, QSlotParent, (id) => vnode_locate(rootVNode, id));
5126
- }
5127
- while (aDepth >= 0 && bDepth >= 0) {
5128
- a = aPath[aDepth];
5129
- b = bPath[bDepth];
5130
- if (a === b) {
5131
- aDepth--;
5132
- bDepth--;
5133
- } else {
5134
- let cursor = b;
5135
- do {
5136
- cursor = vnode_getNextSibling(cursor);
5137
- if (cursor === a) {
5138
- return 1;
5139
- }
5140
- } while (cursor);
5141
- cursor = b;
5142
- do {
5143
- cursor = vnode_getPreviousSibling(cursor);
5144
- if (cursor === a) {
5145
- return -1;
5146
- }
5147
- } while (cursor);
5148
- if (rootVNode && vnode_getProp(b, QSlotParent, (id) => vnode_locate(rootVNode, id))) {
5149
- return -1;
5150
- }
5151
- return 1;
5152
- }
5153
- }
5154
- return aDepth < bDepth ? -1 : 1;
5155
- };
5156
5208
  var vnode_getProjectionParentComponent = (vHost, rootVNode) => {
5157
5209
  let projectionDepth = 1;
5158
5210
  while (projectionDepth--) {
@@ -8855,7 +8907,7 @@ var SSRContainer = class extends _SharedContainer2 {
8855
8907
  let styleScopedId = null;
8856
8908
  if (isSSRUnsafeAttr(key)) {
8857
8909
  if (isDev9) {
8858
- throw qError(51 /* unsafeAttr */);
8910
+ throw qError(50 /* unsafeAttr */);
8859
8911
  }
8860
8912
  continue;
8861
8913
  }
@@ -1,5 +1,5 @@
1
- import { createClient, type Client } from "@libsql/client/web";
2
1
  import type { RequestEventBase } from "@qwik.dev/router";
2
+ import { createClient, type Client } from "@libsql/client";
3
3
 
4
4
  export function tursoClient(requestEvent: RequestEventBase): Client {
5
5
  const url = requestEvent.env.get("PRIVATE_TURSO_DATABASE_URL")?.trim();