@qwik.dev/core 2.0.0-beta.5 → 2.0.0-beta.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/build/package.json +1 -1
- package/dist/cli.cjs +2 -2
- package/dist/core-internal.d.ts +49 -11
- package/dist/core.cjs +239 -105
- package/dist/core.cjs.map +1 -1
- package/dist/core.min.mjs +1 -1
- package/dist/core.mjs +224 -105
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.cjs +117 -63
- package/dist/core.prod.mjs +113 -58
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.cjs +138 -202
- package/dist/optimizer.d.ts +9 -15
- package/dist/optimizer.mjs +129 -195
- package/dist/server.cjs +33 -16
- package/dist/server.mjs +32 -16
- package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/vite.config.mts +1 -1
- package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +1 -5
- package/dist/starters/adapters/azure-swa/adapters/azure-swa/vite.config.mts +1 -1
- package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +1 -2
- package/dist/starters/adapters/bun/adapters/bun/vite.config.mts +1 -1
- package/dist/starters/adapters/bun/src/entry.bun.ts +0 -2
- package/dist/starters/adapters/cloud-run/adapters/cloud-run/vite.config.mts +1 -1
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +0 -2
- package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/vite.config.mts +1 -1
- package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +1 -2
- package/dist/starters/adapters/deno/adapters/deno/vite.config.mts +1 -1
- package/dist/starters/adapters/deno/src/entry.deno.ts +0 -2
- package/dist/starters/adapters/express/adapters/express/vite.config.mts +1 -1
- package/dist/starters/adapters/express/src/entry.express.tsx +0 -2
- package/dist/starters/adapters/fastify/adapters/fastify/vite.config.mts +1 -1
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
- package/dist/starters/adapters/firebase/adapters/firebase/vite.config.mts +1 -1
- package/dist/starters/adapters/firebase/src/entry-firebase.tsx +1 -2
- package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/vite.config.mts +1 -1
- package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +1 -2
- package/dist/starters/adapters/node-server/adapters/node-server/vite.config.mts +1 -1
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +0 -2
- package/dist/starters/adapters/{static/adapters/static → ssg/adapters/ssg}/vite.config.mts +2 -2
- package/dist/starters/adapters/ssg/package.json +19 -0
- package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/vite.config.mts +1 -1
- package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +1 -2
- package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
- package/dist/testing/index.cjs +183 -121
- package/dist/testing/index.mjs +176 -115
- package/dist/testing/package.json +1 -1
- package/package.json +2 -2
- package/dist/starters/adapters/static/package.json +0 -19
- /package/dist/starters/adapters/{static → ssg}/README.md +0 -0
package/dist/server.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/server 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/server 2.0.0-beta.6-dev+c42693f
|
|
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
|
|
@@ -63,6 +63,7 @@ var import_core5 = require("@qwik.dev/core");
|
|
|
63
63
|
|
|
64
64
|
// packages/qwik/src/server/platform.ts
|
|
65
65
|
var import_core = require("@qwik.dev/core");
|
|
66
|
+
var import_build6 = require("@qwik.dev/core/build");
|
|
66
67
|
|
|
67
68
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
68
69
|
var qDev = globalThis.qDev !== false;
|
|
@@ -1073,13 +1074,32 @@ if (import_build5.isBrowser) {
|
|
|
1073
1074
|
}
|
|
1074
1075
|
|
|
1075
1076
|
// packages/qwik/src/server/platform.ts
|
|
1077
|
+
var import_meta = {};
|
|
1078
|
+
var getDevSegmentPath = (mapper, hash2, symbolName, parent) => {
|
|
1079
|
+
const existing = mapper == null ? void 0 : mapper[hash2];
|
|
1080
|
+
if (existing) {
|
|
1081
|
+
return existing;
|
|
1082
|
+
}
|
|
1083
|
+
if (symbolName === SYNC_QRL) {
|
|
1084
|
+
return [symbolName, ""];
|
|
1085
|
+
}
|
|
1086
|
+
if (!parent) {
|
|
1087
|
+
if (symbolName.startsWith("_") && symbolName.length < 6) {
|
|
1088
|
+
return [symbolName, `${globalThis.BASE_URL}@qwik-handlers`];
|
|
1089
|
+
}
|
|
1090
|
+
console.error("qwik symbolMapper: unknown qrl requested without parent:", symbolName);
|
|
1091
|
+
return [symbolName, `${globalThis.BASE_URL}${symbolName}.js`];
|
|
1092
|
+
}
|
|
1093
|
+
const qrlFile = `${globalThis.BASE_URL}${parent.startsWith("/") ? parent.slice(1) : parent}_${symbolName}.js`;
|
|
1094
|
+
return [symbolName, qrlFile];
|
|
1095
|
+
};
|
|
1076
1096
|
function createPlatform(opts, resolvedManifest) {
|
|
1077
1097
|
const mapper = resolvedManifest == null ? void 0 : resolvedManifest.mapper;
|
|
1078
1098
|
const mapperFn = opts.symbolMapper ? opts.symbolMapper : (symbolName, _chunk, parent) => {
|
|
1079
1099
|
var _a;
|
|
1080
|
-
if (mapper) {
|
|
1100
|
+
if (mapper || import_build6.isDev && import_meta.env.MODE !== "test") {
|
|
1081
1101
|
const hash2 = getSymbolHash(symbolName);
|
|
1082
|
-
const result = mapper[hash2];
|
|
1102
|
+
const result = !import_build6.isDev ? mapper[hash2] : getDevSegmentPath(mapper, hash2, symbolName, parent);
|
|
1083
1103
|
if (!result) {
|
|
1084
1104
|
if (hash2 === SYNC_QRL) {
|
|
1085
1105
|
return [hash2, ""];
|
|
@@ -1088,9 +1108,6 @@ function createPlatform(opts, resolvedManifest) {
|
|
|
1088
1108
|
if (isRegistered) {
|
|
1089
1109
|
return [symbolName, "_"];
|
|
1090
1110
|
}
|
|
1091
|
-
if (parent) {
|
|
1092
|
-
return [symbolName, `${parent}?qrl=${symbolName}`];
|
|
1093
|
-
}
|
|
1094
1111
|
console.error("Cannot resolve symbol", symbolName, "in", mapper, parent);
|
|
1095
1112
|
}
|
|
1096
1113
|
return result;
|
|
@@ -1170,13 +1187,13 @@ function getBuildBase(opts) {
|
|
|
1170
1187
|
return `${globalThis.BASE_URL || "/"}build/`;
|
|
1171
1188
|
}
|
|
1172
1189
|
var versions = {
|
|
1173
|
-
qwik: "2.0.0-beta.
|
|
1190
|
+
qwik: "2.0.0-beta.6-dev+c42693f",
|
|
1174
1191
|
qwikDom: "2.1.19"
|
|
1175
1192
|
};
|
|
1176
1193
|
|
|
1177
1194
|
// packages/qwik/src/server/ssr-container.ts
|
|
1178
1195
|
var import_core4 = require("@qwik.dev/core");
|
|
1179
|
-
var
|
|
1196
|
+
var import_build8 = require("@qwik.dev/core/build");
|
|
1180
1197
|
|
|
1181
1198
|
// packages/qwik/src/server/scripts.ts
|
|
1182
1199
|
var QWIK_LOADER_DEFAULT_MINIFIED = 'const t=document,e=window,n=new Set,o=new Set([t]);let r;const s=(t,e)=>Array.from(t.querySelectorAll(e)),i=t=>{const e=[];return o.forEach(n=>e.push(...s(n,t))),e},a=t=>{v(t),s(t,"[q\\\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&a(e)})},c=t=>t&&"function"==typeof t.then;let l=!0;const f=(t,e,n=e.type)=>{let o=l;i("[on"+t+"\\\\:"+n+"]").forEach(r=>{o=!0,b(r,t,e,n)}),o||window[t.slice(1)].removeEventListener(n,"-window"===t?d:_)},p=e=>{if(void 0===e._qwikjson_){let n=(e===t.documentElement?t.body:e).lastElementChild;for(;n;){if("SCRIPT"===n.tagName&&"qwik/json"===n.getAttribute("type")){e._qwikjson_=JSON.parse(n.textContent.replace(/\\\\x3C(\\/?script)/gi,"<$1"));break}n=n.previousElementSibling}}},u=(t,e)=>new CustomEvent(t,{detail:e}),b=async(e,n,o,r=o.type)=>{const s="on"+n+":"+r;e.hasAttribute("preventdefault:"+r)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+r)&&o.stopPropagation();const i=e._qc_,a=i&&i.li.filter(t=>t[0]===s);if(a&&a.length>0){for(const t of a){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;c(n)&&await n,r&&o.stopPropagation()}return}const l=e.getAttribute(s),f=e.qDispatchEvent;if(f)return f(o,n);if(l){const n=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),r=n.getAttribute("q:base"),s=n.getAttribute("q:version")||"unknown",i=n.getAttribute("q:manifest-hash")||"dev",a=new URL(r,t.baseURI);for(const f of l.split("\\n")){const l=new URL(f,a),u=l.href,b=l.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let _,d,w;const m=f.startsWith("#"),y={qBase:r,qManifest:i,qVersion:s,href:u,symbol:b,element:e,reqTime:h};if(m){const e=n.getAttribute("q:instance");_=(t["qFuncs_"+e]||[])[Number.parseInt(b)],_||(d="sync",w=Error("sym:"+b))}else{q("qsymbol",y);const t=l.href.split("#")[0];try{const e=import(t);p(n),_=(await e)[b],_||(d="no-symbol",w=Error(`${b} not in ${t}`))}catch(t){d||(d="async"),w=t}}if(!_){q("qerror",{importError:d,error:w,...y}),console.error(w);break}const v=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,l];const n=_(o,e);c(n)&&await n}catch(t){q("qerror",{error:t,...y})}finally{t.__q_context__=v}}}},q=(e,n)=>{t.dispatchEvent(u(e,n))},h=t=>t.replace(/([A-Z])/g,t=>"-"+t.toLowerCase()),_=async t=>{let e=h(t.type),n=t.target;for(f("-document",t,e);n&&n.getAttribute;){const o=b(n,"",t,e);let r=t.cancelBubble;c(o)&&await o,r||(r=r||t.cancelBubble||n.hasAttribute("stoppropagation:"+t.type)),n=t.bubbles&&!0!==r?n.parentElement:null}},d=t=>{f("-window",t,h(t.type))},w=()=>{var s;const c=t.readyState;if(!r&&("interactive"==c||"complete"==c)&&(o.forEach(a),r=1,q("qinit"),(null!=(s=e.requestIdleCallback)?s:e.setTimeout).bind(e)(()=>q("qidle")),n.has("qvisible"))){const t=i("[on\\\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),b(n.target,"",u("qvisible",n)))});t.forEach(t=>e.observe(t))}},m=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})};let y;const v=(...t)=>{l=!0,clearTimeout(y),y=setTimeout(()=>l=!1,2e4);for(const r of t)"string"==typeof r?n.has(r)||(o.forEach(t=>m(t,r,_,!0)),m(e,r,d,!0),n.add(r)):o.has(r)||(n.forEach(t=>m(r,t,_,!0)),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?v(...r):v("click","input")),e.qwikevents={events:n,roots:o,push:v},m(t,"readystatechange",w),w()}';
|
|
@@ -1192,7 +1209,7 @@ function getQwikPrefetchWorkerScript(opts = {}) {
|
|
|
1192
1209
|
|
|
1193
1210
|
// packages/qwik/src/server/ssr-node.ts
|
|
1194
1211
|
var import_core2 = require("@qwik.dev/core");
|
|
1195
|
-
var
|
|
1212
|
+
var import_build7 = require("@qwik.dev/core/build");
|
|
1196
1213
|
var SsrNode = class {
|
|
1197
1214
|
constructor(parentSsrNode, id, attributesIndex, cleanupQueue, vnodeData) {
|
|
1198
1215
|
this.attributesIndex = attributesIndex;
|
|
@@ -1203,7 +1220,7 @@ var SsrNode = class {
|
|
|
1203
1220
|
(_a = this.parentSsrNode) == null ? void 0 : _a.addChild(this);
|
|
1204
1221
|
this.id = id;
|
|
1205
1222
|
this.attrs = this.attributesIndex >= 0 ? this.vnodeData[this.attributesIndex] : import_core2._EMPTY_ARRAY;
|
|
1206
|
-
if (
|
|
1223
|
+
if (import_build7.isDev && id.indexOf("undefined") != -1) {
|
|
1207
1224
|
throw new Error(`Invalid SSR node id: ${id}`);
|
|
1208
1225
|
}
|
|
1209
1226
|
}
|
|
@@ -2120,7 +2137,7 @@ var SSRContainer = class extends import_core4._SharedContainer {
|
|
|
2120
2137
|
containerAttributes[QContainerAttr] = "paused" /* PAUSED */;
|
|
2121
2138
|
containerAttributes[QRuntimeAttr] = "2";
|
|
2122
2139
|
containerAttributes[QVersionAttr] = this.$version$ ?? "dev";
|
|
2123
|
-
containerAttributes[QRenderAttr] = (qRender ? qRender + "-" : "") + (
|
|
2140
|
+
containerAttributes[QRenderAttr] = (qRender ? qRender + "-" : "") + (import_build8.isDev ? "ssr-dev" : "ssr");
|
|
2124
2141
|
containerAttributes[QBaseAttr] = this.$buildBase$ || "";
|
|
2125
2142
|
containerAttributes[QLocaleAttr] = this.$locale$;
|
|
2126
2143
|
containerAttributes[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
@@ -2155,7 +2172,7 @@ var SSRContainer = class extends import_core4._SharedContainer {
|
|
|
2155
2172
|
innerHTML = this.writeAttrs(elementName, varAttrs, false, currentFile);
|
|
2156
2173
|
}
|
|
2157
2174
|
this.write(" " + Q_PROPS_SEPARATOR);
|
|
2158
|
-
|
|
2175
|
+
import_build8.isDev && this.write('=""');
|
|
2159
2176
|
if (constAttrs && constAttrs.length) {
|
|
2160
2177
|
innerHTML = this.writeAttrs(elementName, constAttrs, true, currentFile) || innerHTML;
|
|
2161
2178
|
}
|
|
@@ -2618,7 +2635,7 @@ var SSRContainer = class extends import_core4._SharedContainer {
|
|
|
2618
2635
|
}
|
|
2619
2636
|
this.unclaimedProjectionComponentFrameQueue.shift();
|
|
2620
2637
|
this.openFragment(
|
|
2621
|
-
|
|
2638
|
+
import_build8.isDev ? [DEBUG_TYPE, "P" /* Projection */, QSlotParent, ssrComponentNode.id] : [QSlotParent, ssrComponentNode.id]
|
|
2622
2639
|
);
|
|
2623
2640
|
const lastNode = this.getOrCreateLastNode();
|
|
2624
2641
|
if (lastNode.vnodeData) {
|
|
@@ -2667,7 +2684,7 @@ var SSRContainer = class extends import_core4._SharedContainer {
|
|
|
2667
2684
|
}
|
|
2668
2685
|
createAndPushFrame(elementName, depthFirstElementIdx, currentFile) {
|
|
2669
2686
|
let tagNesting = 10 /* ANYTHING */;
|
|
2670
|
-
if (
|
|
2687
|
+
if (import_build8.isDev) {
|
|
2671
2688
|
if (!this.currentElementFrame) {
|
|
2672
2689
|
tagNesting = initialTag(elementName);
|
|
2673
2690
|
} else {
|
|
@@ -2743,7 +2760,7 @@ var SSRContainer = class extends import_core4._SharedContainer {
|
|
|
2743
2760
|
let value = attrs[i];
|
|
2744
2761
|
let styleScopedId = null;
|
|
2745
2762
|
if (isSSRUnsafeAttr(key)) {
|
|
2746
|
-
if (
|
|
2763
|
+
if (import_build8.isDev) {
|
|
2747
2764
|
throw qError(32 /* unsafeAttr */);
|
|
2748
2765
|
}
|
|
2749
2766
|
continue;
|
|
@@ -2785,7 +2802,7 @@ var SSRContainer = class extends import_core4._SharedContainer {
|
|
|
2785
2802
|
}
|
|
2786
2803
|
if (tag === "textarea" && key === "value") {
|
|
2787
2804
|
if (value && typeof value !== "string") {
|
|
2788
|
-
if (
|
|
2805
|
+
if (import_build8.isDev) {
|
|
2789
2806
|
throw qError(23 /* wrongTextareaValue */, [currentFile, value]);
|
|
2790
2807
|
}
|
|
2791
2808
|
continue;
|
package/dist/server.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/server 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/server 2.0.0-beta.6-dev+c42693f
|
|
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
|
|
@@ -20,6 +20,7 @@ import { setPlatform as setPlatform2 } from "@qwik.dev/core";
|
|
|
20
20
|
|
|
21
21
|
// packages/qwik/src/server/platform.ts
|
|
22
22
|
import { setPlatform } from "@qwik.dev/core";
|
|
23
|
+
import { isDev as isDev3 } from "@qwik.dev/core/build";
|
|
23
24
|
|
|
24
25
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
25
26
|
var qDev = globalThis.qDev !== false;
|
|
@@ -1030,12 +1031,30 @@ if (isBrowser3) {
|
|
|
1030
1031
|
}
|
|
1031
1032
|
|
|
1032
1033
|
// packages/qwik/src/server/platform.ts
|
|
1034
|
+
var getDevSegmentPath = (mapper, hash2, symbolName, parent) => {
|
|
1035
|
+
const existing = mapper?.[hash2];
|
|
1036
|
+
if (existing) {
|
|
1037
|
+
return existing;
|
|
1038
|
+
}
|
|
1039
|
+
if (symbolName === SYNC_QRL) {
|
|
1040
|
+
return [symbolName, ""];
|
|
1041
|
+
}
|
|
1042
|
+
if (!parent) {
|
|
1043
|
+
if (symbolName.startsWith("_") && symbolName.length < 6) {
|
|
1044
|
+
return [symbolName, `${import.meta.env.BASE_URL}@qwik-handlers`];
|
|
1045
|
+
}
|
|
1046
|
+
console.error("qwik symbolMapper: unknown qrl requested without parent:", symbolName);
|
|
1047
|
+
return [symbolName, `${import.meta.env.BASE_URL}${symbolName}.js`];
|
|
1048
|
+
}
|
|
1049
|
+
const qrlFile = `${import.meta.env.BASE_URL}${parent.startsWith("/") ? parent.slice(1) : parent}_${symbolName}.js`;
|
|
1050
|
+
return [symbolName, qrlFile];
|
|
1051
|
+
};
|
|
1033
1052
|
function createPlatform(opts, resolvedManifest) {
|
|
1034
1053
|
const mapper = resolvedManifest?.mapper;
|
|
1035
1054
|
const mapperFn = opts.symbolMapper ? opts.symbolMapper : (symbolName, _chunk, parent) => {
|
|
1036
|
-
if (mapper) {
|
|
1055
|
+
if (mapper || isDev3 && import.meta.env.MODE !== "test") {
|
|
1037
1056
|
const hash2 = getSymbolHash(symbolName);
|
|
1038
|
-
const result = mapper[hash2];
|
|
1057
|
+
const result = !isDev3 ? mapper[hash2] : getDevSegmentPath(mapper, hash2, symbolName, parent);
|
|
1039
1058
|
if (!result) {
|
|
1040
1059
|
if (hash2 === SYNC_QRL) {
|
|
1041
1060
|
return [hash2, ""];
|
|
@@ -1044,9 +1063,6 @@ function createPlatform(opts, resolvedManifest) {
|
|
|
1044
1063
|
if (isRegistered) {
|
|
1045
1064
|
return [symbolName, "_"];
|
|
1046
1065
|
}
|
|
1047
|
-
if (parent) {
|
|
1048
|
-
return [symbolName, `${parent}?qrl=${symbolName}`];
|
|
1049
|
-
}
|
|
1050
1066
|
console.error("Cannot resolve symbol", symbolName, "in", mapper, parent);
|
|
1051
1067
|
}
|
|
1052
1068
|
return result;
|
|
@@ -1125,7 +1141,7 @@ function getBuildBase(opts) {
|
|
|
1125
1141
|
return `${import.meta.env.BASE_URL || "/"}build/`;
|
|
1126
1142
|
}
|
|
1127
1143
|
var versions = {
|
|
1128
|
-
qwik: "2.0.0-beta.
|
|
1144
|
+
qwik: "2.0.0-beta.6-dev+c42693f",
|
|
1129
1145
|
qwikDom: "2.1.19"
|
|
1130
1146
|
};
|
|
1131
1147
|
|
|
@@ -1138,7 +1154,7 @@ import {
|
|
|
1138
1154
|
_walkJSX,
|
|
1139
1155
|
isSignal
|
|
1140
1156
|
} from "@qwik.dev/core";
|
|
1141
|
-
import { isDev as
|
|
1157
|
+
import { isDev as isDev5 } from "@qwik.dev/core/build";
|
|
1142
1158
|
|
|
1143
1159
|
// packages/qwik/src/server/scripts.ts
|
|
1144
1160
|
var QWIK_LOADER_DEFAULT_MINIFIED = 'const t=document,e=window,n=new Set,o=new Set([t]);let r;const s=(t,e)=>Array.from(t.querySelectorAll(e)),i=t=>{const e=[];return o.forEach(n=>e.push(...s(n,t))),e},a=t=>{v(t),s(t,"[q\\\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&a(e)})},c=t=>t&&"function"==typeof t.then;let l=!0;const f=(t,e,n=e.type)=>{let o=l;i("[on"+t+"\\\\:"+n+"]").forEach(r=>{o=!0,b(r,t,e,n)}),o||window[t.slice(1)].removeEventListener(n,"-window"===t?d:_)},p=e=>{if(void 0===e._qwikjson_){let n=(e===t.documentElement?t.body:e).lastElementChild;for(;n;){if("SCRIPT"===n.tagName&&"qwik/json"===n.getAttribute("type")){e._qwikjson_=JSON.parse(n.textContent.replace(/\\\\x3C(\\/?script)/gi,"<$1"));break}n=n.previousElementSibling}}},u=(t,e)=>new CustomEvent(t,{detail:e}),b=async(e,n,o,r=o.type)=>{const s="on"+n+":"+r;e.hasAttribute("preventdefault:"+r)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+r)&&o.stopPropagation();const i=e._qc_,a=i&&i.li.filter(t=>t[0]===s);if(a&&a.length>0){for(const t of a){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;c(n)&&await n,r&&o.stopPropagation()}return}const l=e.getAttribute(s),f=e.qDispatchEvent;if(f)return f(o,n);if(l){const n=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),r=n.getAttribute("q:base"),s=n.getAttribute("q:version")||"unknown",i=n.getAttribute("q:manifest-hash")||"dev",a=new URL(r,t.baseURI);for(const f of l.split("\\n")){const l=new URL(f,a),u=l.href,b=l.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let _,d,w;const m=f.startsWith("#"),y={qBase:r,qManifest:i,qVersion:s,href:u,symbol:b,element:e,reqTime:h};if(m){const e=n.getAttribute("q:instance");_=(t["qFuncs_"+e]||[])[Number.parseInt(b)],_||(d="sync",w=Error("sym:"+b))}else{q("qsymbol",y);const t=l.href.split("#")[0];try{const e=import(t);p(n),_=(await e)[b],_||(d="no-symbol",w=Error(`${b} not in ${t}`))}catch(t){d||(d="async"),w=t}}if(!_){q("qerror",{importError:d,error:w,...y}),console.error(w);break}const v=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,l];const n=_(o,e);c(n)&&await n}catch(t){q("qerror",{error:t,...y})}finally{t.__q_context__=v}}}},q=(e,n)=>{t.dispatchEvent(u(e,n))},h=t=>t.replace(/([A-Z])/g,t=>"-"+t.toLowerCase()),_=async t=>{let e=h(t.type),n=t.target;for(f("-document",t,e);n&&n.getAttribute;){const o=b(n,"",t,e);let r=t.cancelBubble;c(o)&&await o,r||(r=r||t.cancelBubble||n.hasAttribute("stoppropagation:"+t.type)),n=t.bubbles&&!0!==r?n.parentElement:null}},d=t=>{f("-window",t,h(t.type))},w=()=>{var s;const c=t.readyState;if(!r&&("interactive"==c||"complete"==c)&&(o.forEach(a),r=1,q("qinit"),(null!=(s=e.requestIdleCallback)?s:e.setTimeout).bind(e)(()=>q("qidle")),n.has("qvisible"))){const t=i("[on\\\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),b(n.target,"",u("qvisible",n)))});t.forEach(t=>e.observe(t))}},m=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})};let y;const v=(...t)=>{l=!0,clearTimeout(y),y=setTimeout(()=>l=!1,2e4);for(const r of t)"string"==typeof r?n.has(r)||(o.forEach(t=>m(t,r,_,!0)),m(e,r,d,!0),n.add(r)):o.has(r)||(n.forEach(t=>m(r,t,_,!0)),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?v(...r):v("click","input")),e.qwikevents={events:n,roots:o,push:v},m(t,"readystatechange",w),w()}';
|
|
@@ -1158,7 +1174,7 @@ import {
|
|
|
1158
1174
|
_EMPTY_ARRAY,
|
|
1159
1175
|
_EFFECT_BACK_REF
|
|
1160
1176
|
} from "@qwik.dev/core";
|
|
1161
|
-
import { isDev as
|
|
1177
|
+
import { isDev as isDev4 } from "@qwik.dev/core/build";
|
|
1162
1178
|
var SsrNode = class {
|
|
1163
1179
|
constructor(parentSsrNode, id, attributesIndex, cleanupQueue, vnodeData) {
|
|
1164
1180
|
this.attributesIndex = attributesIndex;
|
|
@@ -1180,7 +1196,7 @@ var SsrNode = class {
|
|
|
1180
1196
|
this.parentSsrNode?.addChild(this);
|
|
1181
1197
|
this.id = id;
|
|
1182
1198
|
this.attrs = this.attributesIndex >= 0 ? this.vnodeData[this.attributesIndex] : _EMPTY_ARRAY;
|
|
1183
|
-
if (
|
|
1199
|
+
if (isDev4 && id.indexOf("undefined") != -1) {
|
|
1184
1200
|
throw new Error(`Invalid SSR node id: ${id}`);
|
|
1185
1201
|
}
|
|
1186
1202
|
}
|
|
@@ -2085,7 +2101,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2085
2101
|
containerAttributes[QContainerAttr] = "paused" /* PAUSED */;
|
|
2086
2102
|
containerAttributes[QRuntimeAttr] = "2";
|
|
2087
2103
|
containerAttributes[QVersionAttr] = this.$version$ ?? "dev";
|
|
2088
|
-
containerAttributes[QRenderAttr] = (qRender ? qRender + "-" : "") + (
|
|
2104
|
+
containerAttributes[QRenderAttr] = (qRender ? qRender + "-" : "") + (isDev5 ? "ssr-dev" : "ssr");
|
|
2089
2105
|
containerAttributes[QBaseAttr] = this.$buildBase$ || "";
|
|
2090
2106
|
containerAttributes[QLocaleAttr] = this.$locale$;
|
|
2091
2107
|
containerAttributes[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
@@ -2120,7 +2136,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2120
2136
|
innerHTML = this.writeAttrs(elementName, varAttrs, false, currentFile);
|
|
2121
2137
|
}
|
|
2122
2138
|
this.write(" " + Q_PROPS_SEPARATOR);
|
|
2123
|
-
|
|
2139
|
+
isDev5 && this.write('=""');
|
|
2124
2140
|
if (constAttrs && constAttrs.length) {
|
|
2125
2141
|
innerHTML = this.writeAttrs(elementName, constAttrs, true, currentFile) || innerHTML;
|
|
2126
2142
|
}
|
|
@@ -2574,7 +2590,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2574
2590
|
}
|
|
2575
2591
|
this.unclaimedProjectionComponentFrameQueue.shift();
|
|
2576
2592
|
this.openFragment(
|
|
2577
|
-
|
|
2593
|
+
isDev5 ? [DEBUG_TYPE, "P" /* Projection */, QSlotParent, ssrComponentNode.id] : [QSlotParent, ssrComponentNode.id]
|
|
2578
2594
|
);
|
|
2579
2595
|
const lastNode = this.getOrCreateLastNode();
|
|
2580
2596
|
if (lastNode.vnodeData) {
|
|
@@ -2623,7 +2639,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2623
2639
|
}
|
|
2624
2640
|
createAndPushFrame(elementName, depthFirstElementIdx, currentFile) {
|
|
2625
2641
|
let tagNesting = 10 /* ANYTHING */;
|
|
2626
|
-
if (
|
|
2642
|
+
if (isDev5) {
|
|
2627
2643
|
if (!this.currentElementFrame) {
|
|
2628
2644
|
tagNesting = initialTag(elementName);
|
|
2629
2645
|
} else {
|
|
@@ -2699,7 +2715,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2699
2715
|
let value = attrs[i];
|
|
2700
2716
|
let styleScopedId = null;
|
|
2701
2717
|
if (isSSRUnsafeAttr(key)) {
|
|
2702
|
-
if (
|
|
2718
|
+
if (isDev5) {
|
|
2703
2719
|
throw qError(32 /* unsafeAttr */);
|
|
2704
2720
|
}
|
|
2705
2721
|
continue;
|
|
@@ -2741,7 +2757,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2741
2757
|
}
|
|
2742
2758
|
if (tag === "textarea" && key === "value") {
|
|
2743
2759
|
if (value && typeof value !== "string") {
|
|
2744
|
-
if (
|
|
2760
|
+
if (isDev5) {
|
|
2745
2761
|
throw qError(23 /* wrongTextareaValue */, [currentFile, value]);
|
|
2746
2762
|
}
|
|
2747
2763
|
continue;
|
|
@@ -13,7 +13,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
13
13
|
minify: false,
|
|
14
14
|
ssr: true,
|
|
15
15
|
rollupOptions: {
|
|
16
|
-
input: ["./src/entry_aws-lambda.tsx"
|
|
16
|
+
input: ["./src/entry_aws-lambda.tsx"],
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
plugins: [nodeServerAdapter({ name: "aws-lambda" })],
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/aws/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformAwsLambda,
|
|
@@ -20,10 +19,7 @@ declare global {
|
|
|
20
19
|
interface QwikRouterPlatform extends PlatformAwsLambda {}
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
export const { handle } = createQwikRouter({
|
|
24
|
-
render,
|
|
25
|
-
qwikRouterConfig,
|
|
26
|
-
});
|
|
22
|
+
export const { handle } = createQwikRouter({ render });
|
|
27
23
|
|
|
28
24
|
export const qwikApp = serverless({ handle }, { binary: true });
|
|
29
25
|
// handler is the default export for the lambda functions
|
|
@@ -8,7 +8,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
8
8
|
ssr: true,
|
|
9
9
|
outDir: "azure-functions/render",
|
|
10
10
|
rollupOptions: {
|
|
11
|
-
input: ["src/entry.azure-swa.tsx"
|
|
11
|
+
input: ["src/entry.azure-swa.tsx"],
|
|
12
12
|
output: {
|
|
13
13
|
entryFileNames: `[name].[hash].mjs`,
|
|
14
14
|
chunkFileNames: `[name].[hash].mjs`,
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/azure-swa/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformAzure,
|
|
@@ -18,4 +17,4 @@ declare global {
|
|
|
18
17
|
interface QwikRouterPlatform extends PlatformAzure {}
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|
|
@@ -8,14 +8,12 @@
|
|
|
8
8
|
* - https://bun.sh/docs/api/http
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
12
11
|
import { createQwikRouter } from "@qwik.dev/router/middleware/bun";
|
|
13
12
|
import render from "./entry.ssr";
|
|
14
13
|
|
|
15
14
|
// Create the Qwik Router Bun middleware
|
|
16
15
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
17
16
|
render,
|
|
18
|
-
qwikRouterConfig,
|
|
19
17
|
static: {
|
|
20
18
|
cacheControl: "public, max-age=31536000, immutable",
|
|
21
19
|
},
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/gcp-cloud-run/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformNode,
|
|
@@ -50,7 +49,6 @@ const DEFAULT_HEADERS = {
|
|
|
50
49
|
|
|
51
50
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
52
51
|
render,
|
|
53
|
-
qwikRouterConfig,
|
|
54
52
|
static: {
|
|
55
53
|
cacheControl: "public, max-age=31536000, immutable",
|
|
56
54
|
},
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/cloudflare-pages/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformCloudflarePages,
|
|
@@ -18,6 +17,6 @@ declare global {
|
|
|
18
17
|
interface QwikRouterPlatform extends PlatformCloudflarePages {}
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
const fetch = createQwikRouter({ render
|
|
20
|
+
const fetch = createQwikRouter({ render });
|
|
22
21
|
|
|
23
22
|
export { fetch };
|
|
@@ -8,14 +8,12 @@
|
|
|
8
8
|
* - https://docs.deno.com/runtime/tutorials/http_server
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
12
11
|
import { createQwikRouter } from "@qwik.dev/router/middleware/deno";
|
|
13
12
|
import render from "./entry.ssr";
|
|
14
13
|
|
|
15
14
|
// Create the Qwik Router Deno middleware
|
|
16
15
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
17
16
|
render,
|
|
18
|
-
qwikRouterConfig,
|
|
19
17
|
static: {
|
|
20
18
|
cacheControl: "public, max-age=31536000, immutable",
|
|
21
19
|
},
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/node/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformNode,
|
|
@@ -33,7 +32,6 @@ const PORT = process.env.PORT ?? 3000;
|
|
|
33
32
|
// Create the Qwik Router Node middleware
|
|
34
33
|
const { router, notFound } = createQwikRouter({
|
|
35
34
|
render,
|
|
36
|
-
qwikRouterConfig,
|
|
37
35
|
// getOrigin(req) {
|
|
38
36
|
// // If deploying under a proxy, you may need to build the origin from the request headers
|
|
39
37
|
// // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import fastifyStatic from "@fastify/static";
|
|
2
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
3
2
|
import { createQwikRouter } from "@qwik.dev/router/middleware/node";
|
|
4
3
|
import type { FastifyPluginAsync } from "fastify";
|
|
5
4
|
import fastifyPlugin from "fastify-plugin";
|
|
@@ -12,7 +11,7 @@ export interface FastifyQwikOptions {
|
|
|
12
11
|
assetsDir: string;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
const { router, notFound } = createQwikRouter({ render
|
|
14
|
+
const { router, notFound } = createQwikRouter({ render });
|
|
16
15
|
|
|
17
16
|
const qwikPlugin: FastifyPluginAsync<FastifyQwikOptions> = async (
|
|
18
17
|
fastify,
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/firebase/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformFirebase,
|
|
@@ -18,4 +17,4 @@ declare global {
|
|
|
18
17
|
interface QwikRouterPlatform extends PlatformFirebase {}
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|
|
@@ -7,7 +7,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
9
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.netlify-edge.tsx"
|
|
10
|
+
input: ["src/entry.netlify-edge.tsx"],
|
|
11
11
|
},
|
|
12
12
|
outDir: ".netlify/edge-functions/entry.netlify-edge",
|
|
13
13
|
},
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/netlify-edge/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformNetlify,
|
|
@@ -18,4 +17,4 @@ declare global {
|
|
|
18
17
|
interface QwikRouterPlatform extends PlatformNetlify {}
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|
|
@@ -7,7 +7,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
9
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.node-server.tsx"
|
|
10
|
+
input: ["src/entry.node-server.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [nodeServerAdapter({ name: "node-server" })],
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/node/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import { createQwikRouter } from "@qwik.dev/router/middleware/node";
|
|
12
11
|
import { createServer } from "node:http";
|
|
13
12
|
import render from "./entry.ssr";
|
|
@@ -18,7 +17,6 @@ const PORT = process.env.PORT ?? 3004;
|
|
|
18
17
|
// Create the Qwik Router express middleware
|
|
19
18
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
20
19
|
render,
|
|
21
|
-
qwikRouterConfig,
|
|
22
20
|
static: {
|
|
23
21
|
cacheControl: "public, max-age=31536000, immutable",
|
|
24
22
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ssgAdapter } from "@qwik.dev/router/adapters/ssg/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
3
|
import baseConfig from "../../vite.config.mts";
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [
|
|
14
|
-
|
|
14
|
+
ssgAdapter({
|
|
15
15
|
origin: "https://yoursite.qwik.dev",
|
|
16
16
|
}),
|
|
17
17
|
],
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Static Site Generator",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "vite build -c adapters/ssg/vite.config.mts"
|
|
5
|
+
},
|
|
6
|
+
"__qwik__": {
|
|
7
|
+
"priority": 10,
|
|
8
|
+
"displayName": "Adapter: Static Site Generation (.html files)",
|
|
9
|
+
"docs": [
|
|
10
|
+
"https://qwik.dev/docs/guides/static-site-generation/"
|
|
11
|
+
],
|
|
12
|
+
"nextSteps": {
|
|
13
|
+
"lines": [
|
|
14
|
+
"You have to change the 'origin' url under ssgAdapter",
|
|
15
|
+
"inside './adapters/ssg/vite.config.mts'"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|