@qwik.dev/core 2.0.0-alpha.1 → 2.0.0-alpha.3

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.
Files changed (39) hide show
  1. package/bindings/qwik.darwin-arm64.node +0 -0
  2. package/bindings/qwik.darwin-x64.node +0 -0
  3. package/bindings/qwik.linux-x64-gnu.node +0 -0
  4. package/bindings/qwik.wasm.cjs +259 -272
  5. package/bindings/qwik.wasm.mjs +259 -272
  6. package/bindings/qwik.win32-x64-msvc.node +0 -0
  7. package/bindings/qwik_wasm_bg.wasm +0 -0
  8. package/dist/build/package.json +1 -1
  9. package/dist/cli.cjs +1384 -761
  10. package/dist/core-internal.d.ts +14 -4
  11. package/dist/core.cjs +121 -106
  12. package/dist/core.cjs.map +1 -1
  13. package/dist/core.min.mjs +1 -1
  14. package/dist/core.mjs +121 -106
  15. package/dist/core.mjs.map +1 -1
  16. package/dist/core.prod.cjs +80 -63
  17. package/dist/core.prod.mjs +82 -65
  18. package/dist/insights/index.qwik.cjs +1 -1
  19. package/dist/insights/index.qwik.mjs +1 -1
  20. package/dist/loader/index.cjs +2 -2
  21. package/dist/loader/index.mjs +2 -2
  22. package/dist/loader/package.json +1 -1
  23. package/dist/optimizer.cjs +94 -80
  24. package/dist/optimizer.mjs +96 -82
  25. package/dist/prefetch/package.json +1 -1
  26. package/dist/qwikloader.debug.js +1 -0
  27. package/dist/qwikloader.js +2 -2
  28. package/dist/server.cjs +125 -96
  29. package/dist/server.mjs +125 -96
  30. package/dist/starters/features/auth/package.json +3 -1
  31. package/dist/starters/features/drizzle/package.json +2 -1
  32. package/dist/starters/features/postcss/package.json +3 -0
  33. package/dist/starters/features/prisma/package.json +2 -1
  34. package/dist/starters/features/tailwind/package.json +3 -0
  35. package/dist/starters/features/turso/package.json +4 -1
  36. package/dist/testing/index.cjs +121 -92
  37. package/dist/testing/index.mjs +121 -92
  38. package/dist/testing/package.json +1 -1
  39. package/package.json +6 -4
package/dist/server.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * @qwik.dev/core/server 2.0.0-alpha.1-dev+10f5414
3
+ * @qwik.dev/core/server 2.0.0-alpha.3-dev+418fd6d
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
@@ -647,6 +647,11 @@ __publicField(SsrNode, "ELEMENT_NODE", 1);
647
647
  __publicField(SsrNode, "TEXT_NODE", 3);
648
648
  __publicField(SsrNode, "DOCUMENT_NODE", 9);
649
649
  __publicField(SsrNode, "DOCUMENT_FRAGMENT_NODE", 11);
650
+ var DomRef = class {
651
+ constructor($ssrNode$) {
652
+ this.$ssrNode$ = $ssrNode$;
653
+ }
654
+ };
650
655
  var SsrComponentFrame = class {
651
656
  constructor(componentNode) {
652
657
  this.componentNode = componentNode;
@@ -945,7 +950,7 @@ function getBuildBase(opts) {
945
950
  return `${import.meta.env.BASE_URL}build/`;
946
951
  }
947
952
  var versions = {
948
- qwik: "2.0.0-alpha.1-dev+10f5414",
953
+ qwik: "2.0.0-alpha.3-dev+418fd6d",
949
954
  qwikDom: "2.1.19"
950
955
  };
951
956
 
@@ -1140,6 +1145,20 @@ var StoreHandler = class {
1140
1145
  if (prop === STORE_TARGET) {
1141
1146
  return true;
1142
1147
  }
1148
+ if (typeof prop === "string") {
1149
+ const ctx = tryGetInvokeContext();
1150
+ if (ctx) {
1151
+ const effectSubscriber = ctx.$effectSubscriber$;
1152
+ if (effectSubscriber) {
1153
+ addEffect(
1154
+ target,
1155
+ Array.isArray(target) ? STORE_ARRAY_PROP : prop,
1156
+ this,
1157
+ effectSubscriber
1158
+ );
1159
+ }
1160
+ }
1161
+ }
1143
1162
  return Object.prototype.hasOwnProperty.call(target, prop);
1144
1163
  }
1145
1164
  ownKeys(target) {
@@ -1936,46 +1955,45 @@ var vnode_diff = (container, jsxNode, vStartNode, scopedStyleIdPrefix) => {
1936
1955
  }
1937
1956
  }
1938
1957
  function descendContentToProject(children, host) {
1939
- if (!Array.isArray(children)) {
1940
- children = [children];
1941
- }
1942
- if (children.length) {
1943
- const createProjectionJSXNode = (slotName) => {
1944
- return new JSXNodeImpl(Projection, EMPTY_OBJ, null, [], 0, slotName);
1945
- };
1946
- const projections = [];
1947
- if (host) {
1948
- for (let i = vnode_getPropStartIndex(host); i < host.length; i = i + 2) {
1949
- const prop = host[i];
1950
- if (isSlotProp(prop)) {
1951
- const slotName = prop;
1952
- projections.push(slotName);
1953
- projections.push(createProjectionJSXNode(slotName));
1954
- }
1958
+ const projectionChildren = Array.isArray(children) ? children : [children];
1959
+ const createProjectionJSXNode = (slotName) => {
1960
+ return new JSXNodeImpl(Projection, EMPTY_OBJ, null, [], 0, slotName);
1961
+ };
1962
+ const projections = [];
1963
+ if (host) {
1964
+ for (let i = vnode_getPropStartIndex(host); i < host.length; i = i + 2) {
1965
+ const prop = host[i];
1966
+ if (isSlotProp(prop)) {
1967
+ const slotName = prop;
1968
+ projections.push(slotName);
1969
+ projections.push(createProjectionJSXNode(slotName));
1955
1970
  }
1956
1971
  }
1957
- for (let i = 0; i < children.length; i++) {
1958
- const child = children[i];
1959
- const slotName = String(
1960
- isJSXNode2(child) && directGetPropsProxyProp(child, QSlot) || QDefaultSlot
1961
- );
1962
- const idx = mapApp_findIndx(projections, slotName, 0);
1963
- let jsxBucket;
1964
- if (idx >= 0) {
1965
- jsxBucket = projections[idx + 1];
1966
- } else {
1967
- projections.splice(~idx, 0, slotName, jsxBucket = createProjectionJSXNode(slotName));
1968
- }
1969
- const removeProjection = child === false;
1970
- if (!removeProjection) {
1971
- jsxBucket.children.push(child);
1972
- }
1972
+ }
1973
+ if (projections.length === 0 && children == null) {
1974
+ return;
1975
+ }
1976
+ for (let i = 0; i < projectionChildren.length; i++) {
1977
+ const child = projectionChildren[i];
1978
+ const slotName = String(
1979
+ isJSXNode2(child) && directGetPropsProxyProp(child, QSlot) || QDefaultSlot
1980
+ );
1981
+ const idx = mapApp_findIndx(projections, slotName, 0);
1982
+ let jsxBucket;
1983
+ if (idx >= 0) {
1984
+ jsxBucket = projections[idx + 1];
1985
+ } else {
1986
+ projections.splice(~idx, 0, slotName, jsxBucket = createProjectionJSXNode(slotName));
1973
1987
  }
1974
- for (let i = projections.length - 2; i >= 0; i = i - 2) {
1975
- projections.splice(i, 1);
1988
+ const removeProjection = child === false;
1989
+ if (!removeProjection) {
1990
+ jsxBucket.children.push(child);
1976
1991
  }
1977
- descend(projections, true);
1978
1992
  }
1993
+ for (let i = projections.length - 2; i >= 0; i = i - 2) {
1994
+ projections.splice(i, 1);
1995
+ }
1996
+ descend(projections, true);
1979
1997
  }
1980
1998
  function expectProjection() {
1981
1999
  const jsxNode2 = jsxValue;
@@ -2427,7 +2445,7 @@ var vnode_diff = (container, jsxNode, vStartNode, scopedStyleIdPrefix) => {
2427
2445
  container.$scheduler$(7 /* COMPONENT */, host, componentQRL, jsxProps);
2428
2446
  }
2429
2447
  }
2430
- jsxNode2.children != null && descendContentToProject(jsxNode2.children, host);
2448
+ descendContentToProject(jsxNode2.children, host);
2431
2449
  } else {
2432
2450
  const lookupKey = jsxNode2.key;
2433
2451
  const vNodeLookupKey = getKey(host);
@@ -2741,7 +2759,17 @@ var createScheduler = (container, scheduleDrain, journalFlush) => {
2741
2759
  chore.$payload$
2742
2760
  ),
2743
2761
  (jsx3) => {
2744
- return chore.$type$ === 7 /* COMPONENT */ ? maybeThen(container.processJsx(host, jsx3), () => jsx3) : jsx3;
2762
+ if (chore.$type$ === 7 /* COMPONENT */) {
2763
+ const styleScopedId = container.getHostProp(host, QScopedStyle);
2764
+ return vnode_diff(
2765
+ container,
2766
+ jsx3,
2767
+ host,
2768
+ addComponentStylePrefix(styleScopedId)
2769
+ );
2770
+ } else {
2771
+ return jsx3;
2772
+ }
2745
2773
  },
2746
2774
  (err) => container.handleError(err, host)
2747
2775
  );
@@ -2829,7 +2857,10 @@ function choreComparator(a, b, shouldThrowOnHostMismatch) {
2829
2857
  return hostDiff;
2830
2858
  }
2831
2859
  } else {
2832
- const errorMessage = "SERVER: during HTML streaming, it is not possible to cause a re-run of tasks on a different host";
2860
+ const errorMessage = `SERVER: during HTML streaming, re-running tasks on a different host is not allowed.
2861
+ You are attempting to change a state that has already been streamed to the client.
2862
+ This can lead to inconsistencies between Server-Side Rendering (SSR) and Client-Side Rendering (CSR).
2863
+ Problematic Node: ${aHost.toString()}`;
2833
2864
  if (shouldThrowOnHostMismatch) {
2834
2865
  throwErrorAndStop(errorMessage);
2835
2866
  }
@@ -2999,9 +3030,11 @@ var isTask = (value) => {
2999
3030
  return value instanceof Task;
3000
3031
  };
3001
3032
 
3033
+ // packages/qwik/src/core/signal/flags.ts
3034
+ var NEEDS_COMPUTATION = Symbol("invalid");
3035
+
3002
3036
  // packages/qwik/src/core/signal/signal.ts
3003
3037
  var DEBUG3 = false;
3004
- var NEEDS_COMPUTATION = Symbol("invalid");
3005
3038
  var log2 = (...args) => console.log("SIGNAL", ...args.map(qwikDebugToString));
3006
3039
  var throwIfQRLNotResolved = (qrl) => {
3007
3040
  const resolved = qrl.resolved;
@@ -3334,7 +3367,7 @@ var WrappedSignal = class extends Signal {
3334
3367
  };
3335
3368
 
3336
3369
  // packages/qwik/src/core/version.ts
3337
- var version = "2.0.0-alpha.1-dev+10f5414";
3370
+ var version = "2.0.0-alpha.3-dev+418fd6d";
3338
3371
 
3339
3372
  // packages/qwik/src/core/shared/shared-container.ts
3340
3373
  var _SharedContainer = class {
@@ -3361,9 +3394,10 @@ var _SharedContainer = class {
3361
3394
  trackSignalValue(signal, subscriber, property, data) {
3362
3395
  return trackSignal(() => signal.value, subscriber, property, this, data);
3363
3396
  }
3364
- serializationCtxFactory(NodeConstructor, symbolToChunkResolver, writer, prepVNodeData) {
3397
+ serializationCtxFactory(NodeConstructor, DomRefConstructor, symbolToChunkResolver, writer, prepVNodeData) {
3365
3398
  return createSerializationContext(
3366
3399
  NodeConstructor,
3400
+ DomRefConstructor,
3367
3401
  symbolToChunkResolver,
3368
3402
  this.getHostProp.bind(this),
3369
3403
  this.setHostProp.bind(this),
@@ -5658,10 +5692,6 @@ var DomContainer = class extends _SharedContainer {
5658
5692
  parseQRL(qrl) {
5659
5693
  return inflateQRL(this, parseQRL(qrl));
5660
5694
  }
5661
- processJsx(host, jsx2) {
5662
- const styleScopedId = this.getHostProp(host, QScopedStyle);
5663
- return vnode_diff(this, jsx2, host, addComponentStylePrefix(styleScopedId));
5664
- }
5665
5695
  handleError(err, host) {
5666
5696
  if (qDev) {
5667
5697
  if (typeof document !== "undefined") {
@@ -5921,7 +5951,9 @@ var inflate = (container, target, typeId, data) => {
5921
5951
  if (valType === 0 /* RootRef */ || valType >= 12 /* Error */) {
5922
5952
  Object.defineProperty(target, key, {
5923
5953
  get() {
5924
- return deserializeData(container, valType, valData);
5954
+ const value = deserializeData(container, valType, valData);
5955
+ target[key] = value;
5956
+ return value;
5925
5957
  },
5926
5958
  set(value) {
5927
5959
  Object.defineProperty(target, key, {
@@ -6243,12 +6275,8 @@ function inflateQRL(container, qrl) {
6243
6275
  }
6244
6276
  return qrl;
6245
6277
  }
6246
- var DomVRef = class {
6247
- constructor(id) {
6248
- this.id = id;
6249
- }
6250
- };
6251
- var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getProp, setProp, storeProxyMap, writer, prepVNodeData) => {
6278
+ var isDomRef = (obj) => false;
6279
+ var createSerializationContext = (NodeConstructor, DomRefConstructor, symbolToChunkResolver, getProp, setProp, storeProxyMap, writer, prepVNodeData) => {
6252
6280
  if (!writer) {
6253
6281
  const buffer = [];
6254
6282
  writer = {
@@ -6272,11 +6300,13 @@ var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getPro
6272
6300
  return id;
6273
6301
  };
6274
6302
  const isSsrNode = NodeConstructor ? (obj) => obj instanceof NodeConstructor : () => false;
6303
+ isDomRef = DomRefConstructor ? (obj) => obj instanceof DomRefConstructor : () => false;
6275
6304
  return {
6276
6305
  $serialize$() {
6277
6306
  serialize(this);
6278
6307
  },
6279
6308
  $isSsrNode$: isSsrNode,
6309
+ $isDomRef$: isDomRef,
6280
6310
  $symbolToChunkResolver$: symbolToChunkResolver,
6281
6311
  $wasSeen$,
6282
6312
  $roots$: roots,
@@ -6385,6 +6415,8 @@ var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getPro
6385
6415
  discoveredValues.push(obj.$el$, obj.$qrl$, obj.$state$, obj.$effectDependencies$);
6386
6416
  } else if (isSsrNode(obj)) {
6387
6417
  discoveredValues.push(obj.vnodeData);
6418
+ } else if (isDomRef(obj)) {
6419
+ discoveredValues.push(obj.$ssrNode$.id);
6388
6420
  } else if (isJSXNode2(obj)) {
6389
6421
  discoveredValues.push(obj.type, obj.props, obj.constProps, obj.children);
6390
6422
  } else if (Array.isArray(obj)) {
@@ -6439,7 +6471,7 @@ var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getPro
6439
6471
  };
6440
6472
  var promiseResults = /* @__PURE__ */ new WeakMap();
6441
6473
  function serialize(serializationContext) {
6442
- const { $writer$, $isSsrNode$, $setProp$, $storeProxyMap$ } = serializationContext;
6474
+ const { $writer$, $isSsrNode$, $isDomRef$, $setProp$, $storeProxyMap$ } = serializationContext;
6443
6475
  let depth = -1;
6444
6476
  let writeType = false;
6445
6477
  const output = (type, value) => {
@@ -6607,14 +6639,11 @@ function serialize(serializationContext) {
6607
6639
  }
6608
6640
  output(13 /* Object */, out);
6609
6641
  }
6610
- } else if (value instanceof DomVRef) {
6611
- output(9 /* RefVNode */, value.id);
6642
+ } else if ($isDomRef$(value)) {
6643
+ value.$ssrNode$.vnodeData[0] |= 8 /* SERIALIZE */;
6644
+ output(9 /* RefVNode */, value.$ssrNode$.id);
6612
6645
  } else if (value instanceof Signal) {
6613
- let v = value instanceof ComputedSignal && (value.$invalid$ || fastSkipSerialize(value.$untrackedValue$)) ? NEEDS_COMPUTATION : value.$untrackedValue$;
6614
- if ($isSsrNode$(v)) {
6615
- serializationContext.$addRoot$(v);
6616
- v = new DomVRef(v.id);
6617
- }
6646
+ const v = value instanceof ComputedSignal && (value.$invalid$ || fastSkipSerialize(value.$untrackedValue$)) ? NEEDS_COMPUTATION : value.$untrackedValue$;
6618
6647
  if (value instanceof WrappedSignal) {
6619
6648
  output(23 /* WrappedSignal */, [
6620
6649
  ...serializeWrappingFn(serializationContext, value),
@@ -6876,6 +6905,8 @@ var canSerialize = (value) => {
6876
6905
  return true;
6877
6906
  } else if (value instanceof Uint8Array) {
6878
6907
  return true;
6908
+ } else if (isDomRef?.(value)) {
6909
+ return true;
6879
6910
  }
6880
6911
  } else if (typeof value === "function") {
6881
6912
  if (isQrl2(value) || isQwikComponent(value)) {
@@ -7000,8 +7031,8 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
7000
7031
  }
7001
7032
  let _containerEl;
7002
7033
  const qrl = async function(...args) {
7003
- const fn = invokeFn.call(this, tryGetInvokeContext());
7004
- const result = await fn(...args);
7034
+ const boundedFn = bindFnToContext.call(this, tryGetInvokeContext());
7035
+ const result = await boundedFn(...args);
7005
7036
  return result;
7006
7037
  };
7007
7038
  const setContainer = (el) => {
@@ -7010,6 +7041,30 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
7010
7041
  }
7011
7042
  return _containerEl;
7012
7043
  };
7044
+ function bindFnToContext(currentCtx, beforeFn) {
7045
+ return (...args) => maybeThen(resolveLazy(), (fn) => {
7046
+ if (!isFunction(fn)) {
7047
+ throw qError(QError_qrlIsNotFunction);
7048
+ }
7049
+ if (beforeFn && beforeFn() === false) {
7050
+ return;
7051
+ }
7052
+ const context = createOrReuseInvocationContext(currentCtx);
7053
+ const prevQrl = context.$qrl$;
7054
+ const prevEvent = context.$event$;
7055
+ context.$qrl$ = qrl;
7056
+ context.$event$ || (context.$event$ = this);
7057
+ try {
7058
+ return invoke.call(this, context, fn, ...args);
7059
+ } finally {
7060
+ context.$qrl$ = prevQrl;
7061
+ context.$event$ = prevEvent;
7062
+ }
7063
+ });
7064
+ }
7065
+ const resolveLazy = (containerEl) => {
7066
+ return symbolRef !== null ? symbolRef : resolve(containerEl);
7067
+ };
7013
7068
  const wrapFn = (fn) => {
7014
7069
  if (typeof fn !== "function" || !capture?.length && !captureRef?.length) {
7015
7070
  return fn;
@@ -7059,30 +7114,6 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
7059
7114
  }
7060
7115
  return symbolRef;
7061
7116
  };
7062
- const resolveLazy = (containerEl) => {
7063
- return symbolRef !== null ? symbolRef : resolve(containerEl);
7064
- };
7065
- function invokeFn(currentCtx, beforeFn) {
7066
- return (...args) => maybeThen(resolveLazy(), (f) => {
7067
- if (!isFunction(f)) {
7068
- throw qError(QError_qrlIsNotFunction);
7069
- }
7070
- if (beforeFn && beforeFn() === false) {
7071
- return;
7072
- }
7073
- const context = createOrReuseInvocationContext(currentCtx);
7074
- const prevQrl = context.$qrl$;
7075
- const prevEvent = context.$event$;
7076
- context.$qrl$ = qrl;
7077
- context.$event$ || (context.$event$ = this);
7078
- try {
7079
- return invoke.call(this, context, f, ...args);
7080
- } finally {
7081
- context.$qrl$ = prevQrl;
7082
- context.$event$ = prevEvent;
7083
- }
7084
- });
7085
- }
7086
7117
  const createOrReuseInvocationContext = (invoke2) => {
7087
7118
  if (invoke2 == null) {
7088
7119
  return newInvokeContext();
@@ -7105,7 +7136,7 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
7105
7136
  $symbol$: symbol,
7106
7137
  $refSymbol$: refSymbol,
7107
7138
  $hash$: hash2,
7108
- getFn: invokeFn,
7139
+ getFn: bindFnToContext,
7109
7140
  $capture$: capture,
7110
7141
  $captureRef$: captureRef,
7111
7142
  dev: null,
@@ -7816,6 +7847,7 @@ var SSRContainer = class extends _SharedContainer2 {
7816
7847
  };
7817
7848
  this.serializationCtx = this.serializationCtxFactory(
7818
7849
  SsrNode,
7850
+ DomRef,
7819
7851
  this.symbolToChunkResolver,
7820
7852
  opts.writer,
7821
7853
  (vNodeData) => this.addVNodeToSerializationRoots(vNodeData)
@@ -7831,9 +7863,6 @@ var SSRContainer = class extends _SharedContainer2 {
7831
7863
  }
7832
7864
  ensureProjectionResolved(host) {
7833
7865
  }
7834
- processJsx(host, jsx2) {
7835
- throw new Error("Should not get here.");
7836
- }
7837
7866
  handleError(err, $host$) {
7838
7867
  throw err;
7839
7868
  }
@@ -8579,10 +8608,10 @@ var SSRContainer = class extends _SharedContainer2 {
8579
8608
  if (key === "ref") {
8580
8609
  const lastNode = this.getLastNode();
8581
8610
  if (isSignal2(value)) {
8582
- value.value = lastNode;
8611
+ value.value = new DomRef(lastNode);
8583
8612
  continue;
8584
8613
  } else if (typeof value === "function") {
8585
- value(lastNode);
8614
+ value(new DomRef(lastNode));
8586
8615
  continue;
8587
8616
  }
8588
8617
  }
@@ -8856,8 +8885,8 @@ function resolveManifest(manifest) {
8856
8885
  var Q_FUNCS_PREFIX = 'document["qFuncs_HASH"]=';
8857
8886
 
8858
8887
  // packages/qwik/src/server/scripts.ts
8859
- var QWIK_LOADER_DEFAULT_MINIFIED = '(()=>{var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,s=(e,s)=>{for(var a in s||(s={}))n.call(s,a)&&o(e,a,s[a]);if(t)for(var a of t(s))r.call(s,a)&&o(e,a,s[a]);return e};((e,t)=>{const n="__q_context__",r=window,o=new Set,a=new Set([e]),c="replace",i="forEach",l="target",f="getAttribute",p="isConnected",b="qvisible",u="_qwikjson_",h=(e,t)=>Array.from(e.querySelectorAll(t)),y=e=>{const t=[];return a.forEach((n=>t.push(...h(n,e)))),t},d=e=>{S(e),h(e,"[q\\\\:shadowroot]").forEach((e=>{const t=e.shadowRoot;t&&d(t)}))},q=e=>e&&"function"==typeof e.then,m=(e,t,n=t.type)=>{y("[on"+e+"\\\\:"+n+"]")[i]((r=>E(r,e,t,n)))},w=t=>{if(void 0===t[u]){let n=(t===e.documentElement?e.body:t).lastElementChild;for(;n;){if("SCRIPT"===n.tagName&&"qwik/json"===n[f]("type")){t[u]=JSON.parse(n.textContent[c](/\\\\x3C(\\/?script)/gi,"<$1"));break}n=n.previousElementSibling}}},v=(e,t)=>new CustomEvent(e,{detail:t}),E=async(t,r,o,a=o.type)=>{const i="on"+r+":"+a;t.hasAttribute("preventdefault:"+a)&&o.preventDefault();const l=t._qc_,b=l&&l.li.filter((e=>e[0]===i));if(b&&b.length>0){for(const e of b){const n=e[1].getFn([t,o],(()=>t[p]))(o,t),r=o.cancelBubble;q(n)&&await n,r&&o.stopPropagation()}return}const u=t.qDispatchEvent;if(u)return u(o,r);const h=t[f](i);if(h){const r=t.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),a=r[f]("q:base"),i=r[f]("q:version")||"unknown",l=r[f]("q:manifest-hash")||"dev",b=new URL(a,e.baseURI);for(const f of h.split("\\n")){const u=new URL(f,b),h=u.href,y=u.hash[c](/^#?([^?[|]*).*$/,"$1")||"default",d=performance.now();let m,v,E;const _=f.startsWith("#"),A={qBase:a,qManifest:l,qVersion:i,href:h,symbol:y,element:t,reqTime:d};if(_){const t=r.getAttribute("q:instance");m=(e["qFuncs_"+t]||[])[Number.parseInt(y)],m||(v="sync",E=Error("sync handler error for symbol: "+y))}else{const e=u.href.split("#")[0];try{const t=import(e);w(r),m=(await t)[y],m||(v="no-symbol",E=Error(`${y} not in ${e}`))}catch(e){v||(v="async"),E=e}}if(!m){g("qerror",s({importError:v,error:E},A)),console.error(E);break}const k=e[n];if(t[p]){const r=async(a=0)=>{try{e[n]=[t,o,u],_||g("qsymbol",s({},A));const r=m(o,t);q(r)&&await r}catch(e){q(e)&&a<100?e.then((()=>r(a++))):g("qerror",s({error:e},A))}finally{e[n]=k}};r()}}}},g=(t,n)=>{e.dispatchEvent(v(t,n))},_=e=>e[c](/([A-Z])/g,(e=>"-"+e.toLowerCase())),A=async e=>{let t=_(e.type),n=e[l];for(m("-document",e,t);n&&n[f];){const r=E(n,"",e,t);let o=e.cancelBubble;q(r)&&await r,o=o||e.cancelBubble||n.hasAttribute("stoppropagation:"+e.type),n=e.bubbles&&!0!==o?n.parentElement:null}},k=e=>{m("-window",e,_(e.type))},C=()=>{var n;const s=e.readyState;if(!t&&("interactive"==s||"complete"==s)&&(a.forEach(d),t=1,g("qinit"),(null!=(n=r.requestIdleCallback)?n:r.setTimeout).bind(r)((()=>g("qidle"))),o.has(b))){const e=y("[on\\\\:"+b+"]"),t=new IntersectionObserver((e=>{for(const n of e)n.isIntersecting&&(t.unobserve(n[l]),E(n[l],"",v(b,n)))}));e[i]((e=>t.observe(e)))}},O=(e,t,n,r=!1)=>e.addEventListener(t,n,{capture:r,passive:!1}),S=(...e)=>{for(const t of e)"string"==typeof t?o.has(t)||(a.forEach((e=>O(e,t,A,!0))),O(r,t,k,!0),o.add(t)):a.has(t)||(o.forEach((e=>O(t,e,A,!0))),a.add(t))};if(!(n in e)){e[n]=0;const t=r.qwikevents;Array.isArray(t)&&S(...t),r.qwikevents={events:o,roots:a,push:S},O(e,"readystatechange",C),C()}})(document)})()';
8860
- var QWIK_LOADER_DEFAULT_DEBUG = '(() => {\n var __defProp = Object.defineProperty;\n var __getOwnPropSymbols = Object.getOwnPropertySymbols;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __propIsEnum = Object.prototype.propertyIsEnumerable;\n var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: value\n }) : obj[key] = value;\n var __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) {\n __hasOwnProp.call(b, prop) && __defNormalProp(a, prop, b[prop]);\n }\n if (__getOwnPropSymbols) {\n for (var prop of __getOwnPropSymbols(b)) {\n __propIsEnum.call(b, prop) && __defNormalProp(a, prop, b[prop]);\n }\n }\n return a;\n };\n ((doc, hasInitialized) => {\n const Q_CONTEXT = "__q_context__";\n const win = window;\n const events = new Set;\n const roots = new Set([ doc ]);\n const nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\n const querySelectorAll = query => {\n const elements = [];\n roots.forEach((root => elements.push(...nativeQuerySelectorAll(root, query))));\n return elements;\n };\n const findShadowRoots = fragment => {\n processEventOrNode(fragment);\n nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]").forEach((parent => {\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }));\n };\n const isPromise = promise => promise && "function" == typeof promise.then;\n const broadcast = (infix, ev, type = ev.type) => {\n querySelectorAll("[on" + infix + "\\\\:" + type + "]").forEach((el => dispatch(el, infix, ev, type)));\n };\n const resolveContainer = containerEl => {\n if (void 0 === containerEl._qwikjson_) {\n let script = (containerEl === doc.documentElement ? doc.body : containerEl).lastElementChild;\n while (script) {\n if ("SCRIPT" === script.tagName && "qwik/json" === script.getAttribute("type")) {\n containerEl._qwikjson_ = JSON.parse(script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1"));\n break;\n }\n script = script.previousElementSibling;\n }\n }\n };\n const createEvent = (eventName, detail) => new CustomEvent(eventName, {\n detail: detail\n });\n const dispatch = async (element, scope, ev, eventName = ev.type) => {\n const attrName = "on" + scope + ":" + eventName;\n element.hasAttribute("preventdefault:" + eventName) && ev.preventDefault();\n const ctx = element._qc_;\n const relevantListeners = ctx && ctx.li.filter((li => li[0] === attrName));\n if (relevantListeners && relevantListeners.length > 0) {\n for (const listener of relevantListeners) {\n const results = listener[1].getFn([ element, ev ], (() => element.isConnected))(ev, element);\n const cancelBubble = ev.cancelBubble;\n isPromise(results) && await results;\n cancelBubble && ev.stopPropagation();\n }\n return;\n }\n const qDispatchEvent = element.qDispatchEvent;\n if (qDispatchEvent) {\n return qDispatchEvent(ev, scope);\n }\n const attrValue = element.getAttribute(attrName);\n if (attrValue) {\n const container = element.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n const qBase = container.getAttribute("q:base");\n const qVersion = container.getAttribute("q:version") || "unknown";\n const qManifest = container.getAttribute("q:manifest-hash") || "dev";\n const base = new URL(qBase, doc.baseURI);\n for (const qrl of attrValue.split("\\n")) {\n const url = new URL(qrl, base);\n const href = url.href;\n const symbol = url.hash.replace(/^#?([^?[|]*).*$/, "$1") || "default";\n const reqTime = performance.now();\n let handler;\n let importError;\n let error;\n const isSync = qrl.startsWith("#");\n const eventData = {\n qBase: qBase,\n qManifest: qManifest,\n qVersion: qVersion,\n href: href,\n symbol: symbol,\n element: element,\n reqTime: reqTime\n };\n if (isSync) {\n const hash = container.getAttribute("q:instance");\n handler = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler) {\n importError = "sync";\n error = new Error("sync handler error for symbol: " + symbol);\n }\n } else {\n const uri = url.href.split("#")[0];\n try {\n const module = import(\n uri);\n resolveContainer(container);\n handler = (await module)[symbol];\n if (!handler) {\n importError = "no-symbol";\n error = new Error(`${symbol} not in ${uri}`);\n }\n } catch (err) {\n importError || (importError = "async");\n error = err;\n }\n }\n if (!handler) {\n emitEvent("qerror", __spreadValues({\n importError: importError,\n error: error\n }, eventData));\n console.error(error);\n break;\n }\n const previousCtx = doc[Q_CONTEXT];\n if (element.isConnected) {\n const handleEvent = async (retryCount = 0) => {\n try {\n doc[Q_CONTEXT] = [ element, ev, url ];\n isSync || emitEvent("qsymbol", __spreadValues({}, eventData));\n const results = handler(ev, element);\n isPromise(results) && await results;\n } catch (error2) {\n isPromise(error2) && retryCount < 100 ? error2.then((() => handleEvent(retryCount++))) : emitEvent("qerror", __spreadValues({\n error: error2\n }, eventData));\n } finally {\n doc[Q_CONTEXT] = previousCtx;\n }\n };\n handleEvent();\n }\n }\n }\n };\n const emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n };\n const camelToKebab = str => str.replace(/([A-Z])/g, (a => "-" + a.toLowerCase()));\n const processDocumentEvent = async ev => {\n let type = camelToKebab(ev.type);\n let element = ev.target;\n broadcast("-document", ev, type);\n while (element && element.getAttribute) {\n const results = dispatch(element, "", ev, type);\n let cancelBubble = ev.cancelBubble;\n isPromise(results) && await results;\n cancelBubble = cancelBubble || ev.cancelBubble || element.hasAttribute("stoppropagation:" + ev.type);\n element = ev.bubbles && !0 !== cancelBubble ? element.parentElement : null;\n }\n };\n const processWindowEvent = ev => {\n broadcast("-window", ev, camelToKebab(ev.type));\n };\n const processReadyStateChange = () => {\n var _a;\n const readyState = doc.readyState;\n if (!hasInitialized && ("interactive" == readyState || "complete" == readyState)) {\n roots.forEach(findShadowRoots);\n hasInitialized = 1;\n emitEvent("qinit");\n (null != (_a = win.requestIdleCallback) ? _a : win.setTimeout).bind(win)((() => emitEvent("qidle")));\n if (events.has("qvisible")) {\n const results = querySelectorAll("[on\\\\:qvisible]");\n const observer = new IntersectionObserver((entries => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(entry.target, "", createEvent("qvisible", entry));\n }\n }\n }));\n results.forEach((el => observer.observe(el)));\n }\n }\n };\n const addEventListener = (el, eventName, handler, capture = !1) => el.addEventListener(eventName, handler, {\n capture: capture,\n passive: !1\n });\n const processEventOrNode = (...eventNames) => {\n for (const eventNameOrNode of eventNames) {\n if ("string" == typeof eventNameOrNode) {\n if (!events.has(eventNameOrNode)) {\n roots.forEach((root => addEventListener(root, eventNameOrNode, processDocumentEvent, !0)));\n addEventListener(win, eventNameOrNode, processWindowEvent, !0);\n events.add(eventNameOrNode);\n }\n } else if (!roots.has(eventNameOrNode)) {\n events.forEach((eventName => addEventListener(eventNameOrNode, eventName, processDocumentEvent, !0)));\n roots.add(eventNameOrNode);\n }\n }\n };\n if (!(Q_CONTEXT in doc)) {\n doc[Q_CONTEXT] = 0;\n const qwikevents = win.qwikevents;\n Array.isArray(qwikevents) && processEventOrNode(...qwikevents);\n win.qwikevents = {\n events: events,\n roots: roots,\n push: processEventOrNode\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n }\n })(document);\n})()';
8888
+ var QWIK_LOADER_DEFAULT_MINIFIED = '(()=>{var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,s=(e,s)=>{for(var a in s||(s={}))n.call(s,a)&&r(e,a,s[a]);if(t)for(var a of t(s))o.call(s,a)&&r(e,a,s[a]);return e};((e,t)=>{const n="__q_context__",o=window,r=new Set,a=new Set([e]),i="replace",c="forEach",l="target",f="getAttribute",p="isConnected",b="qvisible",u="_qwikjson_",h=(e,t)=>Array.from(e.querySelectorAll(t)),y=e=>{const t=[];return a.forEach((n=>t.push(...h(n,e)))),t},d=e=>{S(e),h(e,"[q\\\\:shadowroot]").forEach((e=>{const t=e.shadowRoot;t&&d(t)}))},q=e=>e&&"function"==typeof e.then,m=(e,t,n=t.type)=>{y("[on"+e+"\\\\:"+n+"]")[c]((o=>g(o,e,t,n)))},w=t=>{if(void 0===t[u]){let n=(t===e.documentElement?e.body:t).lastElementChild;for(;n;){if("SCRIPT"===n.tagName&&"qwik/json"===n[f]("type")){t[u]=JSON.parse(n.textContent[i](/\\\\x3C(\\/?script)/gi,"<$1"));break}n=n.previousElementSibling}}},v=(e,t)=>new CustomEvent(e,{detail:t}),g=async(t,o,r,a=r.type)=>{const c="on"+o+":"+a;t.hasAttribute("preventdefault:"+a)&&r.preventDefault(),t.hasAttribute("stoppropagation:"+a)&&r.stopPropagation();const l=t._qc_,b=l&&l.li.filter((e=>e[0]===c));if(b&&b.length>0){for(const e of b){const n=e[1].getFn([t,r],(()=>t[p]))(r,t),o=r.cancelBubble;q(n)&&await n,o&&r.stopPropagation()}return}const u=t.qDispatchEvent;if(u)return u(r,o);const h=t[f](c);if(h){const o=t.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),a=o[f]("q:base"),c=o[f]("q:version")||"unknown",l=o[f]("q:manifest-hash")||"dev",b=new URL(a,e.baseURI);for(const f of h.split("\\n")){const u=new URL(f,b),h=u.href,y=u.hash[i](/^#?([^?[|]*).*$/,"$1")||"default",d=performance.now();let m,v,g;const A=f.startsWith("#"),_={qBase:a,qManifest:l,qVersion:c,href:h,symbol:y,element:t,reqTime:d};if(A){const t=o.getAttribute("q:instance");m=(e["qFuncs_"+t]||[])[Number.parseInt(y)],m||(v="sync",g=Error("sync handler error for symbol: "+y))}else{const e=u.href.split("#")[0];try{const t=import(e);w(o),m=(await t)[y],m||(v="no-symbol",g=Error(`${y} not in ${e}`))}catch(e){v||(v="async"),g=e}}if(!m){E("qerror",s({importError:v,error:g},_)),console.error(g);break}const k=e[n];if(t[p]){const o=async(a=0)=>{try{e[n]=[t,r,u],A||E("qsymbol",s({},_));const o=m(r,t);q(o)&&await o}catch(e){q(e)&&a<100?e.then((()=>o(a++))):E("qerror",s({error:e},_))}finally{e[n]=k}};o()}}}},E=(t,n)=>{e.dispatchEvent(v(t,n))},A=e=>e[i](/([A-Z])/g,(e=>"-"+e.toLowerCase())),_=async e=>{let t=A(e.type),n=e[l];for(m("-document",e,t);n&&n[f];){const o=g(n,"",e,t);let r=e.cancelBubble;q(o)&&await o,r=r||e.cancelBubble||n.hasAttribute("stoppropagation:"+e.type),n=e.bubbles&&!0!==r?n.parentElement:null}},k=e=>{m("-window",e,A(e.type))},C=()=>{var n;const s=e.readyState;if(!t&&("interactive"==s||"complete"==s)&&(a.forEach(d),t=1,E("qinit"),(null!=(n=o.requestIdleCallback)?n:o.setTimeout).bind(o)((()=>E("qidle"))),r.has(b))){const e=y("[on\\\\:"+b+"]"),t=new IntersectionObserver((e=>{for(const n of e)n.isIntersecting&&(t.unobserve(n[l]),g(n[l],"",v(b,n)))}));e[c]((e=>t.observe(e)))}},O=(e,t,n,o=!1)=>e.addEventListener(t,n,{capture:o,passive:!1}),S=(...e)=>{for(const t of e)"string"==typeof t?r.has(t)||(a.forEach((e=>O(e,t,_,!0))),O(o,t,k,!0),r.add(t)):a.has(t)||(r.forEach((e=>O(t,e,_,!0))),a.add(t))};if(!(n in e)){e[n]=0;const t=o.qwikevents;Array.isArray(t)&&S(...t),o.qwikevents={events:r,roots:a,push:S},O(e,"readystatechange",C),C()}})(document)})()';
8889
+ var QWIK_LOADER_DEFAULT_DEBUG = '(() => {\n var __defProp = Object.defineProperty;\n var __getOwnPropSymbols = Object.getOwnPropertySymbols;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __propIsEnum = Object.prototype.propertyIsEnumerable;\n var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: value\n }) : obj[key] = value;\n var __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) {\n __hasOwnProp.call(b, prop) && __defNormalProp(a, prop, b[prop]);\n }\n if (__getOwnPropSymbols) {\n for (var prop of __getOwnPropSymbols(b)) {\n __propIsEnum.call(b, prop) && __defNormalProp(a, prop, b[prop]);\n }\n }\n return a;\n };\n ((doc, hasInitialized) => {\n const Q_CONTEXT = "__q_context__";\n const win = window;\n const events = new Set;\n const roots = new Set([ doc ]);\n const nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\n const querySelectorAll = query => {\n const elements = [];\n roots.forEach((root => elements.push(...nativeQuerySelectorAll(root, query))));\n return elements;\n };\n const findShadowRoots = fragment => {\n processEventOrNode(fragment);\n nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]").forEach((parent => {\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }));\n };\n const isPromise = promise => promise && "function" == typeof promise.then;\n const broadcast = (infix, ev, type = ev.type) => {\n querySelectorAll("[on" + infix + "\\\\:" + type + "]").forEach((el => dispatch(el, infix, ev, type)));\n };\n const resolveContainer = containerEl => {\n if (void 0 === containerEl._qwikjson_) {\n let script = (containerEl === doc.documentElement ? doc.body : containerEl).lastElementChild;\n while (script) {\n if ("SCRIPT" === script.tagName && "qwik/json" === script.getAttribute("type")) {\n containerEl._qwikjson_ = JSON.parse(script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1"));\n break;\n }\n script = script.previousElementSibling;\n }\n }\n };\n const createEvent = (eventName, detail) => new CustomEvent(eventName, {\n detail: detail\n });\n const dispatch = async (element, scope, ev, eventName = ev.type) => {\n const attrName = "on" + scope + ":" + eventName;\n element.hasAttribute("preventdefault:" + eventName) && ev.preventDefault();\n element.hasAttribute("stoppropagation:" + eventName) && ev.stopPropagation();\n const ctx = element._qc_;\n const relevantListeners = ctx && ctx.li.filter((li => li[0] === attrName));\n if (relevantListeners && relevantListeners.length > 0) {\n for (const listener of relevantListeners) {\n const results = listener[1].getFn([ element, ev ], (() => element.isConnected))(ev, element);\n const cancelBubble = ev.cancelBubble;\n isPromise(results) && await results;\n cancelBubble && ev.stopPropagation();\n }\n return;\n }\n const qDispatchEvent = element.qDispatchEvent;\n if (qDispatchEvent) {\n return qDispatchEvent(ev, scope);\n }\n const attrValue = element.getAttribute(attrName);\n if (attrValue) {\n const container = element.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n const qBase = container.getAttribute("q:base");\n const qVersion = container.getAttribute("q:version") || "unknown";\n const qManifest = container.getAttribute("q:manifest-hash") || "dev";\n const base = new URL(qBase, doc.baseURI);\n for (const qrl of attrValue.split("\\n")) {\n const url = new URL(qrl, base);\n const href = url.href;\n const symbol = url.hash.replace(/^#?([^?[|]*).*$/, "$1") || "default";\n const reqTime = performance.now();\n let handler;\n let importError;\n let error;\n const isSync = qrl.startsWith("#");\n const eventData = {\n qBase: qBase,\n qManifest: qManifest,\n qVersion: qVersion,\n href: href,\n symbol: symbol,\n element: element,\n reqTime: reqTime\n };\n if (isSync) {\n const hash = container.getAttribute("q:instance");\n handler = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler) {\n importError = "sync";\n error = new Error("sync handler error for symbol: " + symbol);\n }\n } else {\n const uri = url.href.split("#")[0];\n try {\n const module = import(\n uri);\n resolveContainer(container);\n handler = (await module)[symbol];\n if (!handler) {\n importError = "no-symbol";\n error = new Error(`${symbol} not in ${uri}`);\n }\n } catch (err) {\n importError || (importError = "async");\n error = err;\n }\n }\n if (!handler) {\n emitEvent("qerror", __spreadValues({\n importError: importError,\n error: error\n }, eventData));\n console.error(error);\n break;\n }\n const previousCtx = doc[Q_CONTEXT];\n if (element.isConnected) {\n const handleEvent = async (retryCount = 0) => {\n try {\n doc[Q_CONTEXT] = [ element, ev, url ];\n isSync || emitEvent("qsymbol", __spreadValues({}, eventData));\n const results = handler(ev, element);\n isPromise(results) && await results;\n } catch (error2) {\n isPromise(error2) && retryCount < 100 ? error2.then((() => handleEvent(retryCount++))) : emitEvent("qerror", __spreadValues({\n error: error2\n }, eventData));\n } finally {\n doc[Q_CONTEXT] = previousCtx;\n }\n };\n handleEvent();\n }\n }\n }\n };\n const emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n };\n const camelToKebab = str => str.replace(/([A-Z])/g, (a => "-" + a.toLowerCase()));\n const processDocumentEvent = async ev => {\n let type = camelToKebab(ev.type);\n let element = ev.target;\n broadcast("-document", ev, type);\n while (element && element.getAttribute) {\n const results = dispatch(element, "", ev, type);\n let cancelBubble = ev.cancelBubble;\n isPromise(results) && await results;\n cancelBubble = cancelBubble || ev.cancelBubble || element.hasAttribute("stoppropagation:" + ev.type);\n element = ev.bubbles && !0 !== cancelBubble ? element.parentElement : null;\n }\n };\n const processWindowEvent = ev => {\n broadcast("-window", ev, camelToKebab(ev.type));\n };\n const processReadyStateChange = () => {\n var _a;\n const readyState = doc.readyState;\n if (!hasInitialized && ("interactive" == readyState || "complete" == readyState)) {\n roots.forEach(findShadowRoots);\n hasInitialized = 1;\n emitEvent("qinit");\n (null != (_a = win.requestIdleCallback) ? _a : win.setTimeout).bind(win)((() => emitEvent("qidle")));\n if (events.has("qvisible")) {\n const results = querySelectorAll("[on\\\\:qvisible]");\n const observer = new IntersectionObserver((entries => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(entry.target, "", createEvent("qvisible", entry));\n }\n }\n }));\n results.forEach((el => observer.observe(el)));\n }\n }\n };\n const addEventListener = (el, eventName, handler, capture = !1) => el.addEventListener(eventName, handler, {\n capture: capture,\n passive: !1\n });\n const processEventOrNode = (...eventNames) => {\n for (const eventNameOrNode of eventNames) {\n if ("string" == typeof eventNameOrNode) {\n if (!events.has(eventNameOrNode)) {\n roots.forEach((root => addEventListener(root, eventNameOrNode, processDocumentEvent, !0)));\n addEventListener(win, eventNameOrNode, processWindowEvent, !0);\n events.add(eventNameOrNode);\n }\n } else if (!roots.has(eventNameOrNode)) {\n events.forEach((eventName => addEventListener(eventNameOrNode, eventName, processDocumentEvent, !0)));\n roots.add(eventNameOrNode);\n }\n }\n };\n if (!(Q_CONTEXT in doc)) {\n doc[Q_CONTEXT] = 0;\n const qwikevents = win.qwikevents;\n Array.isArray(qwikevents) && processEventOrNode(...qwikevents);\n win.qwikevents = {\n events: events,\n roots: roots,\n push: processEventOrNode\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n }\n })(document);\n})()';
8861
8890
  function getQwikLoaderScript(opts = {}) {
8862
8891
  return opts.debug ? QWIK_LOADER_DEFAULT_DEBUG : QWIK_LOADER_DEFAULT_MINIFIED;
8863
8892
  }
@@ -9,12 +9,14 @@
9
9
  ],
10
10
  "nextSteps": {
11
11
  "lines": [
12
+ " Please add `optimizeDeps: { include: ['@auth/core'] }`",
13
+ " to your vite.config.ts file.",
12
14
  " Have a look at the docs for more info: ",
13
15
  " https://qwik.dev/docs/integrations/authjs/"
14
16
  ]
15
17
  }
16
18
  },
17
19
  "devDependencies": {
18
- "@auth/qwik": "0.2.2"
20
+ "@auth/qwik": "0.5.4"
19
21
  }
20
22
  }
@@ -22,7 +22,8 @@
22
22
  " Check out the Drizzle docs for more info:",
23
23
  " - https://orm.drizzle.team/docs/overview"
24
24
  ]
25
- }
25
+ },
26
+ "alwaysInRoot": []
26
27
  },
27
28
  "devDependencies": {
28
29
  "@types/better-sqlite3": "^7.6.9",
@@ -7,6 +7,9 @@
7
7
  "docs": [
8
8
  "https://qwik.dev/integrations/integration/postcss/",
9
9
  "https://github.com/postcss/postcss-load-config"
10
+ ],
11
+ "alwaysInRoot": [
12
+ ".vscode"
10
13
  ]
11
14
  },
12
15
  "devDependencies": {
@@ -20,7 +20,8 @@
20
20
  " Check out the Prisma docs for more info:",
21
21
  " - https://www.prisma.io/docs/getting-started"
22
22
  ]
23
- }
23
+ },
24
+ "alwaysInRoot": []
24
25
  },
25
26
  "devDependencies": {
26
27
  "@prisma/client": "5.3.1",
@@ -7,6 +7,9 @@
7
7
  "docs": [
8
8
  "https://qwik.dev/integrations/integration/tailwind/",
9
9
  "https://tailwindcss.com/docs/utility-first"
10
+ ],
11
+ "alwaysInRoot": [
12
+ ".vscode"
10
13
  ]
11
14
  },
12
15
  "devDependencies": {
@@ -19,7 +19,10 @@
19
19
  " To get an authentication token for the database, run:",
20
20
  " turso db tokens create <db-name>"
21
21
  ]
22
- }
22
+ },
23
+ "alwaysInRoot": [
24
+ ".env.local"
25
+ ]
23
26
  },
24
27
  "dependencies": {
25
28
  "@libsql/client": "latest"