@qwik.dev/router 2.0.0-alpha.9 → 2.0.0-beta.10

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 (159) hide show
  1. package/README.md +1 -1
  2. package/adapters/static/vite.d.ts +1 -1
  3. package/lib/adapters/azure-swa/vite/index-BqUeglYs.cjs +1 -0
  4. package/lib/adapters/azure-swa/vite/index-CBIchDYq.js +651 -0
  5. package/lib/adapters/azure-swa/vite/index-ClHGw5z1.js +6 -0
  6. package/lib/adapters/azure-swa/vite/index-CrwlB95_.js +22 -0
  7. package/lib/adapters/azure-swa/vite/index-DTIOTwZo.cjs +11 -0
  8. package/lib/adapters/azure-swa/vite/index-vQuPcef3.cjs +1 -0
  9. package/lib/adapters/azure-swa/vite/index.cjs +5 -96
  10. package/lib/adapters/azure-swa/vite/index.d.ts +13 -13
  11. package/lib/adapters/azure-swa/vite/index.mjs +201 -26
  12. package/lib/adapters/bun-server/vite/index-BqUeglYs.cjs +1 -0
  13. package/lib/adapters/bun-server/vite/index-CBIchDYq.js +651 -0
  14. package/lib/adapters/bun-server/vite/index-ClHGw5z1.js +6 -0
  15. package/lib/adapters/bun-server/vite/index-CrwlB95_.js +22 -0
  16. package/lib/adapters/bun-server/vite/index-DTIOTwZo.cjs +11 -0
  17. package/lib/adapters/bun-server/vite/index-vQuPcef3.cjs +1 -0
  18. package/lib/adapters/bun-server/vite/index.cjs +5 -50
  19. package/lib/adapters/bun-server/vite/index.d.ts +14 -14
  20. package/lib/adapters/bun-server/vite/index.mjs +196 -12
  21. package/lib/adapters/cloud-run/vite/index-BqUeglYs.cjs +1 -0
  22. package/lib/adapters/cloud-run/vite/index-CBIchDYq.js +651 -0
  23. package/lib/adapters/cloud-run/vite/index-ClHGw5z1.js +6 -0
  24. package/lib/adapters/cloud-run/vite/index-CrwlB95_.js +22 -0
  25. package/lib/adapters/cloud-run/vite/index-DTIOTwZo.cjs +11 -0
  26. package/lib/adapters/cloud-run/vite/index-vQuPcef3.cjs +1 -0
  27. package/lib/adapters/cloud-run/vite/index.cjs +5 -47
  28. package/lib/adapters/cloud-run/vite/index.d.ts +13 -13
  29. package/lib/adapters/cloud-run/vite/index.mjs +195 -11
  30. package/lib/adapters/cloudflare-pages/vite/index-BIeHg2Cj.cjs +5 -0
  31. package/lib/adapters/cloudflare-pages/vite/index-C455V8_A.cjs +1 -0
  32. package/lib/adapters/cloudflare-pages/vite/index-ClHGw5z1.js +6 -0
  33. package/lib/adapters/cloudflare-pages/vite/index-D3HITboM.js +645 -0
  34. package/lib/adapters/cloudflare-pages/vite/index-DKcVHRBy.cjs +11 -0
  35. package/lib/adapters/cloudflare-pages/vite/index-DwovcBp3.js +22 -0
  36. package/lib/adapters/cloudflare-pages/vite/index-bogwy7wh.js +250 -0
  37. package/lib/adapters/cloudflare-pages/vite/index-vQuPcef3.cjs +1 -0
  38. package/lib/adapters/cloudflare-pages/vite/index.cjs +1 -115
  39. package/lib/adapters/cloudflare-pages/vite/index.d.ts +27 -27
  40. package/lib/adapters/cloudflare-pages/vite/index.mjs +4 -78
  41. package/lib/adapters/deno-server/vite/index-BqUeglYs.cjs +1 -0
  42. package/lib/adapters/deno-server/vite/index-CBIchDYq.js +651 -0
  43. package/lib/adapters/deno-server/vite/index-ClHGw5z1.js +6 -0
  44. package/lib/adapters/deno-server/vite/index-CrwlB95_.js +22 -0
  45. package/lib/adapters/deno-server/vite/index-DTIOTwZo.cjs +11 -0
  46. package/lib/adapters/deno-server/vite/index-vQuPcef3.cjs +1 -0
  47. package/lib/adapters/deno-server/vite/index.cjs +5 -62
  48. package/lib/adapters/deno-server/vite/index.d.ts +14 -14
  49. package/lib/adapters/deno-server/vite/index.mjs +198 -14
  50. package/lib/adapters/netlify-edge/vite/index-BqUeglYs.cjs +1 -0
  51. package/lib/adapters/netlify-edge/vite/index-CBIchDYq.js +651 -0
  52. package/lib/adapters/netlify-edge/vite/index-ClHGw5z1.js +6 -0
  53. package/lib/adapters/netlify-edge/vite/index-CrwlB95_.js +22 -0
  54. package/lib/adapters/netlify-edge/vite/index-DTIOTwZo.cjs +11 -0
  55. package/lib/adapters/netlify-edge/vite/index-vQuPcef3.cjs +1 -0
  56. package/lib/adapters/netlify-edge/vite/index.cjs +6 -129
  57. package/lib/adapters/netlify-edge/vite/index.d.ts +44 -44
  58. package/lib/adapters/netlify-edge/vite/index.mjs +240 -60
  59. package/lib/adapters/node-server/vite/index-BqUeglYs.cjs +1 -0
  60. package/lib/adapters/node-server/vite/index-CBIchDYq.js +651 -0
  61. package/lib/adapters/node-server/vite/index-ClHGw5z1.js +6 -0
  62. package/lib/adapters/node-server/vite/index-CrwlB95_.js +22 -0
  63. package/lib/adapters/node-server/vite/index-DTIOTwZo.cjs +11 -0
  64. package/lib/adapters/node-server/vite/index-vQuPcef3.cjs +1 -0
  65. package/lib/adapters/node-server/vite/index.cjs +5 -50
  66. package/lib/adapters/node-server/vite/index.d.ts +14 -14
  67. package/lib/adapters/node-server/vite/index.mjs +196 -12
  68. package/lib/adapters/shared/vite/index-BqUeglYs.cjs +1 -0
  69. package/lib/adapters/shared/vite/index-CBIchDYq.js +651 -0
  70. package/lib/adapters/shared/vite/index-ClHGw5z1.js +6 -0
  71. package/lib/adapters/shared/vite/index-CrwlB95_.js +22 -0
  72. package/lib/adapters/shared/vite/index-DTIOTwZo.cjs +11 -0
  73. package/lib/adapters/shared/vite/index-vQuPcef3.cjs +1 -0
  74. package/lib/adapters/shared/vite/index.cjs +5 -371
  75. package/lib/adapters/shared/vite/index.d.ts +108 -114
  76. package/lib/adapters/shared/vite/index.mjs +158 -288
  77. package/lib/adapters/ssg/vite/index-BqUeglYs.cjs +1 -0
  78. package/lib/adapters/ssg/vite/index-CBIchDYq.js +651 -0
  79. package/lib/adapters/ssg/vite/index-ClHGw5z1.js +6 -0
  80. package/lib/adapters/ssg/vite/index-CrwlB95_.js +22 -0
  81. package/lib/adapters/ssg/vite/index-DTIOTwZo.cjs +11 -0
  82. package/lib/adapters/ssg/vite/index-vQuPcef3.cjs +1 -0
  83. package/lib/adapters/ssg/vite/index.cjs +5 -0
  84. package/lib/adapters/ssg/vite/index.d.ts +13 -0
  85. package/lib/adapters/ssg/vite/index.mjs +201 -0
  86. package/lib/adapters/vercel-edge/vite/index-BqUeglYs.cjs +1 -0
  87. package/lib/adapters/vercel-edge/vite/index-CBIchDYq.js +651 -0
  88. package/lib/adapters/vercel-edge/vite/index-ClHGw5z1.js +6 -0
  89. package/lib/adapters/vercel-edge/vite/index-CrwlB95_.js +22 -0
  90. package/lib/adapters/vercel-edge/vite/index-DTIOTwZo.cjs +11 -0
  91. package/lib/adapters/vercel-edge/vite/index-vQuPcef3.cjs +1 -0
  92. package/lib/adapters/vercel-edge/vite/index.cjs +5 -118
  93. package/lib/adapters/vercel-edge/vite/index.d.ts +45 -45
  94. package/lib/adapters/vercel-edge/vite/index.mjs +230 -51
  95. package/lib/index.d.ts +1000 -810
  96. package/lib/index.qwik.cjs +438 -203
  97. package/lib/index.qwik.mjs +440 -205
  98. package/lib/middleware/aws-lambda/index.cjs +1 -0
  99. package/lib/middleware/aws-lambda/index.d.ts +49 -48
  100. package/lib/middleware/aws-lambda/index.mjs +27 -41
  101. package/lib/middleware/azure-swa/index.cjs +1 -0
  102. package/lib/middleware/azure-swa/index.d.ts +28 -28
  103. package/lib/middleware/azure-swa/index.mjs +46 -269
  104. package/lib/middleware/bun/index.cjs +1 -0
  105. package/lib/middleware/bun/index.d.ts +35 -35
  106. package/lib/middleware/bun/index.mjs +68 -120
  107. package/lib/middleware/cloudflare-pages/index.cjs +1 -0
  108. package/lib/middleware/cloudflare-pages/index.d.ts +35 -35
  109. package/lib/middleware/cloudflare-pages/index.mjs +48 -80
  110. package/lib/middleware/deno/index.cjs +1 -0
  111. package/lib/middleware/deno/index.d.ts +47 -47
  112. package/lib/middleware/deno/index.mjs +63 -110
  113. package/lib/middleware/firebase/index.cjs +1 -0
  114. package/lib/middleware/firebase/index.d.ts +26 -26
  115. package/lib/middleware/firebase/index.mjs +16 -28
  116. package/lib/middleware/netlify-edge/index.cjs +1 -0
  117. package/lib/middleware/netlify-edge/index.d.ts +27 -27
  118. package/lib/middleware/netlify-edge/index.mjs +36 -64
  119. package/lib/middleware/node/index.cjs +1 -314
  120. package/lib/middleware/node/index.d.ts +64 -64
  121. package/lib/middleware/node/index.mjs +116 -198
  122. package/lib/middleware/request-handler/index.cjs +11 -1538
  123. package/lib/middleware/request-handler/index.d.ts +711 -676
  124. package/lib/middleware/request-handler/index.mjs +895 -1281
  125. package/lib/middleware/vercel-edge/index.cjs +1 -0
  126. package/lib/middleware/vercel-edge/index.d.ts +26 -26
  127. package/lib/middleware/vercel-edge/index.mjs +47 -82
  128. package/lib/modules.d.ts +4 -12
  129. package/lib/service-worker.cjs +1 -267
  130. package/lib/service-worker.d.ts +15 -4
  131. package/lib/service-worker.mjs +3 -263
  132. package/lib/ssg/deno.cjs +1 -0
  133. package/lib/ssg/deno.mjs +6 -0
  134. package/lib/ssg/index-CBIchDYq.js +651 -0
  135. package/lib/ssg/index-ClHGw5z1.js +6 -0
  136. package/lib/ssg/index-DTIOTwZo.cjs +11 -0
  137. package/lib/ssg/index-vQuPcef3.cjs +1 -0
  138. package/lib/ssg/index.cjs +1 -0
  139. package/lib/{static → ssg}/index.d.ts +96 -96
  140. package/lib/ssg/index.mjs +22 -0
  141. package/lib/ssg/node.cjs +11 -0
  142. package/lib/ssg/node.mjs +651 -0
  143. package/lib/vite/index.cjs +29 -27484
  144. package/lib/vite/index.d.ts +170 -154
  145. package/lib/vite/index.mjs +1422 -27288
  146. package/modules.d.ts +4 -12
  147. package/package.json +51 -40
  148. package/ssg.d.ts +2 -0
  149. package/static.d.ts +1 -1
  150. package/lib/adapters/static/vite/index.cjs +0 -361
  151. package/lib/adapters/static/vite/index.d.ts +0 -10
  152. package/lib/adapters/static/vite/index.mjs +0 -324
  153. package/lib/static/deno.mjs +0 -8
  154. package/lib/static/index.cjs +0 -67
  155. package/lib/static/index.mjs +0 -48
  156. package/lib/static/node.cjs +0 -1124
  157. package/lib/static/node.mjs +0 -1086
  158. package/middleware/request-handler/generated/not-found-paths.ts +0 -7
  159. package/middleware/request-handler/generated/static-paths.ts +0 -35
@@ -1,35 +1,35 @@
1
- import type { ClientConn } from '@qwik.dev/router/middleware/request-handler';
2
- import type { ServerRenderOptions } from '@qwik.dev/router/middleware/request-handler';
3
-
4
- /**
5
- * @deprecated Use `createQwikRouter` instead. Will be removed in V3
6
- * @public
7
- */
8
- export declare const createQwikCity: typeof createQwikRouter;
9
-
10
- /** @public */
11
- export declare function createQwikRouter(opts: QwikRouterBunOptions): {
12
- router: (request: Request) => Promise<Response | null>;
13
- notFound: (request: Request) => Promise<Response>;
14
- staticFile: (request: Request) => Promise<Response | null>;
15
- };
16
-
17
- /**
18
- * @deprecated Use `QwikRouterBunOptions` instead. Will be removed in V3
19
- * @public
20
- */
21
- export declare type QwikCityBunOptions = QwikRouterBunOptions;
22
-
23
- /** @public */
24
- export declare interface QwikRouterBunOptions extends ServerRenderOptions {
25
- /** Options for serving static files */
26
- static?: {
27
- /** The root folder for statics files. Defaults to /dist */
28
- root?: string;
29
- /** Set the Cache-Control header for all static files */
30
- cacheControl?: string;
31
- };
32
- getClientConn?: (request: Request) => ClientConn;
33
- }
34
-
35
- export { }
1
+ import type { ClientConn } from '@qwik.dev/router/middleware/request-handler';
2
+ import type { ServerRenderOptions } from '@qwik.dev/router/middleware/request-handler';
3
+
4
+ /**
5
+ * @deprecated Use `createQwikRouter` instead. Will be removed in V3
6
+ * @public
7
+ */
8
+ export declare const createQwikCity: typeof createQwikRouter;
9
+
10
+ /** @public */
11
+ export declare function createQwikRouter(opts: QwikRouterBunOptions): {
12
+ router: (request: Request) => Promise<Response | null>;
13
+ notFound: (request: Request) => Promise<Response>;
14
+ staticFile: (request: Request) => Promise<Response | null>;
15
+ };
16
+
17
+ /**
18
+ * @deprecated Use `QwikRouterBunOptions` instead. Will be removed in V3
19
+ * @public
20
+ */
21
+ export declare type QwikCityBunOptions = QwikRouterBunOptions;
22
+
23
+ /** @public */
24
+ export declare interface QwikRouterBunOptions extends ServerRenderOptions {
25
+ /** Options for serving static files */
26
+ static?: {
27
+ /** The root folder for statics files. Defaults to /dist */
28
+ root?: string;
29
+ /** Set the Cache-Control header for all static files */
30
+ cacheControl?: string;
31
+ };
32
+ getClientConn?: (request: Request) => ClientConn;
33
+ }
34
+
35
+ export { }
@@ -1,17 +1,7 @@
1
- // packages/qwik-router/src/middleware/bun/index.ts
2
- import { getNotFound } from "@qwik-router-not-found-paths";
3
- import { isStaticPath } from "@qwik-router-static-paths";
4
- import { _deserialize, _serialize, _verifySerializable } from "@qwik.dev/core/internal";
5
- import { setServerPlatform } from "@qwik.dev/core/server";
6
- import {
7
- _TextEncoderStream_polyfill,
8
- mergeHeadersCookies,
9
- requestHandler
10
- } from "../request-handler/index.mjs";
11
- import { extname, join } from "node:path";
12
-
13
- // packages/qwik-router/src/middleware/request-handler/mime-types.ts
14
- var MIME_TYPES = {
1
+ import { setServerPlatform as x } from "@qwik.dev/core/server";
2
+ import { _TextEncoderStream_polyfill as w, mergeHeadersCookies as C, requestHandler as R, isStaticPath as p, getNotFound as y } from "@qwik.dev/router/middleware/request-handler";
3
+ import { join as s, extname as b } from "node:path";
4
+ const T = {
15
5
  "3gp": "video/3gpp",
16
6
  "3gpp": "video/3gpp",
17
7
  asf: "video/x-ms-asf",
@@ -61,148 +51,106 @@ var MIME_TYPES = {
61
51
  xml: "text/xml",
62
52
  zip: "application/zip"
63
53
  };
64
-
65
- // packages/qwik-router/src/middleware/bun/index.ts
66
- function createQwikRouter(opts) {
67
- var _a;
68
- if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
69
- console.warn("qwikCityPlan is deprecated. Use qwikRouterConfig instead.");
70
- opts.qwikRouterConfig = opts.qwikCityPlan;
71
- } else if (!opts.qwikRouterConfig) {
72
- throw new Error("qwikRouterConfig is required.");
73
- }
74
- globalThis.TextEncoderStream ||= _TextEncoderStream_polyfill;
75
- const qwikSerializer = { _deserialize, _serialize, _verifySerializable };
76
- if (opts.manifest) {
77
- setServerPlatform(opts.manifest);
78
- }
79
- const staticFolder = ((_a = opts.static) == null ? void 0 : _a.root) ?? join(Bun.fileURLToPath(import.meta.url), "..", "..", "dist");
80
- async function router(request) {
54
+ function S(i) {
55
+ i.qwikCityPlan && !i.qwikRouterConfig && (console.warn("qwikCityPlan is deprecated. Simply remove it."), i.qwikRouterConfig = i.qwikCityPlan), globalThis.TextEncoderStream ||= w, i.manifest && x(i.manifest);
56
+ const m = i.static?.root ?? s(Bun.fileURLToPath(import.meta.url), "..", "..", "dist");
57
+ async function d(t) {
81
58
  try {
82
- const url = new URL(request.url);
83
- const serverRequestEv = {
59
+ const a = {
84
60
  mode: "server",
85
61
  locale: void 0,
86
- url,
62
+ url: new URL(t.url),
87
63
  env: {
88
- get(key) {
89
- return Bun.env[key];
64
+ get(o) {
65
+ return Bun.env[o];
90
66
  }
91
67
  },
92
- request,
93
- getWritableStream: (status, headers, cookies, resolve) => {
94
- const { readable, writable } = new TransformStream();
95
- const response = new Response(readable, {
96
- status,
97
- headers: mergeHeadersCookies(headers, cookies)
68
+ request: t,
69
+ getWritableStream: (o, r, l, c) => {
70
+ const { readable: g, writable: h } = new TransformStream(), v = new Response(g, {
71
+ status: o,
72
+ headers: C(r, l)
98
73
  });
99
- resolve(response);
100
- return writable;
74
+ return c(v), h;
101
75
  },
102
76
  platform: {
103
- ssr: true
77
+ ssr: !0
104
78
  },
105
- getClientConn: () => {
106
- return opts.getClientConn ? opts.getClientConn(request) : {};
107
- }
108
- };
109
- const handledResponse = await requestHandler(serverRequestEv, opts, qwikSerializer);
110
- if (handledResponse) {
111
- handledResponse.completion.then((v) => {
112
- if (v) {
113
- console.error(v);
114
- }
79
+ getClientConn: () => i.getClientConn ? i.getClientConn(t) : {}
80
+ }, n = await R(a, i);
81
+ if (n) {
82
+ n.completion.then((r) => {
83
+ r && console.error(r);
115
84
  });
116
- const response = await handledResponse.response;
117
- if (response) {
118
- const status = response.status;
119
- const location = response.headers.get("Location");
120
- const isRedirect = status >= 301 && status <= 308 && location;
121
- if (isRedirect) {
122
- return new Response(null, response);
123
- }
124
- return response;
85
+ const o = await n.response;
86
+ if (o) {
87
+ const r = o.status, l = o.headers.get("Location");
88
+ return r >= 301 && r <= 308 && l ? new Response(null, o) : o;
125
89
  }
126
90
  }
127
91
  return null;
128
92
  } catch (e) {
129
- console.error(e);
130
- return new Response(String(e || "Error"), {
93
+ return console.error(e), new Response(String(e || "Error"), {
131
94
  status: 500,
132
95
  headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "bun-server" }
133
96
  });
134
97
  }
135
98
  }
136
- const notFound = async (request) => {
99
+ const u = async (t) => {
137
100
  try {
138
- const url = new URL(request.url);
139
- const notFoundHtml = isStaticPath(request.method || "GET", url) ? "Not Found" : getNotFound(url.pathname);
140
- return new Response(notFoundHtml, {
101
+ const e = new URL(t.url), a = !t.headers.get("accept")?.includes("text/html") || p(t.method || "GET", e) ? "Not Found" : y(e.pathname);
102
+ return new Response(a, {
141
103
  status: 404,
142
- headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": url.pathname }
104
+ headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": e.pathname }
143
105
  });
144
106
  } catch (e) {
145
- console.error(e);
146
- return new Response(String(e || "Error"), {
107
+ return console.error(e), new Response(String(e || "Error"), {
147
108
  status: 500,
148
109
  headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "bun-server" }
149
110
  });
150
111
  }
151
- };
152
- const openStaticFile = async (url) => {
153
- const pathname = url.pathname;
154
- const fileName = pathname.slice(url.pathname.lastIndexOf("/"));
155
- let filePath;
156
- if (fileName.includes(".")) {
157
- filePath = join(staticFolder, pathname);
158
- } else if (opts.qwikRouterConfig.trailingSlash) {
159
- filePath = join(staticFolder, pathname + "index.html");
160
- } else {
161
- filePath = join(staticFolder, pathname, "index.html");
162
- }
163
- return {
164
- filePath,
165
- content: Bun.file(filePath)
112
+ }, f = async (t) => {
113
+ const e = t.pathname, a = e.slice(t.pathname.lastIndexOf("/"));
114
+ let n;
115
+ return a.includes(".") ? n = s(m, e) : globalThis.__NO_TRAILING_SLASH__ ? n = s(m, e, "index.html") : n = s(m, e + "index.html"), {
116
+ filePath: n,
117
+ content: Bun.file(n)
166
118
  };
167
119
  };
168
- const staticFile = async (request) => {
169
- var _a2;
170
- try {
171
- const url = new URL(request.url);
172
- if (isStaticPath(request.method || "GET", url)) {
173
- const { filePath, content } = await openStaticFile(url);
174
- if (!await content.exists()) {
175
- return new Response("Not Found", {
176
- status: 404,
177
- headers: { "Content-Type": "text/plain; charset=utf-8", "X-Not-Found": url.pathname }
120
+ return {
121
+ router: d,
122
+ notFound: u,
123
+ staticFile: async (t) => {
124
+ try {
125
+ const e = new URL(t.url);
126
+ if (p(t.method || "GET", e)) {
127
+ const { filePath: a, content: n } = await f(e);
128
+ if (!await n.exists())
129
+ return new Response("Not Found", {
130
+ status: 404,
131
+ headers: { "Content-Type": "text/plain; charset=utf-8", "X-Not-Found": e.pathname }
132
+ });
133
+ const o = b(a).replace(/^\./, "");
134
+ return new Response(await n.stream(), {
135
+ status: 200,
136
+ headers: {
137
+ "content-type": T[o] || "text/plain; charset=utf-8",
138
+ "Cache-Control": i.static?.cacheControl || "max-age=3600"
139
+ }
178
140
  });
179
141
  }
180
- const ext = extname(filePath).replace(/^\./, "");
181
- return new Response(await content.stream(), {
182
- status: 200,
183
- headers: {
184
- "content-type": MIME_TYPES[ext] || "text/plain; charset=utf-8",
185
- "Cache-Control": ((_a2 = opts.static) == null ? void 0 : _a2.cacheControl) || "max-age=3600"
186
- }
142
+ return null;
143
+ } catch (e) {
144
+ return console.error(e), new Response(String(e || "Error"), {
145
+ status: 500,
146
+ headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "bun-server" }
187
147
  });
188
148
  }
189
- return null;
190
- } catch (e) {
191
- console.error(e);
192
- return new Response(String(e || "Error"), {
193
- status: 500,
194
- headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "bun-server" }
195
- });
196
149
  }
197
150
  };
198
- return {
199
- router,
200
- notFound,
201
- staticFile
202
- };
203
151
  }
204
- var createQwikCity = createQwikRouter;
152
+ const P = S;
205
153
  export {
206
- createQwikCity,
207
- createQwikRouter
154
+ P as createQwikCity,
155
+ S as createQwikRouter
208
156
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("@qwik.dev/core/server"),o=require("@qwik.dev/router/middleware/request-handler");function u(r){r.qwikCityPlan&&!r.qwikRouterConfig&&(console.warn("qwikCityPlan is deprecated. Simply remove it."),r.qwikRouterConfig=r.qwikCityPlan);try{new globalThis.TextEncoderStream}catch{globalThis.TextEncoderStream=o._TextEncoderStream_polyfill}r.manifest&&k.setServerPlatform(r.manifest);async function d(n,c,l){try{const e=new URL(n.url);if(o.isStaticPath(n.method,e))return c.ASSETS.fetch(n);const m=e.hostname!=="127.0.0.1"&&e.hostname!=="localhost"&&e.port===""&&n.method==="GET",h=new Request(e.href,n),a=m?await caches.open("custom:qwikrouter"):null;if(a){const t=await a.match(h);if(t)return t}const f={mode:"server",locale:void 0,url:e,request:n,env:{get(t){return c[t]}},getWritableStream:(t,i,p,C)=>{const{readable:g,writable:y}=new TransformStream,S=new Response(g,{status:t,headers:o.mergeHeadersCookies(i,p)});return C(S),y},getClientConn:()=>({ip:n.headers.get("CF-connecting-ip")||"",country:n.headers.get("CF-IPCountry")||""}),platform:{request:n,env:c,ctx:l}},s=await o.requestHandler(f,r);if(s){s.completion.then(i=>{i&&console.error(i)});const t=await s.response;if(t)return t.ok&&a&&t.headers.has("Cache-Control")&&l.waitUntil(a.put(h,t.clone())),t}const w=!n.headers.get("accept")?.includes("text/html")||o.isStaticPath(n.method||"GET",e)?"Not Found":o.getNotFound(e.pathname);return new Response(w,{status:404,headers:{"Content-Type":"text/html; charset=utf-8","X-Not-Found":e.pathname}})}catch(e){return console.error(e),new Response(String(e||"Error"),{status:500,headers:{"Content-Type":"text/plain; charset=utf-8","X-Error":"cloudflare-pages"}})}}return d}const R=u;exports.createQwikCity=R;exports.createQwikRouter=u;
@@ -1,35 +1,35 @@
1
- import type { ServerRenderOptions } from '@qwik.dev/router/middleware/request-handler';
2
-
3
- /**
4
- * @deprecated Use `createQwikRouter` instead. Will be removed in V3
5
- * @public
6
- */
7
- export declare const createQwikCity: typeof createQwikRouter;
8
-
9
- /** @public */
10
- export declare function createQwikRouter(opts: QwikRouterCloudflarePagesOptions): (request: PlatformCloudflarePages["request"], env: PlatformCloudflarePages["env"] & {
11
- ASSETS: {
12
- fetch: (req: Request) => Response;
13
- };
14
- }, ctx: PlatformCloudflarePages["ctx"]) => Promise<Response>;
15
-
16
- /** @public */
17
- export declare interface PlatformCloudflarePages {
18
- request: Request;
19
- env?: Record<string, any>;
20
- ctx: {
21
- waitUntil: (promise: Promise<any>) => void;
22
- };
23
- }
24
-
25
- /**
26
- * @deprecated Use `QwikRouterCloudflarePagesOptions` instead. Will be removed in V3
27
- * @public
28
- */
29
- export declare type QwikCityCloudflarePagesOptions = QwikRouterCloudflarePagesOptions;
30
-
31
- /** @public */
32
- export declare interface QwikRouterCloudflarePagesOptions extends ServerRenderOptions {
33
- }
34
-
35
- export { }
1
+ import type { ServerRenderOptions } from '@qwik.dev/router/middleware/request-handler';
2
+
3
+ /**
4
+ * @deprecated Use `createQwikRouter` instead. Will be removed in V3
5
+ * @public
6
+ */
7
+ export declare const createQwikCity: typeof createQwikRouter;
8
+
9
+ /** @public */
10
+ export declare function createQwikRouter(opts: QwikRouterCloudflarePagesOptions): (request: PlatformCloudflarePages["request"], env: PlatformCloudflarePages["env"] & {
11
+ ASSETS: {
12
+ fetch: (req: Request) => Response;
13
+ };
14
+ }, ctx: PlatformCloudflarePages["ctx"]) => Promise<Response>;
15
+
16
+ /** @public */
17
+ export declare interface PlatformCloudflarePages {
18
+ request: Request;
19
+ env?: Record<string, any>;
20
+ ctx: {
21
+ waitUntil: (promise: Promise<any>) => void;
22
+ };
23
+ }
24
+
25
+ /**
26
+ * @deprecated Use `QwikRouterCloudflarePagesOptions` instead. Will be removed in V3
27
+ * @public
28
+ */
29
+ export declare type QwikCityCloudflarePagesOptions = QwikRouterCloudflarePagesOptions;
30
+
31
+ /** @public */
32
+ export declare interface QwikRouterCloudflarePagesOptions extends ServerRenderOptions {
33
+ }
34
+
35
+ export { }
@@ -1,107 +1,75 @@
1
- // packages/qwik-router/src/middleware/cloudflare-pages/index.ts
2
- import { getNotFound } from "@qwik-router-not-found-paths";
3
- import { isStaticPath } from "@qwik-router-static-paths";
4
- import { _deserialize, _serialize, _verifySerializable } from "@qwik.dev/core/internal";
5
- import { setServerPlatform } from "@qwik.dev/core/server";
6
- import {
7
- _TextEncoderStream_polyfill,
8
- mergeHeadersCookies,
9
- requestHandler
10
- } from "../request-handler/index.mjs";
11
- function createQwikRouter(opts) {
12
- if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
13
- console.warn("qwikCityPlan is deprecated. Use qwikRouterConfig instead.");
14
- opts.qwikRouterConfig = opts.qwikCityPlan;
15
- } else if (!opts.qwikRouterConfig) {
16
- throw new Error("qwikRouterConfig is required.");
17
- }
1
+ import { setServerPlatform as y } from "@qwik.dev/core/server";
2
+ import { _TextEncoderStream_polyfill as R, isStaticPath as h, mergeHeadersCookies as S, requestHandler as T, getNotFound as k } from "@qwik.dev/router/middleware/request-handler";
3
+ function E(r) {
4
+ r.qwikCityPlan && !r.qwikRouterConfig && (console.warn("qwikCityPlan is deprecated. Simply remove it."), r.qwikRouterConfig = r.qwikCityPlan);
18
5
  try {
19
6
  new globalThis.TextEncoderStream();
20
- } catch (e) {
21
- globalThis.TextEncoderStream = _TextEncoderStream_polyfill;
22
- }
23
- const qwikSerializer = { _deserialize, _serialize, _verifySerializable };
24
- if (opts.manifest) {
25
- setServerPlatform(opts.manifest);
7
+ } catch {
8
+ globalThis.TextEncoderStream = R;
26
9
  }
27
- async function onCloudflarePagesFetch(request, env, ctx) {
10
+ r.manifest && y(r.manifest);
11
+ async function m(n, s, i) {
28
12
  try {
29
- const url = new URL(request.url);
30
- if (isStaticPath(request.method, url)) {
31
- return env.ASSETS.fetch(request);
32
- }
33
- const useCache = url.hostname !== "127.0.0.1" && url.hostname !== "localhost" && url.port === "" && request.method === "GET";
34
- const cacheKey = new Request(url.href, request);
35
- const cache = useCache ? await caches.open("custom:qwikrouter") : null;
36
- if (cache) {
37
- const cachedResponse = await cache.match(cacheKey);
38
- if (cachedResponse) {
39
- return cachedResponse;
40
- }
13
+ const e = new URL(n.url);
14
+ if (h(n.method, e))
15
+ return s.ASSETS.fetch(n);
16
+ const d = e.hostname !== "127.0.0.1" && e.hostname !== "localhost" && e.port === "" && n.method === "GET", l = new Request(e.href, n), o = d ? await caches.open("custom:qwikrouter") : null;
17
+ if (o) {
18
+ const t = await o.match(l);
19
+ if (t)
20
+ return t;
41
21
  }
42
- const serverRequestEv = {
22
+ const c = await T({
43
23
  mode: "server",
44
24
  locale: void 0,
45
- url,
46
- request,
25
+ url: e,
26
+ request: n,
47
27
  env: {
48
- get(key) {
49
- return env[key];
28
+ get(t) {
29
+ return s[t];
50
30
  }
51
31
  },
52
- getWritableStream: (status, headers, cookies, resolve) => {
53
- const { readable, writable } = new TransformStream();
54
- const response = new Response(readable, {
55
- status,
56
- headers: mergeHeadersCookies(headers, cookies)
32
+ getWritableStream: (t, a, f, p) => {
33
+ const { readable: w, writable: C } = new TransformStream(), g = new Response(w, {
34
+ status: t,
35
+ headers: S(a, f)
57
36
  });
58
- resolve(response);
59
- return writable;
60
- },
61
- getClientConn: () => {
62
- return {
63
- ip: request.headers.get("CF-connecting-ip") || "",
64
- country: request.headers.get("CF-IPCountry") || ""
65
- };
37
+ return p(g), C;
66
38
  },
39
+ getClientConn: () => ({
40
+ ip: n.headers.get("CF-connecting-ip") || "",
41
+ country: n.headers.get("CF-IPCountry") || ""
42
+ }),
67
43
  platform: {
68
- request,
69
- env,
70
- ctx
44
+ request: n,
45
+ env: s,
46
+ ctx: i
71
47
  }
72
- };
73
- const handledResponse = await requestHandler(serverRequestEv, opts, qwikSerializer);
74
- if (handledResponse) {
75
- handledResponse.completion.then((v) => {
76
- if (v) {
77
- console.error(v);
78
- }
48
+ }, r);
49
+ if (c) {
50
+ c.completion.then((a) => {
51
+ a && console.error(a);
79
52
  });
80
- const response = await handledResponse.response;
81
- if (response) {
82
- if (response.ok && cache && response.headers.has("Cache-Control")) {
83
- ctx.waitUntil(cache.put(cacheKey, response.clone()));
84
- }
85
- return response;
86
- }
53
+ const t = await c.response;
54
+ if (t)
55
+ return t.ok && o && t.headers.has("Cache-Control") && i.waitUntil(o.put(l, t.clone())), t;
87
56
  }
88
- const notFoundHtml = isStaticPath(request.method || "GET", url) ? "Not Found" : getNotFound(url.pathname);
89
- return new Response(notFoundHtml, {
57
+ const u = !n.headers.get("accept")?.includes("text/html") || h(n.method || "GET", e) ? "Not Found" : k(e.pathname);
58
+ return new Response(u, {
90
59
  status: 404,
91
- headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": url.pathname }
60
+ headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": e.pathname }
92
61
  });
93
62
  } catch (e) {
94
- console.error(e);
95
- return new Response(String(e || "Error"), {
63
+ return console.error(e), new Response(String(e || "Error"), {
96
64
  status: 500,
97
65
  headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "cloudflare-pages" }
98
66
  });
99
67
  }
100
68
  }
101
- return onCloudflarePagesFetch;
69
+ return m;
102
70
  }
103
- var createQwikCity = createQwikRouter;
71
+ const x = E;
104
72
  export {
105
- createQwikCity,
106
- createQwikRouter
73
+ x as createQwikCity,
74
+ E as createQwikRouter
107
75
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@qwik.dev/core/server"),s=require("@qwik.dev/router/middleware/request-handler"),o=require("https://deno.land/std/path/mod.ts");var d=typeof document<"u"?document.currentScript:null;const R={"3gp":"video/3gpp","3gpp":"video/3gpp",asf:"video/x-ms-asf",asx:"video/x-ms-asf",avi:"video/x-msvideo",avif:"image/avif",bmp:"image/x-ms-bmp",css:"text/css",flv:"video/x-flv",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/x-icon",jng:"image/x-jng",jpeg:"image/jpeg",jpg:"image/jpeg",js:"application/javascript",json:"application/json",kar:"audio/midi",m4a:"audio/x-m4a",m4v:"video/x-m4v",mid:"audio/midi",midi:"audio/midi",mng:"video/x-mng",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",ogg:"audio/ogg",pdf:"application/pdf",png:"image/png",rar:"application/x-rar-compressed",shtml:"text/html",svg:"image/svg+xml",svgz:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",ts:"video/mp2t",txt:"text/plain",wbmp:"image/vnd.wap.wbmp",webm:"video/webm",webp:"image/webp",wmv:"video/x-ms-wmv",woff:"font/woff",woff2:"font/woff2",xml:"text/xml",zip:"application/zip"};function p(n){n.qwikCityPlan&&!n.qwikRouterConfig&&(console.warn("qwikCityPlan is deprecated. Simply remove it."),n.qwikRouterConfig=n.qwikCityPlan),n.manifest&&y.setServerPlatform(n.manifest);const l=n.static?.root??o.join(o.fromFileUrl(typeof document>"u"?require("url").pathToFileURL(__filename).href:d&&d.tagName.toUpperCase()==="SCRIPT"&&d.src||new URL("index.cjs",document.baseURI).href),"..","..","dist");async function u(t,e){try{const r={mode:"server",locale:void 0,url:new URL(t.url),env:Deno.env,request:t,getWritableStream:(m,c,h,v)=>{const{readable:w,writable:x}=new TransformStream,C=new Response(w,{status:m,headers:s.mergeHeadersCookies(c,h)});return v(C),x},platform:{ssr:!0},getClientConn:()=>n.getClientConn?n.getClientConn(t,e):{ip:e.remoteAddr.hostname}},a=await s.requestHandler(r,n);if(a){a.completion.then(c=>{c&&console.error(c)});const m=await a.response;if(m)return m}return null}catch(i){return console.error(i),new Response(String(i||"Error"),{status:500,headers:{"Content-Type":"text/plain; charset=utf-8","X-Error":"deno-server"}})}}const f=async t=>{try{const e=new URL(t.url),i=!t.headers.get("accept")?.includes("text/html")||s.isStaticPath(t.method||"GET",e)?"Not Found":s.getNotFound(e.pathname);return new Response(i,{status:404,headers:{"Content-Type":"text/html; charset=utf-8","X-Not-Found":e.pathname}})}catch(e){return console.error(e),new Response(String(e||"Error"),{status:500,headers:{"Content-Type":"text/plain; charset=utf-8","X-Error":"deno-server"}})}},g=async t=>{const e=t.pathname,i=e.slice(t.pathname.lastIndexOf("/"));let r;return i.includes(".")?r=o.join(l,e):globalThis.__NO_TRAILING_SLASH__?r=o.join(l,e,"index.html"):r=o.join(l,e+"index.html"),{filePath:r,content:await Deno.open(r,{read:!0})}};return{router:u,notFound:f,staticFile:async t=>{try{const e=new URL(t.url);if(s.isStaticPath(t.method||"GET",e)){const{filePath:i,content:r}=await g(e),a=o.extname(i).replace(/^\./,"");return new Response(r.readable,{status:200,headers:{"content-type":R[a]||"text/plain; charset=utf-8","Cache-Control":n.static?.cacheControl||"max-age=3600"}})}return null}catch(e){return console.error(e),new Response(String(e||"Error"),{status:500,headers:{"Content-Type":"text/plain; charset=utf-8","X-Error":"deno-server"}})}}}}const S=p;exports.createQwikCity=S;exports.createQwikRouter=p;
@@ -1,47 +1,47 @@
1
- import type { ClientConn } from '@qwik.dev/router/middleware/request-handler';
2
- import type { ServerRenderOptions } from '@qwik.dev/router/middleware/request-handler';
3
-
4
- /**
5
- * @deprecated Use `createQwikRouter` instead. Will be removed in V3
6
- * @public
7
- */
8
- export declare const createQwikCity: typeof createQwikRouter;
9
-
10
- /** @public */
11
- export declare function createQwikRouter(opts: QwikRouterDenoOptions): {
12
- router: (request: Request, info: ServeHandlerInfo) => Promise<Response | null>;
13
- notFound: (request: Request) => Promise<Response>;
14
- staticFile: (request: Request) => Promise<Response | null>;
15
- };
16
-
17
- /** @public */
18
- export declare interface NetAddr {
19
- transport: 'tcp' | 'udp';
20
- hostname: string;
21
- port: number;
22
- }
23
-
24
- /**
25
- * @deprecated Use `QwikRouterDenoOptions` instead. Will be removed in V3
26
- * @public
27
- */
28
- export declare type QwikCityDenoOptions = QwikRouterDenoOptions;
29
-
30
- /** @public */
31
- export declare interface QwikRouterDenoOptions extends ServerRenderOptions {
32
- /** Options for serving static files */
33
- static?: {
34
- /** The root folder for statics files. Defaults to /dist */
35
- root?: string;
36
- /** Set the Cache-Control header for all static files */
37
- cacheControl?: string;
38
- };
39
- getClientConn?: (request: Request, info: ServeHandlerInfo) => ClientConn;
40
- }
41
-
42
- /** @public */
43
- export declare interface ServeHandlerInfo {
44
- remoteAddr: NetAddr;
45
- }
46
-
47
- export { }
1
+ import type { ClientConn } from '@qwik.dev/router/middleware/request-handler';
2
+ import type { ServerRenderOptions } from '@qwik.dev/router/middleware/request-handler';
3
+
4
+ /**
5
+ * @deprecated Use `createQwikRouter` instead. Will be removed in V3
6
+ * @public
7
+ */
8
+ export declare const createQwikCity: typeof createQwikRouter;
9
+
10
+ /** @public */
11
+ export declare function createQwikRouter(opts: QwikRouterDenoOptions): {
12
+ router: (request: Request, info: ServeHandlerInfo) => Promise<Response | null>;
13
+ notFound: (request: Request) => Promise<Response>;
14
+ staticFile: (request: Request) => Promise<Response | null>;
15
+ };
16
+
17
+ /** @public */
18
+ export declare interface NetAddr {
19
+ transport: 'tcp' | 'udp';
20
+ hostname: string;
21
+ port: number;
22
+ }
23
+
24
+ /**
25
+ * @deprecated Use `QwikRouterDenoOptions` instead. Will be removed in V3
26
+ * @public
27
+ */
28
+ export declare type QwikCityDenoOptions = QwikRouterDenoOptions;
29
+
30
+ /** @public */
31
+ export declare interface QwikRouterDenoOptions extends ServerRenderOptions {
32
+ /** Options for serving static files */
33
+ static?: {
34
+ /** The root folder for statics files. Defaults to /dist */
35
+ root?: string;
36
+ /** Set the Cache-Control header for all static files */
37
+ cacheControl?: string;
38
+ };
39
+ getClientConn?: (request: Request, info: ServeHandlerInfo) => ClientConn;
40
+ }
41
+
42
+ /** @public */
43
+ export declare interface ServeHandlerInfo {
44
+ remoteAddr: NetAddr;
45
+ }
46
+
47
+ export { }