@qwik.dev/router 2.0.0-beta.10 → 2.0.0-beta.13

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 (140) hide show
  1. package/lib/adapters/azure-swa/vite/index.cjs +61 -5
  2. package/lib/adapters/azure-swa/vite/index.mjs +26 -201
  3. package/lib/adapters/bun-server/vite/index.cjs +27 -5
  4. package/lib/adapters/bun-server/vite/index.mjs +14 -196
  5. package/lib/adapters/cloud-run/vite/index.cjs +24 -5
  6. package/lib/adapters/cloud-run/vite/index.mjs +13 -195
  7. package/lib/adapters/cloudflare-pages/vite/index.cjs +65 -1
  8. package/lib/adapters/cloudflare-pages/vite/index.mjs +63 -4
  9. package/lib/adapters/deno-server/vite/index.cjs +39 -5
  10. package/lib/adapters/deno-server/vite/index.mjs +16 -198
  11. package/lib/adapters/netlify-edge/vite/index.cjs +88 -6
  12. package/lib/adapters/netlify-edge/vite/index.mjs +56 -240
  13. package/lib/adapters/node-server/vite/index.cjs +27 -5
  14. package/lib/adapters/node-server/vite/index.mjs +14 -196
  15. package/lib/adapters/shared/vite/index.cjs +303 -2
  16. package/lib/adapters/shared/vite/index.d.ts +4 -4
  17. package/lib/adapters/shared/vite/index.mjs +248 -143
  18. package/lib/adapters/ssg/vite/index.cjs +19 -5
  19. package/lib/adapters/ssg/vite/index.mjs +11 -193
  20. package/lib/adapters/vercel-edge/vite/index.cjs +81 -5
  21. package/lib/adapters/vercel-edge/vite/index.d.ts +1 -1
  22. package/lib/adapters/vercel-edge/vite/index.mjs +48 -229
  23. package/lib/chunks/error-handler.cjs +58 -0
  24. package/lib/chunks/error-handler.mjs +59 -0
  25. package/lib/chunks/format-error.cjs +136 -0
  26. package/lib/chunks/format-error.mjs +137 -0
  27. package/lib/chunks/fs.cjs +274 -0
  28. package/lib/chunks/fs.mjs +275 -0
  29. package/lib/chunks/index.cjs +877 -0
  30. package/lib/chunks/index.mjs +876 -0
  31. package/lib/chunks/mime-types.cjs +52 -0
  32. package/lib/chunks/mime-types.mjs +53 -0
  33. package/lib/chunks/routing.qwik.cjs +452 -0
  34. package/lib/chunks/routing.qwik.mjs +453 -0
  35. package/lib/chunks/types.qwik.cjs +24 -0
  36. package/lib/chunks/types.qwik.mjs +25 -0
  37. package/lib/index.d.ts +9 -3
  38. package/lib/index.qwik.cjs +543 -1001
  39. package/lib/index.qwik.mjs +512 -972
  40. package/lib/middleware/aws-lambda/index.cjs +52 -1
  41. package/lib/middleware/aws-lambda/index.mjs +37 -26
  42. package/lib/middleware/azure-swa/index.cjs +92 -1
  43. package/lib/middleware/azure-swa/index.mjs +64 -46
  44. package/lib/middleware/bun/index.cjs +143 -1
  45. package/lib/middleware/bun/index.mjs +103 -117
  46. package/lib/middleware/cloudflare-pages/index.cjs +96 -1
  47. package/lib/middleware/cloudflare-pages/index.mjs +68 -47
  48. package/lib/middleware/deno/index.cjs +130 -1
  49. package/lib/middleware/deno/index.mjs +93 -112
  50. package/lib/middleware/firebase/index.cjs +33 -1
  51. package/lib/middleware/firebase/index.mjs +25 -16
  52. package/lib/middleware/netlify-edge/index.cjs +71 -1
  53. package/lib/middleware/netlify-edge/index.mjs +52 -36
  54. package/lib/middleware/node/index.cjs +219 -1
  55. package/lib/middleware/node/index.mjs +178 -165
  56. package/lib/middleware/request-handler/index.cjs +1488 -18
  57. package/lib/middleware/request-handler/index.d.ts +20 -2
  58. package/lib/middleware/request-handler/index.mjs +1225 -873
  59. package/lib/middleware/vercel-edge/index.cjs +98 -1
  60. package/lib/middleware/vercel-edge/index.mjs +71 -47
  61. package/lib/service-worker/index.cjs +5 -0
  62. package/lib/service-worker/index.mjs +5 -0
  63. package/lib/ssg/index.cjs +15 -1
  64. package/lib/ssg/index.mjs +12 -19
  65. package/lib/vite/index.cjs +2006 -27
  66. package/lib/vite/index.d.ts +9 -9
  67. package/lib/vite/index.mjs +1597 -1216
  68. package/package.json +9 -8
  69. package/lib/adapters/azure-swa/vite/index-BqUeglYs.cjs +0 -1
  70. package/lib/adapters/azure-swa/vite/index-CBIchDYq.js +0 -651
  71. package/lib/adapters/azure-swa/vite/index-ClHGw5z1.js +0 -6
  72. package/lib/adapters/azure-swa/vite/index-CrwlB95_.js +0 -22
  73. package/lib/adapters/azure-swa/vite/index-DTIOTwZo.cjs +0 -11
  74. package/lib/adapters/azure-swa/vite/index-vQuPcef3.cjs +0 -1
  75. package/lib/adapters/bun-server/vite/index-BqUeglYs.cjs +0 -1
  76. package/lib/adapters/bun-server/vite/index-CBIchDYq.js +0 -651
  77. package/lib/adapters/bun-server/vite/index-ClHGw5z1.js +0 -6
  78. package/lib/adapters/bun-server/vite/index-CrwlB95_.js +0 -22
  79. package/lib/adapters/bun-server/vite/index-DTIOTwZo.cjs +0 -11
  80. package/lib/adapters/bun-server/vite/index-vQuPcef3.cjs +0 -1
  81. package/lib/adapters/cloud-run/vite/index-BqUeglYs.cjs +0 -1
  82. package/lib/adapters/cloud-run/vite/index-CBIchDYq.js +0 -651
  83. package/lib/adapters/cloud-run/vite/index-ClHGw5z1.js +0 -6
  84. package/lib/adapters/cloud-run/vite/index-CrwlB95_.js +0 -22
  85. package/lib/adapters/cloud-run/vite/index-DTIOTwZo.cjs +0 -11
  86. package/lib/adapters/cloud-run/vite/index-vQuPcef3.cjs +0 -1
  87. package/lib/adapters/cloudflare-pages/vite/index-BIeHg2Cj.cjs +0 -5
  88. package/lib/adapters/cloudflare-pages/vite/index-C455V8_A.cjs +0 -1
  89. package/lib/adapters/cloudflare-pages/vite/index-ClHGw5z1.js +0 -6
  90. package/lib/adapters/cloudflare-pages/vite/index-D3HITboM.js +0 -645
  91. package/lib/adapters/cloudflare-pages/vite/index-DKcVHRBy.cjs +0 -11
  92. package/lib/adapters/cloudflare-pages/vite/index-DwovcBp3.js +0 -22
  93. package/lib/adapters/cloudflare-pages/vite/index-bogwy7wh.js +0 -250
  94. package/lib/adapters/cloudflare-pages/vite/index-vQuPcef3.cjs +0 -1
  95. package/lib/adapters/deno-server/vite/index-BqUeglYs.cjs +0 -1
  96. package/lib/adapters/deno-server/vite/index-CBIchDYq.js +0 -651
  97. package/lib/adapters/deno-server/vite/index-ClHGw5z1.js +0 -6
  98. package/lib/adapters/deno-server/vite/index-CrwlB95_.js +0 -22
  99. package/lib/adapters/deno-server/vite/index-DTIOTwZo.cjs +0 -11
  100. package/lib/adapters/deno-server/vite/index-vQuPcef3.cjs +0 -1
  101. package/lib/adapters/netlify-edge/vite/index-BqUeglYs.cjs +0 -1
  102. package/lib/adapters/netlify-edge/vite/index-CBIchDYq.js +0 -651
  103. package/lib/adapters/netlify-edge/vite/index-ClHGw5z1.js +0 -6
  104. package/lib/adapters/netlify-edge/vite/index-CrwlB95_.js +0 -22
  105. package/lib/adapters/netlify-edge/vite/index-DTIOTwZo.cjs +0 -11
  106. package/lib/adapters/netlify-edge/vite/index-vQuPcef3.cjs +0 -1
  107. package/lib/adapters/node-server/vite/index-BqUeglYs.cjs +0 -1
  108. package/lib/adapters/node-server/vite/index-CBIchDYq.js +0 -651
  109. package/lib/adapters/node-server/vite/index-ClHGw5z1.js +0 -6
  110. package/lib/adapters/node-server/vite/index-CrwlB95_.js +0 -22
  111. package/lib/adapters/node-server/vite/index-DTIOTwZo.cjs +0 -11
  112. package/lib/adapters/node-server/vite/index-vQuPcef3.cjs +0 -1
  113. package/lib/adapters/shared/vite/index-BqUeglYs.cjs +0 -1
  114. package/lib/adapters/shared/vite/index-CBIchDYq.js +0 -651
  115. package/lib/adapters/shared/vite/index-ClHGw5z1.js +0 -6
  116. package/lib/adapters/shared/vite/index-CrwlB95_.js +0 -22
  117. package/lib/adapters/shared/vite/index-DTIOTwZo.cjs +0 -11
  118. package/lib/adapters/shared/vite/index-vQuPcef3.cjs +0 -1
  119. package/lib/adapters/ssg/vite/index-BqUeglYs.cjs +0 -1
  120. package/lib/adapters/ssg/vite/index-CBIchDYq.js +0 -651
  121. package/lib/adapters/ssg/vite/index-ClHGw5z1.js +0 -6
  122. package/lib/adapters/ssg/vite/index-CrwlB95_.js +0 -22
  123. package/lib/adapters/ssg/vite/index-DTIOTwZo.cjs +0 -11
  124. package/lib/adapters/ssg/vite/index-vQuPcef3.cjs +0 -1
  125. package/lib/adapters/vercel-edge/vite/index-BqUeglYs.cjs +0 -1
  126. package/lib/adapters/vercel-edge/vite/index-CBIchDYq.js +0 -651
  127. package/lib/adapters/vercel-edge/vite/index-ClHGw5z1.js +0 -6
  128. package/lib/adapters/vercel-edge/vite/index-CrwlB95_.js +0 -22
  129. package/lib/adapters/vercel-edge/vite/index-DTIOTwZo.cjs +0 -11
  130. package/lib/adapters/vercel-edge/vite/index-vQuPcef3.cjs +0 -1
  131. package/lib/service-worker.cjs +0 -1
  132. package/lib/service-worker.mjs +0 -5
  133. package/lib/ssg/deno.cjs +0 -1
  134. package/lib/ssg/deno.mjs +0 -6
  135. package/lib/ssg/index-CBIchDYq.js +0 -651
  136. package/lib/ssg/index-ClHGw5z1.js +0 -6
  137. package/lib/ssg/index-DTIOTwZo.cjs +0 -11
  138. package/lib/ssg/index-vQuPcef3.cjs +0 -1
  139. package/lib/ssg/node.cjs +0 -11
  140. package/lib/ssg/node.mjs +0 -651
@@ -1,5 +1,61 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("node:fs"),m=require("node:path"),v=require("@qwik.dev/router/middleware/request-handler");async function j(e,o,t,n,w){t&&!t.endsWith("/")&&(t+="/");const p=new Set([t+"/"+(globalThis.__QWIK_BUILD_DIR__||"build")+"/",t+"/"+(globalThis.__QWIK_ASSETS_DIR__||"assets")+"/"]),s=new Set(n.map(_)),f=[],g=async(a,l,c)=>{if(c=_(c),p.has(c))return;const y=m.join(a,l);if(l==="index.html"||l==="q-data.json"){!s.has(c)&&w&&await d.promises.unlink(y);return}if(l==="404.html"){const S=await d.promises.readFile(y,"utf-8");f.push([c,S]);return}const r=await d.promises.stat(y);r.isDirectory()?await i(y,c+l+"/"):r.isFile()&&s.add(c+l)},i=async(a,l)=>{const c=await d.promises.readdir(a);await Promise.all(c.map(y=>g(a,y,l)))};d.existsSync(e)&&await i(e,t);const u=O(t,f),h=R(s);await T(h,u,o)}function _(e){return e.endsWith("/")?e:e+"/"}function O(e,o){if(o.sort((t,n)=>t[0].length>n[0].length?-1:t[0].length<n[0].length?1:t[0]<n[0]?-1:t[0]>n[0]?1:0),!o.some(t=>t[0]===e)){const t=v.getErrorHtml(404,"Resource Not Found");o.push([e,t])}return JSON.stringify(o,null,2).slice(1,-1)}function R(e){return JSON.stringify(Array.from(new Set(e)).sort()).slice(1,-1)}const T=async(e,o,t)=>{const n=new Set,w=async s=>{const f=await d.promises.readFile(s,"utf-8");let g=!1;const i=f.replace(/(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,(u,h,a)=>(g=!0,a==="STATIC_PATHS"?e:o));g&&await d.promises.writeFile(s,i)},p=async s=>{const f=await d.promises.readdir(s,{withFileTypes:!0});for(const g of f)if(g.isDirectory())await p(m.join(s,g.name));else if(g.name.endsWith("js")){const i=w(m.join(s,g.name)).finally(()=>{n.delete(i)});n.add(i)}};await p(t),await Promise.all(n)};function D(e){let o=null,t=null,n=null,w=null,p=null,s=!1;const f=[];return{name:`vite-plugin-qwik-router-ssg-${e.name}`,enforce:"post",apply:"build",config(i){return typeof e.config=="function"&&(i=e.config(i)),i.define={"process.env.NODE_ENV":JSON.stringify("production"),...i.define},i},configResolved(i){if(s=!!i.build.ssr,s){if(o=i.plugins.find(u=>u.name==="vite-plugin-qwik-router"),!o)throw new Error("Missing vite-plugin-qwik-router");if(t=i.plugins.find(u=>u.name==="vite-plugin-qwik"),!t)throw new Error("Missing vite-plugin-qwik");if(n=i.build.outDir,i.build?.ssr!==!0)throw new Error(`"build.ssr" must be set to "true" in order to use the "${e.name}" adapter.`);if(!i.build?.rollupOptions?.input)throw new Error(`"build.rollupOptions.input" must be set in order to use the "${e.name}" adapter.`)}},buildStart(){if(s&&e.ssg!==null){const{srcDir:i}=t.api.getOptions();this.emitFile({id:"@qwik-router-config",type:"chunk",fileName:"@qwik-router-config.js"}),this.emitFile({id:`${i}/entry.ssr`,type:"chunk",fileName:"entry.ssr.js"})}},generateBundle(i,u){if(s){f.length=0;for(const h in u){const a=u[h];a.type==="chunk"&&a.isEntry&&(f.push(h),a.name==="entry.ssr"?w=m.join(n,h):a.name==="@qwik-router-config"&&(p=m.join(n,h)))}}},closeBundle:{sequential:!0,async handler(){if(s&&n&&o?.api&&t?.api){const i=e.staticPaths||[],u=o.api.getRoutes(),h=o.api.getBasePathname(),a=t.api.getClientOutDir(),l=t.api.getClientPublicOutDir(),c=t.api.getAssetsDir(),y=t.api.getRootDir()??void 0;if(e.ssg!==null&&w&&p&&a&&l){let r=e.ssg?.origin??e.origin;r||(r="https://yoursite.qwik.dev"),r.length>0&&!/:\/\//.test(r)&&(r=`https://${r}`),r.startsWith("//")&&(r=`https:${r}`);try{r=new URL(r).origin}catch{this.warn(`Invalid "origin" option: "${r}". Using default origin: "https://yoursite.qwik.dev"`),r="https://yoursite.qwik.dev"}const S=await Promise.resolve().then(()=>require("./index-BqUeglYs.cjs")),q={maxWorkers:e.maxWorkers,basePathname:h,outDir:l,rootDir:y,...e.ssg,origin:r,renderModulePath:w,qwikRouterConfigModulePath:p},k=await S.generate(q);if(k.errors>0){const P=new Error(`Error while running SSG from "${e.name}" adapter. At least one path failed to render.`);P.stack=void 0,this.error(P)}i.push(...k.staticPaths)}await j(l,n,c?m.join(h,c):h,i,!!e.cleanStaticGenerated),typeof e.generate=="function"&&await e.generate({outputEntries:f,serverOutDir:n,clientOutDir:a,clientPublicOutDir:l,basePathname:h,routes:u,assetsDir:c,warn:r=>this.warn(r),error:r=>this.error(r)}),this.warn(`
2
- ==============================================
3
- Note: Make sure that you are serving the built files with proper cache headers.
4
- See https://qwik.dev/docs/deployments/#cache-headers for more information.
5
- ==============================================`),e.ssg!==null&&setTimeout(()=>{process.exit(0)},5e3).unref()}}}}}function b(e={}){const o=process?.env;return D({name:"azure-swa",origin:o?.ORIGIN??o?.URL??"https://yoursitename.region.2.azurestaticapps.net",ssg:e.ssg,cleanStaticGenerated:!0,async generate({outputEntries:t,serverOutDir:n,clientPublicOutDir:w}){const p=m.join(n,"package.json"),s='{"type":"module"}';await d.promises.mkdir(n,{recursive:!0}),await d.promises.writeFile(p,s);const f=t.find(u=>u.indexOf("entry.azure-swa")===0),g=m.join(n,"function.json"),i=JSON.stringify({bindings:[{authLevel:"anonymous",type:"httpTrigger",direction:"in",name:"req",methods:["get","head","post","put","delete","connect","options","trace","patch"]},{type:"http",direction:"out",name:"$return"}],scriptFile:f},null,2);await d.promises.writeFile(g,i),d.existsSync(m.join(w,"index.html"))||await d.promises.writeFile(m.join(w,"index.html"),"")}})}exports.azureSwaAdapter=b;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fs = require("node:fs");
4
+ const path = require("node:path");
5
+ const adapters_shared_vite = require("../../shared/vite/index.cjs");
6
+ require("../../../chunks/error-handler.cjs");
7
+ function azureSwaAdapter(opts = {}) {
8
+ const env = process?.env;
9
+ return adapters_shared_vite.viteAdapter({
10
+ name: "azure-swa",
11
+ origin: env?.ORIGIN ?? env?.URL ?? "https://yoursitename.region.2.azurestaticapps.net",
12
+ ssg: opts.ssg,
13
+ cleanStaticGenerated: true,
14
+ async generate({ outputEntries, serverOutDir, clientPublicOutDir }) {
15
+ const serverPackageJsonPath = path.join(serverOutDir, "package.json");
16
+ const serverPackageJsonCode = `{"type":"module"}`;
17
+ await fs.promises.mkdir(serverOutDir, { recursive: true });
18
+ await fs.promises.writeFile(serverPackageJsonPath, serverPackageJsonCode);
19
+ const azureSwaModulePath = outputEntries.find(
20
+ (entryName) => entryName.indexOf("entry.azure-swa") === 0
21
+ );
22
+ const funcJsonPath = path.join(serverOutDir, "function.json");
23
+ const funcJson = JSON.stringify(
24
+ {
25
+ bindings: [
26
+ {
27
+ authLevel: "anonymous",
28
+ type: "httpTrigger",
29
+ direction: "in",
30
+ name: "req",
31
+ methods: [
32
+ "get",
33
+ "head",
34
+ "post",
35
+ "put",
36
+ "delete",
37
+ "connect",
38
+ "options",
39
+ "trace",
40
+ "patch"
41
+ ]
42
+ },
43
+ {
44
+ type: "http",
45
+ direction: "out",
46
+ name: "$return"
47
+ }
48
+ ],
49
+ scriptFile: azureSwaModulePath
50
+ },
51
+ null,
52
+ 2
53
+ );
54
+ await fs.promises.writeFile(funcJsonPath, funcJson);
55
+ if (!fs.existsSync(path.join(clientPublicOutDir, "index.html"))) {
56
+ await fs.promises.writeFile(path.join(clientPublicOutDir, "index.html"), "");
57
+ }
58
+ }
59
+ });
60
+ }
61
+ exports.azureSwaAdapter = azureSwaAdapter;
@@ -1,202 +1,24 @@
1
- import d from "node:fs";
2
- import { join as m } from "node:path";
3
- import { getErrorHtml as q } from "@qwik.dev/router/middleware/request-handler";
4
- async function R(e, o, t, r, h) {
5
- t && !t.endsWith("/") && (t += "/");
6
- const p = /* @__PURE__ */ new Set([
7
- t + "/" + (globalThis.__QWIK_BUILD_DIR__ || "build") + "/",
8
- t + "/" + (globalThis.__QWIK_ASSETS_DIR__ || "assets") + "/"
9
- ]), s = new Set(r.map(P)), f = [], g = async (a, u, c) => {
10
- if (c = P(c), p.has(c))
11
- return;
12
- const y = m(a, u);
13
- if (u === "index.html" || u === "q-data.json") {
14
- !s.has(c) && h && await d.promises.unlink(y);
15
- return;
16
- }
17
- if (u === "404.html") {
18
- const k = await d.promises.readFile(y, "utf-8");
19
- f.push([c, k]);
20
- return;
21
- }
22
- const n = await d.promises.stat(y);
23
- n.isDirectory() ? await i(y, c + u + "/") : n.isFile() && s.add(c + u);
24
- }, i = async (a, u) => {
25
- const c = await d.promises.readdir(a);
26
- await Promise.all(c.map((y) => g(a, y, u)));
27
- };
28
- d.existsSync(e) && await i(e, t);
29
- const l = O(t, f), w = D(s);
30
- await T(w, l, o);
31
- }
32
- function P(e) {
33
- return e.endsWith("/") ? e : e + "/";
34
- }
35
- function O(e, o) {
36
- if (o.sort((t, r) => t[0].length > r[0].length ? -1 : t[0].length < r[0].length ? 1 : t[0] < r[0] ? -1 : t[0] > r[0] ? 1 : 0), !o.some((t) => t[0] === e)) {
37
- const t = q(404, "Resource Not Found");
38
- o.push([e, t]);
39
- }
40
- return JSON.stringify(o, null, 2).slice(1, -1);
41
- }
42
- function D(e) {
43
- return JSON.stringify(Array.from(new Set(e)).sort()).slice(1, -1);
44
- }
45
- const T = async (e, o, t) => {
46
- const r = /* @__PURE__ */ new Set(), h = async (s) => {
47
- const f = await d.promises.readFile(s, "utf-8");
48
- let g = !1;
49
- const i = f.replace(
50
- /(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,
51
- (l, w, a) => (g = !0, a === "STATIC_PATHS" ? e : o)
52
- );
53
- g && await d.promises.writeFile(s, i);
54
- }, p = async (s) => {
55
- const f = await d.promises.readdir(s, { withFileTypes: !0 });
56
- for (const g of f)
57
- if (g.isDirectory())
58
- await p(m(s, g.name));
59
- else if (g.name.endsWith("js")) {
60
- const i = h(m(s, g.name)).finally(() => {
61
- r.delete(i);
62
- });
63
- r.add(i);
64
- }
65
- };
66
- await p(t), await Promise.all(r);
67
- };
68
- function F(e) {
69
- let o = null, t = null, r = null, h = null, p = null, s = !1;
70
- const f = [];
71
- return {
72
- name: `vite-plugin-qwik-router-ssg-${e.name}`,
73
- enforce: "post",
74
- apply: "build",
75
- config(i) {
76
- return typeof e.config == "function" && (i = e.config(i)), i.define = {
77
- "process.env.NODE_ENV": JSON.stringify("production"),
78
- ...i.define
79
- }, i;
80
- },
81
- configResolved(i) {
82
- if (s = !!i.build.ssr, s) {
83
- if (o = i.plugins.find(
84
- (l) => l.name === "vite-plugin-qwik-router"
85
- ), !o)
86
- throw new Error("Missing vite-plugin-qwik-router");
87
- if (t = i.plugins.find(
88
- (l) => l.name === "vite-plugin-qwik"
89
- ), !t)
90
- throw new Error("Missing vite-plugin-qwik");
91
- if (r = i.build.outDir, i.build?.ssr !== !0)
92
- throw new Error(
93
- `"build.ssr" must be set to "true" in order to use the "${e.name}" adapter.`
94
- );
95
- if (!i.build?.rollupOptions?.input)
96
- throw new Error(
97
- `"build.rollupOptions.input" must be set in order to use the "${e.name}" adapter.`
98
- );
99
- }
100
- },
101
- buildStart() {
102
- if (s && e.ssg !== null) {
103
- const { srcDir: i } = t.api.getOptions();
104
- this.emitFile({
105
- id: "@qwik-router-config",
106
- type: "chunk",
107
- fileName: "@qwik-router-config.js"
108
- }), this.emitFile({
109
- id: `${i}/entry.ssr`,
110
- type: "chunk",
111
- fileName: "entry.ssr.js"
112
- });
113
- }
114
- },
115
- generateBundle(i, l) {
116
- if (s) {
117
- f.length = 0;
118
- for (const w in l) {
119
- const a = l[w];
120
- a.type === "chunk" && a.isEntry && (f.push(w), a.name === "entry.ssr" ? h = m(r, w) : a.name === "@qwik-router-config" && (p = m(r, w)));
121
- }
122
- }
123
- },
124
- closeBundle: {
125
- sequential: !0,
126
- async handler() {
127
- if (s && r && o?.api && t?.api) {
128
- const i = e.staticPaths || [], l = o.api.getRoutes(), w = o.api.getBasePathname(), a = t.api.getClientOutDir(), u = t.api.getClientPublicOutDir(), c = t.api.getAssetsDir(), y = t.api.getRootDir() ?? void 0;
129
- if (e.ssg !== null && h && p && a && u) {
130
- let n = e.ssg?.origin ?? e.origin;
131
- n || (n = "https://yoursite.qwik.dev"), n.length > 0 && !/:\/\//.test(n) && (n = `https://${n}`), n.startsWith("//") && (n = `https:${n}`);
132
- try {
133
- n = new URL(n).origin;
134
- } catch {
135
- this.warn(
136
- `Invalid "origin" option: "${n}". Using default origin: "https://yoursite.qwik.dev"`
137
- ), n = "https://yoursite.qwik.dev";
138
- }
139
- const k = await import("./index-CrwlB95_.js"), v = {
140
- maxWorkers: e.maxWorkers,
141
- basePathname: w,
142
- outDir: u,
143
- rootDir: y,
144
- ...e.ssg,
145
- origin: n,
146
- renderModulePath: h,
147
- qwikRouterConfigModulePath: p
148
- }, S = await k.generate(v);
149
- if (S.errors > 0) {
150
- const _ = new Error(
151
- `Error while running SSG from "${e.name}" adapter. At least one path failed to render.`
152
- );
153
- _.stack = void 0, this.error(_);
154
- }
155
- i.push(...S.staticPaths);
156
- }
157
- await R(
158
- u,
159
- r,
160
- c ? m(w, c) : w,
161
- i,
162
- !!e.cleanStaticGenerated
163
- ), typeof e.generate == "function" && await e.generate({
164
- outputEntries: f,
165
- serverOutDir: r,
166
- clientOutDir: a,
167
- clientPublicOutDir: u,
168
- basePathname: w,
169
- routes: l,
170
- assetsDir: c,
171
- warn: (n) => this.warn(n),
172
- error: (n) => this.error(n)
173
- }), this.warn(
174
- `
175
- ==============================================
176
- Note: Make sure that you are serving the built files with proper cache headers.
177
- See https://qwik.dev/docs/deployments/#cache-headers for more information.
178
- ==============================================`
179
- ), e.ssg !== null && setTimeout(() => {
180
- process.exit(0);
181
- }, 5e3).unref();
182
- }
183
- }
184
- }
185
- };
186
- }
187
- function I(e = {}) {
188
- const o = process?.env;
189
- return F({
1
+ import fs from "node:fs";
2
+ import { join } from "node:path";
3
+ import { viteAdapter } from "../../shared/vite/index.mjs";
4
+ import "../../../chunks/error-handler.mjs";
5
+ function azureSwaAdapter(opts = {}) {
6
+ const env = process?.env;
7
+ return viteAdapter({
190
8
  name: "azure-swa",
191
- origin: o?.ORIGIN ?? o?.URL ?? "https://yoursitename.region.2.azurestaticapps.net",
192
- ssg: e.ssg,
193
- cleanStaticGenerated: !0,
194
- async generate({ outputEntries: t, serverOutDir: r, clientPublicOutDir: h }) {
195
- const p = m(r, "package.json"), s = '{"type":"module"}';
196
- await d.promises.mkdir(r, { recursive: !0 }), await d.promises.writeFile(p, s);
197
- const f = t.find(
198
- (l) => l.indexOf("entry.azure-swa") === 0
199
- ), g = m(r, "function.json"), i = JSON.stringify(
9
+ origin: env?.ORIGIN ?? env?.URL ?? "https://yoursitename.region.2.azurestaticapps.net",
10
+ ssg: opts.ssg,
11
+ cleanStaticGenerated: true,
12
+ async generate({ outputEntries, serverOutDir, clientPublicOutDir }) {
13
+ const serverPackageJsonPath = join(serverOutDir, "package.json");
14
+ const serverPackageJsonCode = `{"type":"module"}`;
15
+ await fs.promises.mkdir(serverOutDir, { recursive: true });
16
+ await fs.promises.writeFile(serverPackageJsonPath, serverPackageJsonCode);
17
+ const azureSwaModulePath = outputEntries.find(
18
+ (entryName) => entryName.indexOf("entry.azure-swa") === 0
19
+ );
20
+ const funcJsonPath = join(serverOutDir, "function.json");
21
+ const funcJson = JSON.stringify(
200
22
  {
201
23
  bindings: [
202
24
  {
@@ -222,15 +44,18 @@ function I(e = {}) {
222
44
  name: "$return"
223
45
  }
224
46
  ],
225
- scriptFile: f
47
+ scriptFile: azureSwaModulePath
226
48
  },
227
49
  null,
228
50
  2
229
51
  );
230
- await d.promises.writeFile(g, i), d.existsSync(m(h, "index.html")) || await d.promises.writeFile(m(h, "index.html"), "");
52
+ await fs.promises.writeFile(funcJsonPath, funcJson);
53
+ if (!fs.existsSync(join(clientPublicOutDir, "index.html"))) {
54
+ await fs.promises.writeFile(join(clientPublicOutDir, "index.html"), "");
55
+ }
231
56
  }
232
57
  });
233
58
  }
234
59
  export {
235
- I as azureSwaAdapter
60
+ azureSwaAdapter
236
61
  };
@@ -1,5 +1,27 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("node:path"),P=require("@qwik.dev/router/middleware/request-handler"),p=require("node:fs");async function b(e,n,t,s,m){t&&!t.endsWith("/")&&(t+="/");const h=new Set([t+"/"+(globalThis.__QWIK_BUILD_DIR__||"build")+"/",t+"/"+(globalThis.__QWIK_ASSETS_DIR__||"assets")+"/"]),o=new Set(s.map(v)),f=[],g=async(a,u,l)=>{if(l=v(l),h.has(l))return;const w=y.join(a,u);if(u==="index.html"||u==="q-data.json"){!o.has(l)&&m&&await p.promises.unlink(w);return}if(u==="404.html"){const S=await p.promises.readFile(w,"utf-8");f.push([l,S]);return}const r=await p.promises.stat(w);r.isDirectory()?await i(w,l+u+"/"):r.isFile()&&o.add(l+u)},i=async(a,u)=>{const l=await p.promises.readdir(a);await Promise.all(l.map(w=>g(a,w,u)))};p.existsSync(e)&&await i(e,t);const d=D(t,f),c=O(o);await R(c,d,n)}function v(e){return e.endsWith("/")?e:e+"/"}function D(e,n){if(n.sort((t,s)=>t[0].length>s[0].length?-1:t[0].length<s[0].length?1:t[0]<s[0]?-1:t[0]>s[0]?1:0),!n.some(t=>t[0]===e)){const t=P.getErrorHtml(404,"Resource Not Found");n.push([e,t])}return JSON.stringify(n,null,2).slice(1,-1)}function O(e){return JSON.stringify(Array.from(new Set(e)).sort()).slice(1,-1)}const R=async(e,n,t)=>{const s=new Set,m=async o=>{const f=await p.promises.readFile(o,"utf-8");let g=!1;const i=f.replace(/(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,(d,c,a)=>(g=!0,a==="STATIC_PATHS"?e:n));g&&await p.promises.writeFile(o,i)},h=async o=>{const f=await p.promises.readdir(o,{withFileTypes:!0});for(const g of f)if(g.isDirectory())await h(y.join(o,g.name));else if(g.name.endsWith("js")){const i=m(y.join(o,g.name)).finally(()=>{s.delete(i)});s.add(i)}};await h(t),await Promise.all(s)};function T(e){let n=null,t=null,s=null,m=null,h=null,o=!1;const f=[];return{name:`vite-plugin-qwik-router-ssg-${e.name}`,enforce:"post",apply:"build",config(i){return typeof e.config=="function"&&(i=e.config(i)),i.define={"process.env.NODE_ENV":JSON.stringify("production"),...i.define},i},configResolved(i){if(o=!!i.build.ssr,o){if(n=i.plugins.find(d=>d.name==="vite-plugin-qwik-router"),!n)throw new Error("Missing vite-plugin-qwik-router");if(t=i.plugins.find(d=>d.name==="vite-plugin-qwik"),!t)throw new Error("Missing vite-plugin-qwik");if(s=i.build.outDir,i.build?.ssr!==!0)throw new Error(`"build.ssr" must be set to "true" in order to use the "${e.name}" adapter.`);if(!i.build?.rollupOptions?.input)throw new Error(`"build.rollupOptions.input" must be set in order to use the "${e.name}" adapter.`)}},buildStart(){if(o&&e.ssg!==null){const{srcDir:i}=t.api.getOptions();this.emitFile({id:"@qwik-router-config",type:"chunk",fileName:"@qwik-router-config.js"}),this.emitFile({id:`${i}/entry.ssr`,type:"chunk",fileName:"entry.ssr.js"})}},generateBundle(i,d){if(o){f.length=0;for(const c in d){const a=d[c];a.type==="chunk"&&a.isEntry&&(f.push(c),a.name==="entry.ssr"?m=y.join(s,c):a.name==="@qwik-router-config"&&(h=y.join(s,c)))}}},closeBundle:{sequential:!0,async handler(){if(o&&s&&n?.api&&t?.api){const i=e.staticPaths||[],d=n.api.getRoutes(),c=n.api.getBasePathname(),a=t.api.getClientOutDir(),u=t.api.getClientPublicOutDir(),l=t.api.getAssetsDir(),w=t.api.getRootDir()??void 0;if(e.ssg!==null&&m&&h&&a&&u){let r=e.ssg?.origin??e.origin;r||(r="https://yoursite.qwik.dev"),r.length>0&&!/:\/\//.test(r)&&(r=`https://${r}`),r.startsWith("//")&&(r=`https:${r}`);try{r=new URL(r).origin}catch{this.warn(`Invalid "origin" option: "${r}". Using default origin: "https://yoursite.qwik.dev"`),r="https://yoursite.qwik.dev"}const S=await Promise.resolve().then(()=>require("./index-BqUeglYs.cjs")),q={maxWorkers:e.maxWorkers,basePathname:c,outDir:u,rootDir:w,...e.ssg,origin:r,renderModulePath:m,qwikRouterConfigModulePath:h},_=await S.generate(q);if(_.errors>0){const k=new Error(`Error while running SSG from "${e.name}" adapter. At least one path failed to render.`);k.stack=void 0,this.error(k)}i.push(..._.staticPaths)}await b(u,s,l?y.join(c,l):c,i,!!e.cleanStaticGenerated),typeof e.generate=="function"&&await e.generate({outputEntries:f,serverOutDir:s,clientOutDir:a,clientPublicOutDir:u,basePathname:c,routes:d,assetsDir:l,warn:r=>this.warn(r),error:r=>this.error(r)}),this.warn(`
2
- ==============================================
3
- Note: Make sure that you are serving the built files with proper cache headers.
4
- See https://qwik.dev/docs/deployments/#cache-headers for more information.
5
- ==============================================`),e.ssg!==null&&setTimeout(()=>{process.exit(0)},5e3).unref()}}}}}function A(e={}){const n=process?.env;return T({name:e.name||"bun-server",origin:n?.ORIGIN??n?.URL??"https://yoursitename.qwik.dev",ssg:e.ssg,cleanStaticGenerated:!0,config(){return{ssr:{target:"node"},build:{ssr:!0},publicDir:!1}}})}exports.bunServerAdapter=A;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const adapters_shared_vite = require("../../shared/vite/index.cjs");
4
+ require("node:path");
5
+ require("node:fs");
6
+ require("../../../chunks/error-handler.cjs");
7
+ function bunServerAdapter(opts = {}) {
8
+ const env = process?.env;
9
+ return adapters_shared_vite.viteAdapter({
10
+ name: opts.name || "bun-server",
11
+ origin: env?.ORIGIN ?? env?.URL ?? "https://yoursitename.qwik.dev",
12
+ ssg: opts.ssg,
13
+ cleanStaticGenerated: true,
14
+ config() {
15
+ return {
16
+ ssr: {
17
+ target: "node"
18
+ },
19
+ build: {
20
+ ssr: true
21
+ },
22
+ publicDir: false
23
+ };
24
+ }
25
+ });
26
+ }
27
+ exports.bunServerAdapter = bunServerAdapter;
@@ -1,209 +1,27 @@
1
- import { join as y } from "node:path";
2
- import { getErrorHtml as q } from "@qwik.dev/router/middleware/request-handler";
3
- import p from "node:fs";
4
- async function D(e, n, t, s, m) {
5
- t && !t.endsWith("/") && (t += "/");
6
- const w = /* @__PURE__ */ new Set([
7
- t + "/" + (globalThis.__QWIK_BUILD_DIR__ || "build") + "/",
8
- t + "/" + (globalThis.__QWIK_ASSETS_DIR__ || "assets") + "/"
9
- ]), o = new Set(s.map(v)), f = [], g = async (a, l, u) => {
10
- if (u = v(u), w.has(u))
11
- return;
12
- const h = y(a, l);
13
- if (l === "index.html" || l === "q-data.json") {
14
- !o.has(u) && m && await p.promises.unlink(h);
15
- return;
16
- }
17
- if (l === "404.html") {
18
- const k = await p.promises.readFile(h, "utf-8");
19
- f.push([u, k]);
20
- return;
21
- }
22
- const r = await p.promises.stat(h);
23
- r.isDirectory() ? await i(h, u + l + "/") : r.isFile() && o.add(u + l);
24
- }, i = async (a, l) => {
25
- const u = await p.promises.readdir(a);
26
- await Promise.all(u.map((h) => g(a, h, l)));
27
- };
28
- p.existsSync(e) && await i(e, t);
29
- const d = O(t, f), c = R(o);
30
- await b(c, d, n);
31
- }
32
- function v(e) {
33
- return e.endsWith("/") ? e : e + "/";
34
- }
35
- function O(e, n) {
36
- if (n.sort((t, s) => t[0].length > s[0].length ? -1 : t[0].length < s[0].length ? 1 : t[0] < s[0] ? -1 : t[0] > s[0] ? 1 : 0), !n.some((t) => t[0] === e)) {
37
- const t = q(404, "Resource Not Found");
38
- n.push([e, t]);
39
- }
40
- return JSON.stringify(n, null, 2).slice(1, -1);
41
- }
42
- function R(e) {
43
- return JSON.stringify(Array.from(new Set(e)).sort()).slice(1, -1);
44
- }
45
- const b = async (e, n, t) => {
46
- const s = /* @__PURE__ */ new Set(), m = async (o) => {
47
- const f = await p.promises.readFile(o, "utf-8");
48
- let g = !1;
49
- const i = f.replace(
50
- /(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,
51
- (d, c, a) => (g = !0, a === "STATIC_PATHS" ? e : n)
52
- );
53
- g && await p.promises.writeFile(o, i);
54
- }, w = async (o) => {
55
- const f = await p.promises.readdir(o, { withFileTypes: !0 });
56
- for (const g of f)
57
- if (g.isDirectory())
58
- await w(y(o, g.name));
59
- else if (g.name.endsWith("js")) {
60
- const i = m(y(o, g.name)).finally(() => {
61
- s.delete(i);
62
- });
63
- s.add(i);
64
- }
65
- };
66
- await w(t), await Promise.all(s);
67
- };
68
- function T(e) {
69
- let n = null, t = null, s = null, m = null, w = null, o = !1;
70
- const f = [];
71
- return {
72
- name: `vite-plugin-qwik-router-ssg-${e.name}`,
73
- enforce: "post",
74
- apply: "build",
75
- config(i) {
76
- return typeof e.config == "function" && (i = e.config(i)), i.define = {
77
- "process.env.NODE_ENV": JSON.stringify("production"),
78
- ...i.define
79
- }, i;
80
- },
81
- configResolved(i) {
82
- if (o = !!i.build.ssr, o) {
83
- if (n = i.plugins.find(
84
- (d) => d.name === "vite-plugin-qwik-router"
85
- ), !n)
86
- throw new Error("Missing vite-plugin-qwik-router");
87
- if (t = i.plugins.find(
88
- (d) => d.name === "vite-plugin-qwik"
89
- ), !t)
90
- throw new Error("Missing vite-plugin-qwik");
91
- if (s = i.build.outDir, i.build?.ssr !== !0)
92
- throw new Error(
93
- `"build.ssr" must be set to "true" in order to use the "${e.name}" adapter.`
94
- );
95
- if (!i.build?.rollupOptions?.input)
96
- throw new Error(
97
- `"build.rollupOptions.input" must be set in order to use the "${e.name}" adapter.`
98
- );
99
- }
100
- },
101
- buildStart() {
102
- if (o && e.ssg !== null) {
103
- const { srcDir: i } = t.api.getOptions();
104
- this.emitFile({
105
- id: "@qwik-router-config",
106
- type: "chunk",
107
- fileName: "@qwik-router-config.js"
108
- }), this.emitFile({
109
- id: `${i}/entry.ssr`,
110
- type: "chunk",
111
- fileName: "entry.ssr.js"
112
- });
113
- }
114
- },
115
- generateBundle(i, d) {
116
- if (o) {
117
- f.length = 0;
118
- for (const c in d) {
119
- const a = d[c];
120
- a.type === "chunk" && a.isEntry && (f.push(c), a.name === "entry.ssr" ? m = y(s, c) : a.name === "@qwik-router-config" && (w = y(s, c)));
121
- }
122
- }
123
- },
124
- closeBundle: {
125
- sequential: !0,
126
- async handler() {
127
- if (o && s && n?.api && t?.api) {
128
- const i = e.staticPaths || [], d = n.api.getRoutes(), c = n.api.getBasePathname(), a = t.api.getClientOutDir(), l = t.api.getClientPublicOutDir(), u = t.api.getAssetsDir(), h = t.api.getRootDir() ?? void 0;
129
- if (e.ssg !== null && m && w && a && l) {
130
- let r = e.ssg?.origin ?? e.origin;
131
- r || (r = "https://yoursite.qwik.dev"), r.length > 0 && !/:\/\//.test(r) && (r = `https://${r}`), r.startsWith("//") && (r = `https:${r}`);
132
- try {
133
- r = new URL(r).origin;
134
- } catch {
135
- this.warn(
136
- `Invalid "origin" option: "${r}". Using default origin: "https://yoursite.qwik.dev"`
137
- ), r = "https://yoursite.qwik.dev";
138
- }
139
- const k = await import("./index-CrwlB95_.js"), P = {
140
- maxWorkers: e.maxWorkers,
141
- basePathname: c,
142
- outDir: l,
143
- rootDir: h,
144
- ...e.ssg,
145
- origin: r,
146
- renderModulePath: m,
147
- qwikRouterConfigModulePath: w
148
- }, S = await k.generate(P);
149
- if (S.errors > 0) {
150
- const _ = new Error(
151
- `Error while running SSG from "${e.name}" adapter. At least one path failed to render.`
152
- );
153
- _.stack = void 0, this.error(_);
154
- }
155
- i.push(...S.staticPaths);
156
- }
157
- await D(
158
- l,
159
- s,
160
- u ? y(c, u) : c,
161
- i,
162
- !!e.cleanStaticGenerated
163
- ), typeof e.generate == "function" && await e.generate({
164
- outputEntries: f,
165
- serverOutDir: s,
166
- clientOutDir: a,
167
- clientPublicOutDir: l,
168
- basePathname: c,
169
- routes: d,
170
- assetsDir: u,
171
- warn: (r) => this.warn(r),
172
- error: (r) => this.error(r)
173
- }), this.warn(
174
- `
175
- ==============================================
176
- Note: Make sure that you are serving the built files with proper cache headers.
177
- See https://qwik.dev/docs/deployments/#cache-headers for more information.
178
- ==============================================`
179
- ), e.ssg !== null && setTimeout(() => {
180
- process.exit(0);
181
- }, 5e3).unref();
182
- }
183
- }
184
- }
185
- };
186
- }
187
- function C(e = {}) {
188
- const n = process?.env;
189
- return T({
190
- name: e.name || "bun-server",
191
- origin: n?.ORIGIN ?? n?.URL ?? "https://yoursitename.qwik.dev",
192
- ssg: e.ssg,
193
- cleanStaticGenerated: !0,
1
+ import { viteAdapter } from "../../shared/vite/index.mjs";
2
+ import "node:path";
3
+ import "node:fs";
4
+ import "../../../chunks/error-handler.mjs";
5
+ function bunServerAdapter(opts = {}) {
6
+ const env = process?.env;
7
+ return viteAdapter({
8
+ name: opts.name || "bun-server",
9
+ origin: env?.ORIGIN ?? env?.URL ?? "https://yoursitename.qwik.dev",
10
+ ssg: opts.ssg,
11
+ cleanStaticGenerated: true,
194
12
  config() {
195
13
  return {
196
14
  ssr: {
197
15
  target: "node"
198
16
  },
199
17
  build: {
200
- ssr: !0
18
+ ssr: true
201
19
  },
202
- publicDir: !1
20
+ publicDir: false
203
21
  };
204
22
  }
205
23
  });
206
24
  }
207
25
  export {
208
- C as bunServerAdapter
26
+ bunServerAdapter
209
27
  };
@@ -1,5 +1,24 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("node:path"),v=require("@qwik.dev/router/middleware/request-handler"),p=require("node:fs");async function D(e,n,t,s,m){t&&!t.endsWith("/")&&(t+="/");const h=new Set([t+"/"+(globalThis.__QWIK_BUILD_DIR__||"build")+"/",t+"/"+(globalThis.__QWIK_ASSETS_DIR__||"assets")+"/"]),o=new Set(s.map(q)),f=[],g=async(a,u,l)=>{if(l=q(l),h.has(l))return;const w=y.join(a,u);if(u==="index.html"||u==="q-data.json"){!o.has(l)&&m&&await p.promises.unlink(w);return}if(u==="404.html"){const S=await p.promises.readFile(w,"utf-8");f.push([l,S]);return}const r=await p.promises.stat(w);r.isDirectory()?await i(w,l+u+"/"):r.isFile()&&o.add(l+u)},i=async(a,u)=>{const l=await p.promises.readdir(a);await Promise.all(l.map(w=>g(a,w,u)))};p.existsSync(e)&&await i(e,t);const d=R(t,f),c=O(o);await b(c,d,n)}function q(e){return e.endsWith("/")?e:e+"/"}function R(e,n){if(n.sort((t,s)=>t[0].length>s[0].length?-1:t[0].length<s[0].length?1:t[0]<s[0]?-1:t[0]>s[0]?1:0),!n.some(t=>t[0]===e)){const t=v.getErrorHtml(404,"Resource Not Found");n.push([e,t])}return JSON.stringify(n,null,2).slice(1,-1)}function O(e){return JSON.stringify(Array.from(new Set(e)).sort()).slice(1,-1)}const b=async(e,n,t)=>{const s=new Set,m=async o=>{const f=await p.promises.readFile(o,"utf-8");let g=!1;const i=f.replace(/(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,(d,c,a)=>(g=!0,a==="STATIC_PATHS"?e:n));g&&await p.promises.writeFile(o,i)},h=async o=>{const f=await p.promises.readdir(o,{withFileTypes:!0});for(const g of f)if(g.isDirectory())await h(y.join(o,g.name));else if(g.name.endsWith("js")){const i=m(y.join(o,g.name)).finally(()=>{s.delete(i)});s.add(i)}};await h(t),await Promise.all(s)};function T(e){let n=null,t=null,s=null,m=null,h=null,o=!1;const f=[];return{name:`vite-plugin-qwik-router-ssg-${e.name}`,enforce:"post",apply:"build",config(i){return typeof e.config=="function"&&(i=e.config(i)),i.define={"process.env.NODE_ENV":JSON.stringify("production"),...i.define},i},configResolved(i){if(o=!!i.build.ssr,o){if(n=i.plugins.find(d=>d.name==="vite-plugin-qwik-router"),!n)throw new Error("Missing vite-plugin-qwik-router");if(t=i.plugins.find(d=>d.name==="vite-plugin-qwik"),!t)throw new Error("Missing vite-plugin-qwik");if(s=i.build.outDir,i.build?.ssr!==!0)throw new Error(`"build.ssr" must be set to "true" in order to use the "${e.name}" adapter.`);if(!i.build?.rollupOptions?.input)throw new Error(`"build.rollupOptions.input" must be set in order to use the "${e.name}" adapter.`)}},buildStart(){if(o&&e.ssg!==null){const{srcDir:i}=t.api.getOptions();this.emitFile({id:"@qwik-router-config",type:"chunk",fileName:"@qwik-router-config.js"}),this.emitFile({id:`${i}/entry.ssr`,type:"chunk",fileName:"entry.ssr.js"})}},generateBundle(i,d){if(o){f.length=0;for(const c in d){const a=d[c];a.type==="chunk"&&a.isEntry&&(f.push(c),a.name==="entry.ssr"?m=y.join(s,c):a.name==="@qwik-router-config"&&(h=y.join(s,c)))}}},closeBundle:{sequential:!0,async handler(){if(o&&s&&n?.api&&t?.api){const i=e.staticPaths||[],d=n.api.getRoutes(),c=n.api.getBasePathname(),a=t.api.getClientOutDir(),u=t.api.getClientPublicOutDir(),l=t.api.getAssetsDir(),w=t.api.getRootDir()??void 0;if(e.ssg!==null&&m&&h&&a&&u){let r=e.ssg?.origin??e.origin;r||(r="https://yoursite.qwik.dev"),r.length>0&&!/:\/\//.test(r)&&(r=`https://${r}`),r.startsWith("//")&&(r=`https:${r}`);try{r=new URL(r).origin}catch{this.warn(`Invalid "origin" option: "${r}". Using default origin: "https://yoursite.qwik.dev"`),r="https://yoursite.qwik.dev"}const S=await Promise.resolve().then(()=>require("./index-BqUeglYs.cjs")),P={maxWorkers:e.maxWorkers,basePathname:c,outDir:u,rootDir:w,...e.ssg,origin:r,renderModulePath:m,qwikRouterConfigModulePath:h},_=await S.generate(P);if(_.errors>0){const k=new Error(`Error while running SSG from "${e.name}" adapter. At least one path failed to render.`);k.stack=void 0,this.error(k)}i.push(..._.staticPaths)}await D(u,s,l?y.join(c,l):c,i,!!e.cleanStaticGenerated),typeof e.generate=="function"&&await e.generate({outputEntries:f,serverOutDir:s,clientOutDir:a,clientPublicOutDir:u,basePathname:c,routes:d,assetsDir:l,warn:r=>this.warn(r),error:r=>this.error(r)}),this.warn(`
2
- ==============================================
3
- Note: Make sure that you are serving the built files with proper cache headers.
4
- See https://qwik.dev/docs/deployments/#cache-headers for more information.
5
- ==============================================`),e.ssg!==null&&setTimeout(()=>{process.exit(0)},5e3).unref()}}}}}function A(e={}){const n=process?.env;return T({name:"cloud-run",origin:n?.ORIGIN??n?.URL??"https://your-app-name.run.app",ssg:e.ssg,cleanStaticGenerated:!0,config(){return{build:{ssr:!0},publicDir:!1}}})}exports.cloudRunAdapter=A;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const adapters_shared_vite = require("../../shared/vite/index.cjs");
4
+ require("node:path");
5
+ require("node:fs");
6
+ require("../../../chunks/error-handler.cjs");
7
+ function cloudRunAdapter(opts = {}) {
8
+ const env = process?.env;
9
+ return adapters_shared_vite.viteAdapter({
10
+ name: "cloud-run",
11
+ origin: env?.ORIGIN ?? env?.URL ?? "https://your-app-name.run.app",
12
+ ssg: opts.ssg,
13
+ cleanStaticGenerated: true,
14
+ config() {
15
+ return {
16
+ build: {
17
+ ssr: true
18
+ },
19
+ publicDir: false
20
+ };
21
+ }
22
+ });
23
+ }
24
+ exports.cloudRunAdapter = cloudRunAdapter;