@qwik.dev/core 2.0.0-alpha.0 → 2.0.0-alpha.2
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/bindings/qwik.darwin-arm64.node +0 -0
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.win32-x64-msvc.node +0 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- package/dist/build/package.json +1 -1
- package/dist/cli.cjs +1384 -761
- package/dist/core-internal.d.ts +15 -2
- package/dist/core.cjs +75 -61
- package/dist/core.cjs.map +1 -1
- package/dist/core.min.mjs +1 -1
- package/dist/core.mjs +75 -61
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.cjs +56 -46
- package/dist/core.prod.mjs +58 -49
- package/dist/insights/index.qwik.cjs +1 -1
- package/dist/insights/index.qwik.mjs +1 -1
- package/dist/loader/index.cjs +2 -2
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.cjs +57 -60
- package/dist/optimizer.mjs +59 -63
- package/dist/prefetch/package.json +1 -1
- package/dist/qwikloader.debug.js +1 -0
- package/dist/qwikloader.js +2 -2
- package/dist/server.cjs +81 -53
- package/dist/server.mjs +81 -53
- package/dist/starters/features/auth/package.json +3 -1
- package/dist/starters/features/drizzle/package.json +2 -1
- package/dist/starters/features/postcss/package.json +3 -0
- package/dist/starters/features/prisma/package.json +2 -1
- package/dist/starters/features/tailwind/package.json +3 -0
- package/dist/starters/features/turso/package.json +4 -1
- package/dist/testing/index.cjs +77 -49
- package/dist/testing/index.mjs +77 -49
- package/dist/testing/package.json +1 -1
- package/package.json +13 -11
- package/public.d.ts +2 -0
package/dist/server.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/server 2.0.0-alpha.
|
|
3
|
+
* @qwik.dev/core/server 2.0.0-alpha.2-dev+58b6f8d
|
|
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,12 @@ __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
|
+
/** @id is the same id as for SsrNode */
|
|
652
|
+
constructor(id) {
|
|
653
|
+
this.id = id;
|
|
654
|
+
}
|
|
655
|
+
};
|
|
650
656
|
var SsrComponentFrame = class {
|
|
651
657
|
constructor(componentNode) {
|
|
652
658
|
this.componentNode = componentNode;
|
|
@@ -945,7 +951,7 @@ function getBuildBase(opts) {
|
|
|
945
951
|
return `${import.meta.env.BASE_URL}build/`;
|
|
946
952
|
}
|
|
947
953
|
var versions = {
|
|
948
|
-
qwik: "2.0.0-alpha.
|
|
954
|
+
qwik: "2.0.0-alpha.2-dev+58b6f8d",
|
|
949
955
|
qwikDom: "2.1.19"
|
|
950
956
|
};
|
|
951
957
|
|
|
@@ -1140,6 +1146,20 @@ var StoreHandler = class {
|
|
|
1140
1146
|
if (prop === STORE_TARGET) {
|
|
1141
1147
|
return true;
|
|
1142
1148
|
}
|
|
1149
|
+
if (typeof prop === "string") {
|
|
1150
|
+
const ctx = tryGetInvokeContext();
|
|
1151
|
+
if (ctx) {
|
|
1152
|
+
const effectSubscriber = ctx.$effectSubscriber$;
|
|
1153
|
+
if (effectSubscriber) {
|
|
1154
|
+
addEffect(
|
|
1155
|
+
target,
|
|
1156
|
+
Array.isArray(target) ? STORE_ARRAY_PROP : prop,
|
|
1157
|
+
this,
|
|
1158
|
+
effectSubscriber
|
|
1159
|
+
);
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1143
1163
|
return Object.prototype.hasOwnProperty.call(target, prop);
|
|
1144
1164
|
}
|
|
1145
1165
|
ownKeys(target) {
|
|
@@ -1564,6 +1584,7 @@ var executeComponent = (container, renderHost, subscriptionHost, componentQRL, p
|
|
|
1564
1584
|
iCtx.$container$ = container;
|
|
1565
1585
|
let componentFn;
|
|
1566
1586
|
container.ensureProjectionResolved(renderHost);
|
|
1587
|
+
let isInlineComponent = false;
|
|
1567
1588
|
if (componentQRL === null) {
|
|
1568
1589
|
componentQRL = componentQRL || container.getHostProp(renderHost, OnRenderProp);
|
|
1569
1590
|
assertDefined(componentQRL, "No Component found at this location");
|
|
@@ -1578,14 +1599,19 @@ var executeComponent = (container, renderHost, subscriptionHost, componentQRL, p
|
|
|
1578
1599
|
const qComponentFn = componentQRL;
|
|
1579
1600
|
componentFn = () => invokeApply(iCtx, qComponentFn, [props || EMPTY_OBJ, null, 0]);
|
|
1580
1601
|
} else {
|
|
1602
|
+
isInlineComponent = true;
|
|
1581
1603
|
const inlineComponent = componentQRL;
|
|
1582
1604
|
componentFn = () => invokeApply(iCtx, inlineComponent, [props || EMPTY_OBJ]);
|
|
1583
1605
|
}
|
|
1584
1606
|
const executeComponentWithPromiseExceptionRetry = (retryCount = 0) => safeCall(
|
|
1585
1607
|
() => {
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1608
|
+
if (!isInlineComponent) {
|
|
1609
|
+
container.setHostProp(renderHost, ELEMENT_SEQ_IDX, null);
|
|
1610
|
+
container.setHostProp(renderHost, USE_ON_LOCAL_SEQ_IDX, null);
|
|
1611
|
+
if (container.getHostProp(renderHost, ELEMENT_PROPS) !== props) {
|
|
1612
|
+
container.setHostProp(renderHost, ELEMENT_PROPS, props);
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1589
1615
|
if (vnode_isVNode(renderHost)) {
|
|
1590
1616
|
clearVNodeEffectDependencies(renderHost);
|
|
1591
1617
|
}
|
|
@@ -2823,7 +2849,10 @@ function choreComparator(a, b, shouldThrowOnHostMismatch) {
|
|
|
2823
2849
|
return hostDiff;
|
|
2824
2850
|
}
|
|
2825
2851
|
} else {
|
|
2826
|
-
const errorMessage =
|
|
2852
|
+
const errorMessage = `SERVER: during HTML streaming, re-running tasks on a different host is not allowed.
|
|
2853
|
+
You are attempting to change a state that has already been streamed to the client.
|
|
2854
|
+
This can lead to inconsistencies between Server-Side Rendering (SSR) and Client-Side Rendering (CSR).
|
|
2855
|
+
Problematic Node: ${aHost.toString()}`;
|
|
2827
2856
|
if (shouldThrowOnHostMismatch) {
|
|
2828
2857
|
throwErrorAndStop(errorMessage);
|
|
2829
2858
|
}
|
|
@@ -2993,9 +3022,11 @@ var isTask = (value) => {
|
|
|
2993
3022
|
return value instanceof Task;
|
|
2994
3023
|
};
|
|
2995
3024
|
|
|
3025
|
+
// packages/qwik/src/core/signal/flags.ts
|
|
3026
|
+
var NEEDS_COMPUTATION = Symbol("invalid");
|
|
3027
|
+
|
|
2996
3028
|
// packages/qwik/src/core/signal/signal.ts
|
|
2997
3029
|
var DEBUG3 = false;
|
|
2998
|
-
var NEEDS_COMPUTATION = Symbol("invalid");
|
|
2999
3030
|
var log2 = (...args) => console.log("SIGNAL", ...args.map(qwikDebugToString));
|
|
3000
3031
|
var throwIfQRLNotResolved = (qrl) => {
|
|
3001
3032
|
const resolved = qrl.resolved;
|
|
@@ -3328,7 +3359,7 @@ var WrappedSignal = class extends Signal {
|
|
|
3328
3359
|
};
|
|
3329
3360
|
|
|
3330
3361
|
// packages/qwik/src/core/version.ts
|
|
3331
|
-
var version = "2.0.0-alpha.
|
|
3362
|
+
var version = "2.0.0-alpha.2-dev+58b6f8d";
|
|
3332
3363
|
|
|
3333
3364
|
// packages/qwik/src/core/shared/shared-container.ts
|
|
3334
3365
|
var _SharedContainer = class {
|
|
@@ -3355,9 +3386,10 @@ var _SharedContainer = class {
|
|
|
3355
3386
|
trackSignalValue(signal, subscriber, property, data) {
|
|
3356
3387
|
return trackSignal(() => signal.value, subscriber, property, this, data);
|
|
3357
3388
|
}
|
|
3358
|
-
serializationCtxFactory(NodeConstructor, symbolToChunkResolver, writer, prepVNodeData) {
|
|
3389
|
+
serializationCtxFactory(NodeConstructor, DomRefConstructor, symbolToChunkResolver, writer, prepVNodeData) {
|
|
3359
3390
|
return createSerializationContext(
|
|
3360
3391
|
NodeConstructor,
|
|
3392
|
+
DomRefConstructor,
|
|
3361
3393
|
symbolToChunkResolver,
|
|
3362
3394
|
this.getHostProp.bind(this),
|
|
3363
3395
|
this.setHostProp.bind(this),
|
|
@@ -6237,12 +6269,7 @@ function inflateQRL(container, qrl) {
|
|
|
6237
6269
|
}
|
|
6238
6270
|
return qrl;
|
|
6239
6271
|
}
|
|
6240
|
-
var
|
|
6241
|
-
constructor(id) {
|
|
6242
|
-
this.id = id;
|
|
6243
|
-
}
|
|
6244
|
-
};
|
|
6245
|
-
var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getProp, setProp, storeProxyMap, writer, prepVNodeData) => {
|
|
6272
|
+
var createSerializationContext = (NodeConstructor, DomRefConstructor, symbolToChunkResolver, getProp, setProp, storeProxyMap, writer, prepVNodeData) => {
|
|
6246
6273
|
if (!writer) {
|
|
6247
6274
|
const buffer = [];
|
|
6248
6275
|
writer = {
|
|
@@ -6266,11 +6293,13 @@ var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getPro
|
|
|
6266
6293
|
return id;
|
|
6267
6294
|
};
|
|
6268
6295
|
const isSsrNode = NodeConstructor ? (obj) => obj instanceof NodeConstructor : () => false;
|
|
6296
|
+
const isDomRef = DomRefConstructor ? (obj) => obj instanceof DomRefConstructor : () => false;
|
|
6269
6297
|
return {
|
|
6270
6298
|
$serialize$() {
|
|
6271
6299
|
serialize(this);
|
|
6272
6300
|
},
|
|
6273
6301
|
$isSsrNode$: isSsrNode,
|
|
6302
|
+
$isDomRef$: isDomRef,
|
|
6274
6303
|
$symbolToChunkResolver$: symbolToChunkResolver,
|
|
6275
6304
|
$wasSeen$,
|
|
6276
6305
|
$roots$: roots,
|
|
@@ -6379,6 +6408,8 @@ var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getPro
|
|
|
6379
6408
|
discoveredValues.push(obj.$el$, obj.$qrl$, obj.$state$, obj.$effectDependencies$);
|
|
6380
6409
|
} else if (isSsrNode(obj)) {
|
|
6381
6410
|
discoveredValues.push(obj.vnodeData);
|
|
6411
|
+
} else if (isDomRef(obj)) {
|
|
6412
|
+
discoveredValues.push(obj.id);
|
|
6382
6413
|
} else if (isJSXNode2(obj)) {
|
|
6383
6414
|
discoveredValues.push(obj.type, obj.props, obj.constProps, obj.children);
|
|
6384
6415
|
} else if (Array.isArray(obj)) {
|
|
@@ -6433,7 +6464,7 @@ var createSerializationContext = (NodeConstructor, symbolToChunkResolver, getPro
|
|
|
6433
6464
|
};
|
|
6434
6465
|
var promiseResults = /* @__PURE__ */ new WeakMap();
|
|
6435
6466
|
function serialize(serializationContext) {
|
|
6436
|
-
const { $writer$, $isSsrNode$, $setProp$, $storeProxyMap$ } = serializationContext;
|
|
6467
|
+
const { $writer$, $isSsrNode$, $isDomRef$, $setProp$, $storeProxyMap$ } = serializationContext;
|
|
6437
6468
|
let depth = -1;
|
|
6438
6469
|
let writeType = false;
|
|
6439
6470
|
const output = (type, value) => {
|
|
@@ -6601,14 +6632,10 @@ function serialize(serializationContext) {
|
|
|
6601
6632
|
}
|
|
6602
6633
|
output(13 /* Object */, out);
|
|
6603
6634
|
}
|
|
6604
|
-
} else if (value
|
|
6635
|
+
} else if ($isDomRef$(value)) {
|
|
6605
6636
|
output(9 /* RefVNode */, value.id);
|
|
6606
6637
|
} else if (value instanceof Signal) {
|
|
6607
|
-
|
|
6608
|
-
if ($isSsrNode$(v)) {
|
|
6609
|
-
serializationContext.$addRoot$(v);
|
|
6610
|
-
v = new DomVRef(v.id);
|
|
6611
|
-
}
|
|
6638
|
+
const v = value instanceof ComputedSignal && (value.$invalid$ || fastSkipSerialize(value.$untrackedValue$)) ? NEEDS_COMPUTATION : value.$untrackedValue$;
|
|
6612
6639
|
if (value instanceof WrappedSignal) {
|
|
6613
6640
|
output(23 /* WrappedSignal */, [
|
|
6614
6641
|
...serializeWrappingFn(serializationContext, value),
|
|
@@ -6994,8 +7021,8 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
|
|
|
6994
7021
|
}
|
|
6995
7022
|
let _containerEl;
|
|
6996
7023
|
const qrl = async function(...args) {
|
|
6997
|
-
const
|
|
6998
|
-
const result = await
|
|
7024
|
+
const boundedFn = bindFnToContext.call(this, tryGetInvokeContext());
|
|
7025
|
+
const result = await boundedFn(...args);
|
|
6999
7026
|
return result;
|
|
7000
7027
|
};
|
|
7001
7028
|
const setContainer = (el) => {
|
|
@@ -7004,6 +7031,30 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
|
|
|
7004
7031
|
}
|
|
7005
7032
|
return _containerEl;
|
|
7006
7033
|
};
|
|
7034
|
+
function bindFnToContext(currentCtx, beforeFn) {
|
|
7035
|
+
return (...args) => maybeThen(resolveLazy(), (fn) => {
|
|
7036
|
+
if (!isFunction(fn)) {
|
|
7037
|
+
throw qError(QError_qrlIsNotFunction);
|
|
7038
|
+
}
|
|
7039
|
+
if (beforeFn && beforeFn() === false) {
|
|
7040
|
+
return;
|
|
7041
|
+
}
|
|
7042
|
+
const context = createOrReuseInvocationContext(currentCtx);
|
|
7043
|
+
const prevQrl = context.$qrl$;
|
|
7044
|
+
const prevEvent = context.$event$;
|
|
7045
|
+
context.$qrl$ = qrl;
|
|
7046
|
+
context.$event$ || (context.$event$ = this);
|
|
7047
|
+
try {
|
|
7048
|
+
return invoke.call(this, context, fn, ...args);
|
|
7049
|
+
} finally {
|
|
7050
|
+
context.$qrl$ = prevQrl;
|
|
7051
|
+
context.$event$ = prevEvent;
|
|
7052
|
+
}
|
|
7053
|
+
});
|
|
7054
|
+
}
|
|
7055
|
+
const resolveLazy = (containerEl) => {
|
|
7056
|
+
return symbolRef !== null ? symbolRef : resolve(containerEl);
|
|
7057
|
+
};
|
|
7007
7058
|
const wrapFn = (fn) => {
|
|
7008
7059
|
if (typeof fn !== "function" || !capture?.length && !captureRef?.length) {
|
|
7009
7060
|
return fn;
|
|
@@ -7053,30 +7104,6 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
|
|
|
7053
7104
|
}
|
|
7054
7105
|
return symbolRef;
|
|
7055
7106
|
};
|
|
7056
|
-
const resolveLazy = (containerEl) => {
|
|
7057
|
-
return symbolRef !== null ? symbolRef : resolve(containerEl);
|
|
7058
|
-
};
|
|
7059
|
-
function invokeFn(currentCtx, beforeFn) {
|
|
7060
|
-
return (...args) => maybeThen(resolveLazy(), (f) => {
|
|
7061
|
-
if (!isFunction(f)) {
|
|
7062
|
-
throw qError(QError_qrlIsNotFunction);
|
|
7063
|
-
}
|
|
7064
|
-
if (beforeFn && beforeFn() === false) {
|
|
7065
|
-
return;
|
|
7066
|
-
}
|
|
7067
|
-
const context = createOrReuseInvocationContext(currentCtx);
|
|
7068
|
-
const prevQrl = context.$qrl$;
|
|
7069
|
-
const prevEvent = context.$event$;
|
|
7070
|
-
context.$qrl$ = qrl;
|
|
7071
|
-
context.$event$ || (context.$event$ = this);
|
|
7072
|
-
try {
|
|
7073
|
-
return invoke.call(this, context, f, ...args);
|
|
7074
|
-
} finally {
|
|
7075
|
-
context.$qrl$ = prevQrl;
|
|
7076
|
-
context.$event$ = prevEvent;
|
|
7077
|
-
}
|
|
7078
|
-
});
|
|
7079
|
-
}
|
|
7080
7107
|
const createOrReuseInvocationContext = (invoke2) => {
|
|
7081
7108
|
if (invoke2 == null) {
|
|
7082
7109
|
return newInvokeContext();
|
|
@@ -7099,7 +7126,7 @@ var createQRL = (chunk, symbol, symbolRef, symbolFn, capture, captureRef, refSym
|
|
|
7099
7126
|
$symbol$: symbol,
|
|
7100
7127
|
$refSymbol$: refSymbol,
|
|
7101
7128
|
$hash$: hash2,
|
|
7102
|
-
getFn:
|
|
7129
|
+
getFn: bindFnToContext,
|
|
7103
7130
|
$capture$: capture,
|
|
7104
7131
|
$captureRef$: captureRef,
|
|
7105
7132
|
dev: null,
|
|
@@ -7810,6 +7837,7 @@ var SSRContainer = class extends _SharedContainer2 {
|
|
|
7810
7837
|
};
|
|
7811
7838
|
this.serializationCtx = this.serializationCtxFactory(
|
|
7812
7839
|
SsrNode,
|
|
7840
|
+
DomRef,
|
|
7813
7841
|
this.symbolToChunkResolver,
|
|
7814
7842
|
opts.writer,
|
|
7815
7843
|
(vNodeData) => this.addVNodeToSerializationRoots(vNodeData)
|
|
@@ -8573,10 +8601,10 @@ var SSRContainer = class extends _SharedContainer2 {
|
|
|
8573
8601
|
if (key === "ref") {
|
|
8574
8602
|
const lastNode = this.getLastNode();
|
|
8575
8603
|
if (isSignal2(value)) {
|
|
8576
|
-
value.value = lastNode;
|
|
8604
|
+
value.value = new DomRef(lastNode.id);
|
|
8577
8605
|
continue;
|
|
8578
8606
|
} else if (typeof value === "function") {
|
|
8579
|
-
value(lastNode);
|
|
8607
|
+
value(new DomRef(lastNode.id));
|
|
8580
8608
|
continue;
|
|
8581
8609
|
}
|
|
8582
8610
|
}
|
|
@@ -8850,8 +8878,8 @@ function resolveManifest(manifest) {
|
|
|
8850
8878
|
var Q_FUNCS_PREFIX = 'document["qFuncs_HASH"]=';
|
|
8851
8879
|
|
|
8852
8880
|
// packages/qwik/src/server/scripts.ts
|
|
8853
|
-
var QWIK_LOADER_DEFAULT_MINIFIED = '(()=>{var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,
|
|
8854
|
-
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})()';
|
|
8881
|
+
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)})()';
|
|
8882
|
+
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})()';
|
|
8855
8883
|
function getQwikLoaderScript(opts = {}) {
|
|
8856
8884
|
return opts.debug ? QWIK_LOADER_DEFAULT_DEBUG : QWIK_LOADER_DEFAULT_MINIFIED;
|
|
8857
8885
|
}
|
|
@@ -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.
|
|
20
|
+
"@auth/qwik": "0.5.4"
|
|
19
21
|
}
|
|
20
22
|
}
|