@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.
- package/lib/adapters/azure-swa/vite/index.mjs +28 -207
- package/lib/adapters/bun-server/vite/index.mjs +16 -202
- package/lib/adapters/cloud-run/vite/index.mjs +15 -201
- package/lib/adapters/cloudflare-pages/vite/index.mjs +65 -6
- package/lib/adapters/deno-server/vite/index.mjs +18 -204
- package/lib/adapters/netlify-edge/vite/index.mjs +58 -246
- package/lib/adapters/node-server/vite/index.mjs +16 -202
- package/lib/adapters/shared/vite/index.d.ts +4 -4
- package/lib/adapters/shared/vite/index.mjs +250 -149
- package/lib/adapters/ssg/vite/index.mjs +12 -199
- package/lib/adapters/vercel-edge/vite/index.d.ts +1 -1
- package/lib/adapters/vercel-edge/vite/index.mjs +50 -235
- package/lib/chunks/error-handler.mjs +57 -0
- package/lib/chunks/format-error.mjs +137 -0
- package/lib/chunks/fs.mjs +254 -0
- package/lib/chunks/index.mjs +884 -0
- package/lib/chunks/mime-types.mjs +52 -0
- package/lib/chunks/routing.qwik.mjs +429 -0
- package/lib/chunks/types.qwik.mjs +22 -0
- package/lib/index.d.ts +11 -4
- package/lib/index.qwik.mjs +533 -1019
- package/lib/middleware/aws-lambda/index.mjs +38 -28
- package/lib/middleware/azure-swa/index.mjs +65 -48
- package/lib/middleware/bun/index.mjs +104 -119
- package/lib/middleware/cloudflare-pages/index.mjs +69 -49
- package/lib/middleware/deno/index.mjs +94 -114
- package/lib/middleware/firebase/index.mjs +26 -18
- package/lib/middleware/netlify-edge/index.mjs +53 -38
- package/lib/middleware/node/index.mjs +184 -167
- package/lib/middleware/request-handler/index.d.ts +22 -4
- package/lib/middleware/request-handler/index.mjs +1203 -877
- package/lib/middleware/vercel-edge/index.mjs +72 -49
- package/lib/service-worker/index.mjs +4 -0
- package/lib/ssg/index.mjs +14 -22
- package/lib/vite/index.d.ts +13 -7
- package/lib/vite/index.mjs +1609 -1217
- package/package.json +27 -44
- package/lib/adapters/azure-swa/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/azure-swa/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/azure-swa/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/azure-swa/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/azure-swa/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/azure-swa/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/azure-swa/vite/index.cjs +0 -5
- package/lib/adapters/bun-server/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/bun-server/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/bun-server/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/bun-server/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/bun-server/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/bun-server/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/bun-server/vite/index.cjs +0 -5
- package/lib/adapters/cloud-run/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/cloud-run/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/cloud-run/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/cloud-run/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/cloud-run/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/cloud-run/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/cloud-run/vite/index.cjs +0 -5
- package/lib/adapters/cloudflare-pages/vite/index-Bg_9YkM5.js +0 -22
- package/lib/adapters/cloudflare-pages/vite/index-C1aDmh1S.cjs +0 -1
- package/lib/adapters/cloudflare-pages/vite/index-CHT9Y93A.js +0 -254
- package/lib/adapters/cloudflare-pages/vite/index-Ck7KvpK1.cjs +0 -11
- package/lib/adapters/cloudflare-pages/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/cloudflare-pages/vite/index-Cp1cjAds.js +0 -645
- package/lib/adapters/cloudflare-pages/vite/index-D9RL9dvJ.cjs +0 -5
- package/lib/adapters/cloudflare-pages/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/cloudflare-pages/vite/index.cjs +0 -1
- package/lib/adapters/deno-server/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/deno-server/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/deno-server/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/deno-server/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/deno-server/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/deno-server/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/deno-server/vite/index.cjs +0 -5
- package/lib/adapters/netlify-edge/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/netlify-edge/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/netlify-edge/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/netlify-edge/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/netlify-edge/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/netlify-edge/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/netlify-edge/vite/index.cjs +0 -6
- package/lib/adapters/node-server/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/node-server/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/node-server/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/node-server/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/node-server/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/node-server/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/node-server/vite/index.cjs +0 -5
- package/lib/adapters/shared/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/shared/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/shared/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/shared/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/shared/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/shared/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/shared/vite/index.cjs +0 -5
- package/lib/adapters/ssg/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/ssg/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/ssg/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/ssg/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/ssg/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/ssg/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/ssg/vite/index.cjs +0 -5
- package/lib/adapters/vercel-edge/vite/index-BqUeglYs.cjs +0 -1
- package/lib/adapters/vercel-edge/vite/index-CBIchDYq.js +0 -651
- package/lib/adapters/vercel-edge/vite/index-ClHGw5z1.js +0 -6
- package/lib/adapters/vercel-edge/vite/index-CrwlB95_.js +0 -22
- package/lib/adapters/vercel-edge/vite/index-DTIOTwZo.cjs +0 -11
- package/lib/adapters/vercel-edge/vite/index-vQuPcef3.cjs +0 -1
- package/lib/adapters/vercel-edge/vite/index.cjs +0 -5
- package/lib/index.qwik.cjs +0 -2126
- package/lib/middleware/aws-lambda/index.cjs +0 -1
- package/lib/middleware/azure-swa/index.cjs +0 -1
- package/lib/middleware/bun/index.cjs +0 -1
- package/lib/middleware/cloudflare-pages/index.cjs +0 -1
- package/lib/middleware/deno/index.cjs +0 -1
- package/lib/middleware/firebase/index.cjs +0 -1
- package/lib/middleware/netlify-edge/index.cjs +0 -1
- package/lib/middleware/node/index.cjs +0 -1
- package/lib/middleware/request-handler/index.cjs +0 -18
- package/lib/middleware/vercel-edge/index.cjs +0 -1
- package/lib/service-worker.cjs +0 -1
- package/lib/service-worker.mjs +0 -5
- package/lib/ssg/deno.cjs +0 -1
- package/lib/ssg/deno.mjs +0 -6
- package/lib/ssg/index-CBIchDYq.js +0 -651
- package/lib/ssg/index-ClHGw5z1.js +0 -6
- package/lib/ssg/index-DTIOTwZo.cjs +0 -11
- package/lib/ssg/index-vQuPcef3.cjs +0 -1
- package/lib/ssg/index.cjs +0 -1
- package/lib/ssg/node.cjs +0 -11
- package/lib/ssg/node.mjs +0 -651
- package/lib/vite/index.cjs +0 -42
|
@@ -1,74 +1,97 @@
|
|
|
1
|
-
import { setServerPlatform
|
|
2
|
-
import { isStaticPath
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { setServerPlatform } from '@qwik.dev/core/server';
|
|
2
|
+
import { isStaticPath, mergeHeadersCookies, requestHandler, getNotFound } from '@qwik.dev/router/middleware/request-handler';
|
|
3
|
+
|
|
4
|
+
const COUNTRY_HEADER_NAME = "x-vercel-ip-country";
|
|
5
|
+
const IP_HEADER_NAME = "x-real-ip";
|
|
6
|
+
const VERCEL_COOKIE = "__vdpl";
|
|
7
|
+
const VERCEL_SKEW_PROTECTION_ENABLED = "VERCEL_SKEW_PROTECTION_ENABLED";
|
|
8
|
+
const VERCEL_DEPLOYMENT_ID = "VERCEL_DEPLOYMENT_ID";
|
|
9
|
+
const BASE_URL = "BASE_URL";
|
|
10
|
+
function createQwikRouter(opts) {
|
|
11
|
+
if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
|
|
12
|
+
console.warn("qwikCityPlan is deprecated. Simply remove it.");
|
|
13
|
+
opts.qwikRouterConfig = opts.qwikCityPlan;
|
|
14
|
+
}
|
|
15
|
+
if (opts.manifest) {
|
|
16
|
+
setServerPlatform(opts.manifest);
|
|
17
|
+
}
|
|
18
|
+
async function onVercelEdgeRequest(request) {
|
|
7
19
|
try {
|
|
8
|
-
const
|
|
9
|
-
if (
|
|
20
|
+
const url = new URL(request.url);
|
|
21
|
+
if (isStaticPath(request.method, url)) {
|
|
10
22
|
return new Response(null, {
|
|
11
23
|
headers: {
|
|
12
24
|
"x-middleware-next": "1"
|
|
13
25
|
}
|
|
14
26
|
});
|
|
15
|
-
|
|
27
|
+
}
|
|
28
|
+
const p = (() => globalThis.process)();
|
|
29
|
+
const serverRequestEv = {
|
|
16
30
|
mode: "server",
|
|
17
31
|
locale: void 0,
|
|
18
|
-
url
|
|
19
|
-
request
|
|
32
|
+
url,
|
|
33
|
+
request,
|
|
20
34
|
env: {
|
|
21
|
-
get(
|
|
22
|
-
return
|
|
35
|
+
get(key) {
|
|
36
|
+
return p.env[key];
|
|
23
37
|
}
|
|
24
38
|
},
|
|
25
|
-
getWritableStream: (
|
|
26
|
-
const { readable
|
|
27
|
-
if (
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
getWritableStream: (status, headers, cookies, resolve) => {
|
|
40
|
+
const { readable, writable } = new TransformStream();
|
|
41
|
+
if (serverRequestEv.env.get(VERCEL_SKEW_PROTECTION_ENABLED)) {
|
|
42
|
+
const deploymentId = serverRequestEv.env.get(VERCEL_DEPLOYMENT_ID) || "";
|
|
43
|
+
const baseUrl = serverRequestEv.env.get(BASE_URL) || "/";
|
|
44
|
+
if (request.headers.has("Sec-Fetch-Dest")) {
|
|
45
|
+
cookies.set(VERCEL_COOKIE, deploymentId, {
|
|
46
|
+
path: baseUrl,
|
|
47
|
+
secure: true,
|
|
48
|
+
sameSite: true,
|
|
49
|
+
httpOnly: true
|
|
50
|
+
});
|
|
51
|
+
}
|
|
35
52
|
}
|
|
36
|
-
const
|
|
37
|
-
status
|
|
38
|
-
headers:
|
|
53
|
+
const response = new Response(readable, {
|
|
54
|
+
status,
|
|
55
|
+
headers: mergeHeadersCookies(headers, cookies)
|
|
39
56
|
});
|
|
40
|
-
|
|
57
|
+
resolve(response);
|
|
58
|
+
return writable;
|
|
41
59
|
},
|
|
42
60
|
platform: {},
|
|
43
|
-
getClientConn: () =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
getClientConn: () => {
|
|
62
|
+
return {
|
|
63
|
+
ip: request.headers.get(IP_HEADER_NAME) ?? void 0,
|
|
64
|
+
country: request.headers.get(COUNTRY_HEADER_NAME) ?? void 0
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const handledResponse = await requestHandler(serverRequestEv, opts);
|
|
69
|
+
if (handledResponse) {
|
|
70
|
+
handledResponse.completion.then((v) => {
|
|
71
|
+
if (v) {
|
|
72
|
+
console.error(v);
|
|
73
|
+
}
|
|
51
74
|
});
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
75
|
+
const response = await handledResponse.response;
|
|
76
|
+
if (response) {
|
|
77
|
+
return response;
|
|
78
|
+
}
|
|
55
79
|
}
|
|
56
|
-
const
|
|
57
|
-
return new Response(
|
|
80
|
+
const notFoundHtml = !request.headers.get("accept")?.includes("text/html") || isStaticPath(request.method || "GET", url) ? "Not Found" : getNotFound(url.pathname);
|
|
81
|
+
return new Response(notFoundHtml, {
|
|
58
82
|
status: 404,
|
|
59
|
-
headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found":
|
|
83
|
+
headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": url.pathname }
|
|
60
84
|
});
|
|
61
|
-
} catch (
|
|
62
|
-
|
|
85
|
+
} catch (e) {
|
|
86
|
+
console.error(e);
|
|
87
|
+
return new Response(String(e || "Error"), {
|
|
63
88
|
status: 500,
|
|
64
89
|
headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "vercel-edge" }
|
|
65
90
|
});
|
|
66
91
|
}
|
|
67
92
|
}
|
|
68
|
-
return
|
|
93
|
+
return onVercelEdgeRequest;
|
|
69
94
|
}
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
O as createQwikRouter
|
|
74
|
-
};
|
|
95
|
+
const createQwikCity = createQwikRouter;
|
|
96
|
+
|
|
97
|
+
export { createQwikCity, createQwikRouter };
|
package/lib/ssg/index.mjs
CHANGED
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
async function
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return import(
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return typeof Bun < "u";
|
|
16
|
-
}
|
|
17
|
-
function o() {
|
|
18
|
-
return !e() && !n() && typeof process < "u" && !!process.versions?.node;
|
|
19
|
-
}
|
|
20
|
-
export {
|
|
21
|
-
i as generate
|
|
22
|
-
};
|
|
1
|
+
async function generate(opts) {
|
|
2
|
+
const ssgPlatform = await getEntryModule();
|
|
3
|
+
const result = await ssgPlatform.generate(opts);
|
|
4
|
+
return result;
|
|
5
|
+
}
|
|
6
|
+
async function getEntryModule() {
|
|
7
|
+
try {
|
|
8
|
+
return await import('../chunks/index.mjs');
|
|
9
|
+
} catch (e) {
|
|
10
|
+
throw new Error(`Unsupported platform`, { cause: e });
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { generate };
|
package/lib/vite/index.d.ts
CHANGED
|
@@ -7,13 +7,13 @@ import type { PluginOption } from 'vite';
|
|
|
7
7
|
import type { SerializationStrategy } from '@qwik.dev/core/internal';
|
|
8
8
|
import { UserConfigExport } from 'vite';
|
|
9
9
|
|
|
10
|
-
declare interface
|
|
10
|
+
declare interface BuiltEntry extends ParsedPathname {
|
|
11
11
|
id: string;
|
|
12
12
|
chunkFileName: string;
|
|
13
13
|
filePath: string;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
declare interface
|
|
16
|
+
declare interface BuiltLayout {
|
|
17
17
|
filePath: string;
|
|
18
18
|
dirPath: string;
|
|
19
19
|
id: string;
|
|
@@ -21,7 +21,7 @@ declare interface BuildLayout {
|
|
|
21
21
|
layoutName: string;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
declare interface
|
|
24
|
+
declare interface BuiltRoute extends ParsedPathname {
|
|
25
25
|
/** Unique id built from its relative file system path */
|
|
26
26
|
id: string;
|
|
27
27
|
/** Local file system path */
|
|
@@ -29,7 +29,7 @@ declare interface BuildRoute extends ParsedPathname {
|
|
|
29
29
|
ext: string;
|
|
30
30
|
/** URL Pathname */
|
|
31
31
|
pathname: string;
|
|
32
|
-
layouts:
|
|
32
|
+
layouts: BuiltLayout[];
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/** @public */
|
|
@@ -99,7 +99,13 @@ declare interface PluginOptions {
|
|
|
99
99
|
mdxPlugins?: MdxPlugins;
|
|
100
100
|
/** MDX Options https://mdxjs.com/ */
|
|
101
101
|
mdx?: any;
|
|
102
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Extend the `platform` object in RequestEvent, which can be used to e.g. mock Cloudflare
|
|
104
|
+
* bindings.
|
|
105
|
+
*
|
|
106
|
+
* This only works in **dev mode** and only when using the in-process Vite dev server middleware
|
|
107
|
+
* (the default).
|
|
108
|
+
*/
|
|
103
109
|
platform?: Record<string, unknown>;
|
|
104
110
|
/** Configuration to rewrite url paths */
|
|
105
111
|
rewriteRoutes?: RewriteRouteOption[];
|
|
@@ -136,8 +142,8 @@ export declare interface QwikRouterPlugin extends P<QwikRouterPluginApi> {
|
|
|
136
142
|
/** @public */
|
|
137
143
|
declare interface QwikRouterPluginApi {
|
|
138
144
|
getBasePathname: () => string;
|
|
139
|
-
getRoutes: () =>
|
|
140
|
-
getServiceWorkers: () =>
|
|
145
|
+
getRoutes: () => BuiltRoute[];
|
|
146
|
+
getServiceWorkers: () => BuiltEntry[];
|
|
141
147
|
}
|
|
142
148
|
|
|
143
149
|
/** @public */
|