@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.
Files changed (49) hide show
  1. package/dist/build/package.json +1 -1
  2. package/dist/cli.cjs +2 -2
  3. package/dist/core-internal.d.ts +49 -11
  4. package/dist/core.cjs +239 -105
  5. package/dist/core.cjs.map +1 -1
  6. package/dist/core.min.mjs +1 -1
  7. package/dist/core.mjs +224 -105
  8. package/dist/core.mjs.map +1 -1
  9. package/dist/core.prod.cjs +117 -63
  10. package/dist/core.prod.mjs +113 -58
  11. package/dist/loader/package.json +1 -1
  12. package/dist/optimizer.cjs +138 -202
  13. package/dist/optimizer.d.ts +9 -15
  14. package/dist/optimizer.mjs +129 -195
  15. package/dist/server.cjs +33 -16
  16. package/dist/server.mjs +32 -16
  17. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/vite.config.mts +1 -1
  18. package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +1 -5
  19. package/dist/starters/adapters/azure-swa/adapters/azure-swa/vite.config.mts +1 -1
  20. package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +1 -2
  21. package/dist/starters/adapters/bun/adapters/bun/vite.config.mts +1 -1
  22. package/dist/starters/adapters/bun/src/entry.bun.ts +0 -2
  23. package/dist/starters/adapters/cloud-run/adapters/cloud-run/vite.config.mts +1 -1
  24. package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +0 -2
  25. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/vite.config.mts +1 -1
  26. package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +1 -2
  27. package/dist/starters/adapters/deno/adapters/deno/vite.config.mts +1 -1
  28. package/dist/starters/adapters/deno/src/entry.deno.ts +0 -2
  29. package/dist/starters/adapters/express/adapters/express/vite.config.mts +1 -1
  30. package/dist/starters/adapters/express/src/entry.express.tsx +0 -2
  31. package/dist/starters/adapters/fastify/adapters/fastify/vite.config.mts +1 -1
  32. package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
  33. package/dist/starters/adapters/firebase/adapters/firebase/vite.config.mts +1 -1
  34. package/dist/starters/adapters/firebase/src/entry-firebase.tsx +1 -2
  35. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/vite.config.mts +1 -1
  36. package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +1 -2
  37. package/dist/starters/adapters/node-server/adapters/node-server/vite.config.mts +1 -1
  38. package/dist/starters/adapters/node-server/src/entry.node-server.tsx +0 -2
  39. package/dist/starters/adapters/{static/adapters/static → ssg/adapters/ssg}/vite.config.mts +2 -2
  40. package/dist/starters/adapters/ssg/package.json +19 -0
  41. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/vite.config.mts +1 -1
  42. package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +1 -2
  43. package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
  44. package/dist/testing/index.cjs +183 -121
  45. package/dist/testing/index.mjs +176 -115
  46. package/dist/testing/package.json +1 -1
  47. package/package.json +2 -2
  48. package/dist/starters/adapters/static/package.json +0 -19
  49. /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.5-dev+8887f7e
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.5-dev+8887f7e",
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 import_build7 = require("@qwik.dev/core/build");
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 import_build6 = require("@qwik.dev/core/build");
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 (import_build6.isDev && id.indexOf("undefined") != -1) {
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 + "-" : "") + (import_build7.isDev ? "ssr-dev" : "ssr");
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
- import_build7.isDev && this.write('=""');
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
- import_build7.isDev ? [DEBUG_TYPE, "P" /* Projection */, QSlotParent, ssrComponentNode.id] : [QSlotParent, ssrComponentNode.id]
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 (import_build7.isDev) {
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 (import_build7.isDev) {
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 (import_build7.isDev) {
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.5-dev+8887f7e
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.5-dev+8887f7e",
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 isDev4 } from "@qwik.dev/core/build";
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 isDev3 } from "@qwik.dev/core/build";
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 (isDev3 && id.indexOf("undefined") != -1) {
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 + "-" : "") + (isDev4 ? "ssr-dev" : "ssr");
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
- isDev4 && this.write('=""');
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
- isDev4 ? [DEBUG_TYPE, "P" /* Projection */, QSlotParent, ssrComponentNode.id] : [QSlotParent, ssrComponentNode.id]
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 (isDev4) {
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 (isDev4) {
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 (isDev4) {
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", "@qwik-router-config"],
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", "@qwik-router-config"],
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, qwikRouterConfig });
20
+ export default createQwikRouter({ render });
@@ -11,7 +11,7 @@ export default extendConfig(baseConfig, () => {
11
11
  build: {
12
12
  ssr: true,
13
13
  rollupOptions: {
14
- input: ["src/entry.bun.ts", "@qwik-router-config"],
14
+ input: ["src/entry.bun.ts"],
15
15
  },
16
16
  minify: false,
17
17
  },
@@ -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,7 @@ export default extendConfig(baseConfig, () => {
7
7
  build: {
8
8
  ssr: true,
9
9
  rollupOptions: {
10
- input: ["src/entry.cloud-run.tsx", "@qwik-router-config"],
10
+ input: ["src/entry.cloud-run.tsx"],
11
11
  },
12
12
  },
13
13
  plugins: [cloudRunAdapter()],
@@ -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,7 @@ export default extendConfig(baseConfig, () => {
7
7
  build: {
8
8
  ssr: true,
9
9
  rollupOptions: {
10
- input: ["src/entry.cloudflare-pages.tsx", "@qwik-router-config"],
10
+ input: ["src/entry.cloudflare-pages.tsx"],
11
11
  },
12
12
  },
13
13
  plugins: [cloudflarePagesAdapter()],
@@ -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, qwikRouterConfig });
20
+ const fetch = createQwikRouter({ render });
22
21
 
23
22
  export { fetch };
@@ -7,7 +7,7 @@ export default extendConfig(baseConfig, () => {
7
7
  build: {
8
8
  ssr: true,
9
9
  rollupOptions: {
10
- input: ["src/entry.deno.ts", "@qwik-router-config"],
10
+ input: ["src/entry.deno.ts"],
11
11
  },
12
12
  minify: false,
13
13
  },
@@ -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,7 @@ export default extendConfig(baseConfig, () => {
7
7
  build: {
8
8
  ssr: true,
9
9
  rollupOptions: {
10
- input: ["src/entry.express.tsx", "@qwik-router-config"],
10
+ input: ["src/entry.express.tsx"],
11
11
  },
12
12
  },
13
13
  plugins: [nodeServerAdapter({ name: "express" })],
@@ -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
@@ -7,7 +7,7 @@ export default extendConfig(baseConfig, () => {
7
7
  build: {
8
8
  ssr: true,
9
9
  rollupOptions: {
10
- input: ["src/entry.fastify.tsx", "@qwik-router-config"],
10
+ input: ["src/entry.fastify.tsx"],
11
11
  },
12
12
  },
13
13
  plugins: [nodeServerAdapter({ name: "fastify" })],
@@ -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, qwikRouterConfig });
14
+ const { router, notFound } = createQwikRouter({ render });
16
15
 
17
16
  const qwikPlugin: FastifyPluginAsync<FastifyQwikOptions> = async (
18
17
  fastify,
@@ -12,7 +12,7 @@ export default extendConfig(baseConfig, () => {
12
12
  minify: false,
13
13
  ssr: true,
14
14
  rollupOptions: {
15
- input: ["./src/entry-firebase.tsx", "@qwik-router-config"],
15
+ input: ["./src/entry-firebase.tsx"],
16
16
  },
17
17
  outDir: "./functions/server",
18
18
  },
@@ -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, qwikRouterConfig });
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", "@qwik-router-config"],
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, qwikRouterConfig });
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", "@qwik-router-config"],
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 { staticAdapter } from "@qwik.dev/router/adapters/static/vite";
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
- staticAdapter({
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
+ }
@@ -7,7 +7,7 @@ export default extendConfig(baseConfig, () => {
7
7
  build: {
8
8
  ssr: true,
9
9
  rollupOptions: {
10
- input: ["src/entry.vercel-edge.tsx", "@qwik-router-config"],
10
+ input: ["src/entry.vercel-edge.tsx"],
11
11
  },
12
12
  outDir: ".vercel/output/functions/_qwik-router.func",
13
13
  },