@qwik.dev/router 2.0.0-beta.11 → 2.0.0-beta.14

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 (132) hide show
  1. package/lib/adapters/azure-swa/vite/index.mjs +28 -207
  2. package/lib/adapters/bun-server/vite/index.mjs +16 -202
  3. package/lib/adapters/cloud-run/vite/index.mjs +15 -201
  4. package/lib/adapters/cloudflare-pages/vite/index.mjs +65 -6
  5. package/lib/adapters/deno-server/vite/index.mjs +18 -204
  6. package/lib/adapters/netlify-edge/vite/index.mjs +58 -246
  7. package/lib/adapters/node-server/vite/index.mjs +16 -202
  8. package/lib/adapters/shared/vite/index.d.ts +4 -4
  9. package/lib/adapters/shared/vite/index.mjs +250 -149
  10. package/lib/adapters/ssg/vite/index.mjs +12 -199
  11. package/lib/adapters/vercel-edge/vite/index.d.ts +1 -1
  12. package/lib/adapters/vercel-edge/vite/index.mjs +50 -235
  13. package/lib/chunks/error-handler.mjs +57 -0
  14. package/lib/chunks/format-error.mjs +137 -0
  15. package/lib/chunks/fs.mjs +254 -0
  16. package/lib/chunks/index.mjs +884 -0
  17. package/lib/chunks/mime-types.mjs +52 -0
  18. package/lib/chunks/routing.qwik.mjs +429 -0
  19. package/lib/chunks/types.qwik.mjs +22 -0
  20. package/lib/index.d.ts +11 -4
  21. package/lib/index.qwik.mjs +533 -1019
  22. package/lib/middleware/aws-lambda/index.mjs +38 -28
  23. package/lib/middleware/azure-swa/index.mjs +65 -48
  24. package/lib/middleware/bun/index.mjs +104 -119
  25. package/lib/middleware/cloudflare-pages/index.mjs +69 -49
  26. package/lib/middleware/deno/index.mjs +94 -114
  27. package/lib/middleware/firebase/index.mjs +26 -18
  28. package/lib/middleware/netlify-edge/index.mjs +53 -38
  29. package/lib/middleware/node/index.mjs +184 -167
  30. package/lib/middleware/request-handler/index.d.ts +22 -4
  31. package/lib/middleware/request-handler/index.mjs +1203 -877
  32. package/lib/middleware/vercel-edge/index.mjs +72 -49
  33. package/lib/service-worker/index.mjs +4 -0
  34. package/lib/ssg/index.mjs +14 -22
  35. package/lib/vite/index.d.ts +13 -7
  36. package/lib/vite/index.mjs +1609 -1217
  37. package/package.json +27 -44
  38. package/lib/adapters/azure-swa/vite/index-BqUeglYs.cjs +0 -1
  39. package/lib/adapters/azure-swa/vite/index-CBIchDYq.js +0 -651
  40. package/lib/adapters/azure-swa/vite/index-ClHGw5z1.js +0 -6
  41. package/lib/adapters/azure-swa/vite/index-CrwlB95_.js +0 -22
  42. package/lib/adapters/azure-swa/vite/index-DTIOTwZo.cjs +0 -11
  43. package/lib/adapters/azure-swa/vite/index-vQuPcef3.cjs +0 -1
  44. package/lib/adapters/azure-swa/vite/index.cjs +0 -5
  45. package/lib/adapters/bun-server/vite/index-BqUeglYs.cjs +0 -1
  46. package/lib/adapters/bun-server/vite/index-CBIchDYq.js +0 -651
  47. package/lib/adapters/bun-server/vite/index-ClHGw5z1.js +0 -6
  48. package/lib/adapters/bun-server/vite/index-CrwlB95_.js +0 -22
  49. package/lib/adapters/bun-server/vite/index-DTIOTwZo.cjs +0 -11
  50. package/lib/adapters/bun-server/vite/index-vQuPcef3.cjs +0 -1
  51. package/lib/adapters/bun-server/vite/index.cjs +0 -5
  52. package/lib/adapters/cloud-run/vite/index-BqUeglYs.cjs +0 -1
  53. package/lib/adapters/cloud-run/vite/index-CBIchDYq.js +0 -651
  54. package/lib/adapters/cloud-run/vite/index-ClHGw5z1.js +0 -6
  55. package/lib/adapters/cloud-run/vite/index-CrwlB95_.js +0 -22
  56. package/lib/adapters/cloud-run/vite/index-DTIOTwZo.cjs +0 -11
  57. package/lib/adapters/cloud-run/vite/index-vQuPcef3.cjs +0 -1
  58. package/lib/adapters/cloud-run/vite/index.cjs +0 -5
  59. package/lib/adapters/cloudflare-pages/vite/index-Bg_9YkM5.js +0 -22
  60. package/lib/adapters/cloudflare-pages/vite/index-C1aDmh1S.cjs +0 -1
  61. package/lib/adapters/cloudflare-pages/vite/index-CHT9Y93A.js +0 -254
  62. package/lib/adapters/cloudflare-pages/vite/index-Ck7KvpK1.cjs +0 -11
  63. package/lib/adapters/cloudflare-pages/vite/index-ClHGw5z1.js +0 -6
  64. package/lib/adapters/cloudflare-pages/vite/index-Cp1cjAds.js +0 -645
  65. package/lib/adapters/cloudflare-pages/vite/index-D9RL9dvJ.cjs +0 -5
  66. package/lib/adapters/cloudflare-pages/vite/index-vQuPcef3.cjs +0 -1
  67. package/lib/adapters/cloudflare-pages/vite/index.cjs +0 -1
  68. package/lib/adapters/deno-server/vite/index-BqUeglYs.cjs +0 -1
  69. package/lib/adapters/deno-server/vite/index-CBIchDYq.js +0 -651
  70. package/lib/adapters/deno-server/vite/index-ClHGw5z1.js +0 -6
  71. package/lib/adapters/deno-server/vite/index-CrwlB95_.js +0 -22
  72. package/lib/adapters/deno-server/vite/index-DTIOTwZo.cjs +0 -11
  73. package/lib/adapters/deno-server/vite/index-vQuPcef3.cjs +0 -1
  74. package/lib/adapters/deno-server/vite/index.cjs +0 -5
  75. package/lib/adapters/netlify-edge/vite/index-BqUeglYs.cjs +0 -1
  76. package/lib/adapters/netlify-edge/vite/index-CBIchDYq.js +0 -651
  77. package/lib/adapters/netlify-edge/vite/index-ClHGw5z1.js +0 -6
  78. package/lib/adapters/netlify-edge/vite/index-CrwlB95_.js +0 -22
  79. package/lib/adapters/netlify-edge/vite/index-DTIOTwZo.cjs +0 -11
  80. package/lib/adapters/netlify-edge/vite/index-vQuPcef3.cjs +0 -1
  81. package/lib/adapters/netlify-edge/vite/index.cjs +0 -6
  82. package/lib/adapters/node-server/vite/index-BqUeglYs.cjs +0 -1
  83. package/lib/adapters/node-server/vite/index-CBIchDYq.js +0 -651
  84. package/lib/adapters/node-server/vite/index-ClHGw5z1.js +0 -6
  85. package/lib/adapters/node-server/vite/index-CrwlB95_.js +0 -22
  86. package/lib/adapters/node-server/vite/index-DTIOTwZo.cjs +0 -11
  87. package/lib/adapters/node-server/vite/index-vQuPcef3.cjs +0 -1
  88. package/lib/adapters/node-server/vite/index.cjs +0 -5
  89. package/lib/adapters/shared/vite/index-BqUeglYs.cjs +0 -1
  90. package/lib/adapters/shared/vite/index-CBIchDYq.js +0 -651
  91. package/lib/adapters/shared/vite/index-ClHGw5z1.js +0 -6
  92. package/lib/adapters/shared/vite/index-CrwlB95_.js +0 -22
  93. package/lib/adapters/shared/vite/index-DTIOTwZo.cjs +0 -11
  94. package/lib/adapters/shared/vite/index-vQuPcef3.cjs +0 -1
  95. package/lib/adapters/shared/vite/index.cjs +0 -5
  96. package/lib/adapters/ssg/vite/index-BqUeglYs.cjs +0 -1
  97. package/lib/adapters/ssg/vite/index-CBIchDYq.js +0 -651
  98. package/lib/adapters/ssg/vite/index-ClHGw5z1.js +0 -6
  99. package/lib/adapters/ssg/vite/index-CrwlB95_.js +0 -22
  100. package/lib/adapters/ssg/vite/index-DTIOTwZo.cjs +0 -11
  101. package/lib/adapters/ssg/vite/index-vQuPcef3.cjs +0 -1
  102. package/lib/adapters/ssg/vite/index.cjs +0 -5
  103. package/lib/adapters/vercel-edge/vite/index-BqUeglYs.cjs +0 -1
  104. package/lib/adapters/vercel-edge/vite/index-CBIchDYq.js +0 -651
  105. package/lib/adapters/vercel-edge/vite/index-ClHGw5z1.js +0 -6
  106. package/lib/adapters/vercel-edge/vite/index-CrwlB95_.js +0 -22
  107. package/lib/adapters/vercel-edge/vite/index-DTIOTwZo.cjs +0 -11
  108. package/lib/adapters/vercel-edge/vite/index-vQuPcef3.cjs +0 -1
  109. package/lib/adapters/vercel-edge/vite/index.cjs +0 -5
  110. package/lib/index.qwik.cjs +0 -2126
  111. package/lib/middleware/aws-lambda/index.cjs +0 -1
  112. package/lib/middleware/azure-swa/index.cjs +0 -1
  113. package/lib/middleware/bun/index.cjs +0 -1
  114. package/lib/middleware/cloudflare-pages/index.cjs +0 -1
  115. package/lib/middleware/deno/index.cjs +0 -1
  116. package/lib/middleware/firebase/index.cjs +0 -1
  117. package/lib/middleware/netlify-edge/index.cjs +0 -1
  118. package/lib/middleware/node/index.cjs +0 -1
  119. package/lib/middleware/request-handler/index.cjs +0 -18
  120. package/lib/middleware/vercel-edge/index.cjs +0 -1
  121. package/lib/service-worker.cjs +0 -1
  122. package/lib/service-worker.mjs +0 -5
  123. package/lib/ssg/deno.cjs +0 -1
  124. package/lib/ssg/deno.mjs +0 -6
  125. package/lib/ssg/index-CBIchDYq.js +0 -651
  126. package/lib/ssg/index-ClHGw5z1.js +0 -6
  127. package/lib/ssg/index-DTIOTwZo.cjs +0 -11
  128. package/lib/ssg/index-vQuPcef3.cjs +0 -1
  129. package/lib/ssg/index.cjs +0 -1
  130. package/lib/ssg/node.cjs +0 -11
  131. package/lib/ssg/node.mjs +0 -651
  132. package/lib/vite/index.cjs +0 -42
@@ -1,210 +1,24 @@
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 R(e, s, t, n, m) {
5
- t && !t.endsWith("/") && (t += "/");
6
- const h = /* @__PURE__ */ new Set([
7
- t + "/" + (globalThis.__QWIK_BUILD_DIR__ || "build") + "/",
8
- t + "/" + (globalThis.__QWIK_ASSETS_DIR__ || "assets") + "/"
9
- ]), o = new Set(n.map(v)), g = [], c = async (a, l, u) => {
10
- if (u = v(u), h.has(u))
11
- return;
12
- const f = y(a, l);
13
- if (l === "index.html" || l === "q-data.json") {
14
- !o.has(u) && m && await p.promises.unlink(f);
15
- return;
16
- }
17
- if (l === "404.html") {
18
- const r = await p.promises.readFile(f, "utf-8");
19
- g.push([u, r]);
20
- return;
21
- }
22
- const S = await p.promises.stat(f);
23
- S.isDirectory() ? await w(f, u + l + "/") : S.isFile() && o.add(u + l);
24
- }, w = async (a, l) => {
25
- const u = await p.promises.readdir(a);
26
- await Promise.all(u.map((f) => c(a, f, l)));
27
- };
28
- p.existsSync(e) && await w(e, t);
29
- const i = O(t, g), d = b(o);
30
- await T(d, i, s);
31
- }
32
- function v(e) {
33
- return e.endsWith("/") ? e : e + "/";
34
- }
35
- function O(e, s) {
36
- if (s.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), !s.some((t) => t[0] === e)) {
37
- const t = q(404, "Resource Not Found");
38
- s.push([e, t]);
39
- }
40
- return JSON.stringify(s, null, 2).slice(1, -1);
41
- }
42
- function b(e) {
43
- return JSON.stringify(Array.from(new Set(e)).sort()).slice(1, -1);
44
- }
45
- const T = async (e, s, t) => {
46
- const n = /* @__PURE__ */ new Set(), m = async (o) => {
47
- const g = await p.promises.readFile(o, "utf-8");
48
- let c = !1;
49
- const w = g.replace(
50
- /(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,
51
- (i, d, a) => (c = !0, a === "STATIC_PATHS" ? e : s)
52
- );
53
- c && await p.promises.writeFile(o, w);
54
- }, h = async (o) => {
55
- const g = await p.promises.readdir(o, { withFileTypes: !0 });
56
- for (const c of g)
57
- if (c.isDirectory())
58
- await h(y(o, c.name));
59
- else if (c.name.endsWith("js")) {
60
- const w = m(y(o, c.name)).finally(() => {
61
- n.delete(w);
62
- });
63
- n.add(w);
64
- }
65
- };
66
- await h(t), await Promise.all(n);
67
- };
68
- function E(e) {
69
- let s = null, t = null, n = null, m = null, h = null, o = !1, g;
70
- const c = [];
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, g = i.command, o) {
83
- if (s = i.plugins.find(
84
- (d) => d.name === "vite-plugin-qwik-router"
85
- ), !s)
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 (n = 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
- g === "build" && n && i && (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
- c.length = 0;
118
- for (const a in d) {
119
- const l = d[a];
120
- l.type === "chunk" && l.isEntry && (c.push(a), l.name === "entry.ssr" ? m = y(n, a) : l.name === "@qwik-router-config" && (h = y(n, a)));
121
- }
122
- }
123
- },
124
- closeBundle: {
125
- sequential: !0,
126
- async handler() {
127
- if (o && n && s?.api && t?.api) {
128
- const i = e.staticPaths || [], d = s.api.getRoutes(), a = s.api.getBasePathname(), l = t.api.getClientOutDir(), u = t.api.getClientPublicOutDir(), f = t.api.getAssetsDir(), S = t.api.getRootDir() ?? void 0;
129
- if (e.ssg !== null && m && h && l && u) {
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 P = await import("./index-CrwlB95_.js"), D = {
140
- maxWorkers: e.maxWorkers,
141
- basePathname: a,
142
- outDir: u,
143
- rootDir: S,
144
- ...e.ssg,
145
- origin: r,
146
- renderModulePath: m,
147
- qwikRouterConfigModulePath: h
148
- }, k = await P.generate(D);
149
- if (k.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(...k.staticPaths);
156
- }
157
- await R(
158
- u,
159
- n,
160
- f ? y(a, f) : a,
161
- i,
162
- !!e.cleanStaticGenerated
163
- ), typeof e.generate == "function" && await e.generate({
164
- outputEntries: c,
165
- serverOutDir: n,
166
- clientOutDir: l,
167
- clientPublicOutDir: u,
168
- basePathname: a,
169
- routes: d,
170
- assetsDir: f,
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
- console.warn(
181
- "SSG seems to be hanging after completion, forcing process to exit. Everything is likely fine."
182
- ), process.exit(0);
183
- }, 5e3).unref(), e.ssg !== null && setTimeout(() => {
184
- process.exit(0);
185
- }, 5e3).unref();
186
- }
187
- }
188
- }
189
- };
190
- }
191
- function F(e = {}) {
192
- const s = process?.env;
193
- return E({
1
+ import { viteAdapter } from '../../shared/vite/index.mjs';
2
+ import 'node:path';
3
+ import 'node:fs';
4
+ import '../../../chunks/error-handler.mjs';
5
+
6
+ function cloudRunAdapter(opts = {}) {
7
+ const env = process?.env;
8
+ return viteAdapter({
194
9
  name: "cloud-run",
195
- origin: s?.ORIGIN ?? s?.URL ?? "https://your-app-name.run.app",
196
- ssg: e.ssg,
197
- cleanStaticGenerated: !0,
10
+ origin: env?.ORIGIN ?? env?.URL ?? "https://your-app-name.run.app",
11
+ ssg: opts.ssg,
12
+ cleanStaticGenerated: true,
198
13
  config() {
199
14
  return {
200
15
  build: {
201
- ssr: !0
16
+ ssr: true
202
17
  },
203
- publicDir: !1
18
+ publicDir: false
204
19
  };
205
20
  }
206
21
  });
207
22
  }
208
- export {
209
- F as cloudRunAdapter
210
- };
23
+
24
+ export { cloudRunAdapter };
@@ -1,6 +1,65 @@
1
- import "node:fs";
2
- import "node:path";
3
- import { c as p } from "./index-CHT9Y93A.js";
4
- export {
5
- p as cloudflarePagesAdapter
6
- };
1
+ import fs from 'node:fs';
2
+ import { join, relative } from 'node:path';
3
+ import { n as normalizePathSlash } from '../../../chunks/fs.mjs';
4
+ import { viteAdapter } from '../../shared/vite/index.mjs';
5
+ import '../../../chunks/error-handler.mjs';
6
+
7
+ function cloudflarePagesAdapter(opts = {}) {
8
+ const env = process?.env;
9
+ return viteAdapter({
10
+ name: "cloudflare-pages",
11
+ origin: env?.CF_PAGES_URL ?? env?.ORIGIN ?? "https://your.cloudflare.pages.dev",
12
+ ssg: opts.ssg,
13
+ staticPaths: opts.staticPaths,
14
+ cleanStaticGenerated: true,
15
+ config() {
16
+ return {
17
+ resolve: {
18
+ conditions: ["webworker", "worker"]
19
+ },
20
+ ssr: {
21
+ target: "webworker",
22
+ noExternal: true,
23
+ external: ["node:async_hooks"]
24
+ },
25
+ build: {
26
+ ssr: true,
27
+ rollupOptions: {
28
+ output: {
29
+ format: "es",
30
+ hoistTransitiveImports: false
31
+ }
32
+ }
33
+ },
34
+ publicDir: false
35
+ };
36
+ },
37
+ async generate({ clientOutDir, serverOutDir, basePathname, assetsDir }) {
38
+ const routesJsonPath = join(clientOutDir, "_routes.json");
39
+ const hasRoutesJson = fs.existsSync(routesJsonPath);
40
+ if (!hasRoutesJson && opts.functionRoutes !== false) {
41
+ let pathName = assetsDir ? join(basePathname, assetsDir) : basePathname;
42
+ if (!pathName.endsWith("/")) {
43
+ pathName += "/";
44
+ }
45
+ const routesJson = {
46
+ version: 1,
47
+ include: [basePathname + "*"],
48
+ exclude: [pathName + "build/*", pathName + "assets/*"]
49
+ };
50
+ await fs.promises.writeFile(routesJsonPath, JSON.stringify(routesJson, void 0, 2));
51
+ }
52
+ const workerJsPath = join(clientOutDir, "_worker.js");
53
+ const hasWorkerJs = fs.existsSync(workerJsPath);
54
+ if (!hasWorkerJs) {
55
+ const importPath = relative(clientOutDir, join(serverOutDir, "entry.cloudflare-pages"));
56
+ await fs.promises.writeFile(
57
+ workerJsPath,
58
+ `import { fetch } from "${normalizePathSlash(importPath)}"; export default { fetch };`
59
+ );
60
+ }
61
+ }
62
+ });
63
+ }
64
+
65
+ export { cloudflarePagesAdapter };
@@ -1,200 +1,15 @@
1
- import { join as y } from "node:path";
2
- import { getErrorHtml as D } from "@qwik.dev/router/middleware/request-handler";
3
- import p from "node:fs";
4
- async function b(e, s, t, n, 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(n.map(v)), g = [], c = async (a, l, u) => {
10
- if (u = v(u), w.has(u))
11
- return;
12
- const f = y(a, l);
13
- if (l === "index.html" || l === "q-data.json") {
14
- !o.has(u) && m && await p.promises.unlink(f);
15
- return;
16
- }
17
- if (l === "404.html") {
18
- const r = await p.promises.readFile(f, "utf-8");
19
- g.push([u, r]);
20
- return;
21
- }
22
- const k = await p.promises.stat(f);
23
- k.isDirectory() ? await h(f, u + l + "/") : k.isFile() && o.add(u + l);
24
- }, h = async (a, l) => {
25
- const u = await p.promises.readdir(a);
26
- await Promise.all(u.map((f) => c(a, f, l)));
27
- };
28
- p.existsSync(e) && await h(e, t);
29
- const i = O(t, g), d = R(o);
30
- await T(d, i, s);
31
- }
32
- function v(e) {
33
- return e.endsWith("/") ? e : e + "/";
34
- }
35
- function O(e, s) {
36
- if (s.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), !s.some((t) => t[0] === e)) {
37
- const t = D(404, "Resource Not Found");
38
- s.push([e, t]);
39
- }
40
- return JSON.stringify(s, 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 T = async (e, s, t) => {
46
- const n = /* @__PURE__ */ new Set(), m = async (o) => {
47
- const g = await p.promises.readFile(o, "utf-8");
48
- let c = !1;
49
- const h = g.replace(
50
- /(['"])__QWIK_ROUTER_(STATIC_PATHS|NOT_FOUND)_ARRAY__\1/g,
51
- (i, d, a) => (c = !0, a === "STATIC_PATHS" ? e : s)
52
- );
53
- c && await p.promises.writeFile(o, h);
54
- }, w = async (o) => {
55
- const g = await p.promises.readdir(o, { withFileTypes: !0 });
56
- for (const c of g)
57
- if (c.isDirectory())
58
- await w(y(o, c.name));
59
- else if (c.name.endsWith("js")) {
60
- const h = m(y(o, c.name)).finally(() => {
61
- n.delete(h);
62
- });
63
- n.add(h);
64
- }
65
- };
66
- await w(t), await Promise.all(n);
67
- };
68
- function E(e) {
69
- let s = null, t = null, n = null, m = null, w = null, o = !1, g;
70
- const c = [];
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, g = i.command, o) {
83
- if (s = i.plugins.find(
84
- (d) => d.name === "vite-plugin-qwik-router"
85
- ), !s)
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 (n = 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
- g === "build" && n && i && (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
- c.length = 0;
118
- for (const a in d) {
119
- const l = d[a];
120
- l.type === "chunk" && l.isEntry && (c.push(a), l.name === "entry.ssr" ? m = y(n, a) : l.name === "@qwik-router-config" && (w = y(n, a)));
121
- }
122
- }
123
- },
124
- closeBundle: {
125
- sequential: !0,
126
- async handler() {
127
- if (o && n && s?.api && t?.api) {
128
- const i = e.staticPaths || [], d = s.api.getRoutes(), a = s.api.getBasePathname(), l = t.api.getClientOutDir(), u = t.api.getClientPublicOutDir(), f = t.api.getAssetsDir(), k = t.api.getRootDir() ?? void 0;
129
- if (e.ssg !== null && m && w && l && u) {
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 P = await import("./index-CrwlB95_.js"), q = {
140
- maxWorkers: e.maxWorkers,
141
- basePathname: a,
142
- outDir: u,
143
- rootDir: k,
144
- ...e.ssg,
145
- origin: r,
146
- renderModulePath: m,
147
- qwikRouterConfigModulePath: w
148
- }, S = await P.generate(q);
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 b(
158
- u,
159
- n,
160
- f ? y(a, f) : a,
161
- i,
162
- !!e.cleanStaticGenerated
163
- ), typeof e.generate == "function" && await e.generate({
164
- outputEntries: c,
165
- serverOutDir: n,
166
- clientOutDir: l,
167
- clientPublicOutDir: u,
168
- basePathname: a,
169
- routes: d,
170
- assetsDir: f,
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
- console.warn(
181
- "SSG seems to be hanging after completion, forcing process to exit. Everything is likely fine."
182
- ), process.exit(0);
183
- }, 5e3).unref(), e.ssg !== null && setTimeout(() => {
184
- process.exit(0);
185
- }, 5e3).unref();
186
- }
187
- }
188
- }
189
- };
190
- }
191
- function C(e = {}) {
192
- const s = process?.env;
193
- return E({
194
- name: e.name || "deno-server",
195
- origin: s?.ORIGIN ?? s?.URL ?? "https://yoursitename.qwik.dev",
196
- ssg: e.ssg,
197
- 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
+
6
+ function denoServerAdapter(opts = {}) {
7
+ const env = process?.env;
8
+ return viteAdapter({
9
+ name: opts.name || "deno-server",
10
+ origin: env?.ORIGIN ?? env?.URL ?? "https://yoursitename.qwik.dev",
11
+ ssg: opts.ssg,
12
+ cleanStaticGenerated: true,
198
13
  config() {
199
14
  return {
200
15
  resolve: {
@@ -202,24 +17,23 @@ function C(e = {}) {
202
17
  },
203
18
  ssr: {
204
19
  target: "webworker",
205
- noExternal: !0,
20
+ noExternal: true,
206
21
  external: ["node:async_hooks"]
207
22
  },
208
23
  build: {
209
- ssr: !0,
24
+ ssr: true,
210
25
  target: "esnext",
211
26
  rollupOptions: {
212
27
  output: {
213
28
  format: "es",
214
- hoistTransitiveImports: !1
29
+ hoistTransitiveImports: false
215
30
  }
216
31
  }
217
32
  },
218
- publicDir: !1
33
+ publicDir: false
219
34
  };
220
35
  }
221
36
  });
222
37
  }
223
- export {
224
- C as denoServerAdapter
225
- };
38
+
39
+ export { denoServerAdapter };