@qwik.dev/core 2.0.0-beta.4 → 2.0.0-beta.40
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/dist/backpatch/index.d.ts +2 -0
- package/dist/backpatch/index.mjs +5 -0
- package/dist/backpatch/package.json +8 -0
- package/dist/backpatch-executor.debug.js +59 -0
- package/dist/backpatch-executor.js +1 -0
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +12974 -0
- package/dist/core-internal.d.ts +1615 -810
- package/dist/core.min.mjs +9 -1
- package/dist/core.mjs +14792 -9192
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +10482 -5382
- package/dist/insights/index.qwik.mjs +82 -71
- package/dist/insights/vite/index.mjs +79 -81
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.d.ts +77 -288
- package/dist/optimizer.mjs +2966 -4088
- package/dist/out-of-order-executor.debug.js +140 -0
- package/dist/out-of-order-executor.js +1 -0
- package/dist/preloader.mjs +172 -192
- package/dist/qwikloader.debug.js +403 -244
- package/dist/qwikloader.js +1 -1
- package/dist/server-modules.d.ts +1 -0
- package/dist/server.d.ts +54 -249
- package/dist/server.mjs +2332 -1407
- package/dist/server.prod.mjs +3844 -0
- package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/aws-lambda/package.json +3 -2
- package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +2 -6
- package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/azure-swa/package.json +3 -2
- package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +2 -3
- package/dist/starters/adapters/bun/adapters/bun/{vite.config.mts → vite.config.ts} +4 -4
- package/dist/starters/adapters/bun/package.json +3 -2
- package/dist/starters/adapters/bun/src/entry.bun.ts +37 -10
- package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/cloud-run/package.json +3 -2
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +23 -7
- package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/cloudflare-pages/package.json +3 -2
- package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +2 -3
- package/dist/starters/adapters/cloudflare-workers/README.md +52 -0
- package/dist/starters/adapters/cloudflare-workers/adapters/cloudflare-workers/vite.config.ts +15 -0
- package/dist/starters/adapters/cloudflare-workers/gitignore +3 -0
- package/dist/starters/adapters/cloudflare-workers/package.json +31 -0
- package/dist/starters/adapters/cloudflare-workers/public/.assetsignore +4 -0
- package/dist/starters/adapters/cloudflare-workers/public/_headers +11 -0
- package/dist/starters/adapters/cloudflare-workers/public/_redirects +1 -0
- package/dist/starters/adapters/cloudflare-workers/src/entry.cloudflare-pages.tsx +23 -0
- package/dist/starters/adapters/cloudflare-workers/worker-configuration.d.ts +5 -0
- package/dist/starters/adapters/cloudflare-workers/wrangler.jsonc +41 -0
- package/dist/starters/adapters/deno/adapters/deno/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/deno/package.json +3 -2
- package/dist/starters/adapters/deno/src/entry.deno.ts +43 -10
- package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/express/package.json +4 -3
- package/dist/starters/adapters/express/src/entry.express.tsx +22 -7
- package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/fastify/package.json +5 -4
- package/dist/starters/adapters/fastify/src/entry.fastify.tsx +21 -1
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +11 -4
- package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/firebase/package.json +3 -2
- package/dist/starters/adapters/firebase/src/entry-firebase.tsx +2 -3
- package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/netlify-edge/package.json +5 -4
- package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +2 -3
- package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/node-server/package.json +3 -2
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +22 -6
- package/dist/starters/adapters/{static/adapters/static/vite.config.mts → ssg/adapters/ssg/vite.config.ts} +4 -4
- package/dist/starters/adapters/ssg/package.json +20 -0
- package/dist/starters/adapters/vercel-edge/README.md +2 -2
- package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts} +3 -3
- package/dist/starters/adapters/vercel-edge/package.json +3 -2
- package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +2 -3
- package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
- package/dist/starters/features/auth/package.json +1 -1
- package/dist/starters/features/compiled-i18n/package.json +37 -0
- package/dist/starters/features/compiled-i18n/src/components/locale-selector/locale-selector.tsx +30 -0
- package/dist/starters/features/compiled-i18n/src/entry.ssr.tsx +31 -0
- package/dist/starters/features/compiled-i18n/src/routes/plugin@compiled-i18n.ts +28 -0
- package/dist/starters/features/csr/index.html +27 -0
- package/dist/starters/features/csr/package.json +29 -0
- package/dist/starters/features/csr/src/root.tsx +15 -0
- package/dist/starters/features/csr/vite.config.ts +13 -0
- package/dist/starters/features/cypress/src/actions/example.action.ts +5 -0
- package/dist/starters/features/cypress/src/components/example/example.cy.tsx +50 -8
- package/dist/starters/features/cypress/src/components/example/example.tsx +13 -3
- package/dist/starters/features/cypress/src/loaders/example.loader.ts +5 -0
- package/dist/starters/features/drizzle/package.json +1 -1
- package/dist/starters/features/pandacss/package.json +1 -1
- package/dist/starters/features/postcss/postcss.config.js +1 -1
- package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
- package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
- package/dist/starters/features/tailwind/package.json +2 -2
- package/dist/starters/features/tailwind/prettier.config.js +10 -0
- package/dist/starters/features/tailwind-v3/package.json +1 -1
- package/dist/starters/features/tailwind-v3/prettier.config.js +10 -0
- package/dist/starters/features/vitest/package.json +1 -1
- package/dist/testing/index.d.ts +1000 -7
- package/dist/testing/index.mjs +16487 -11656
- package/dist/testing/package.json +1 -1
- package/dist/worker/index.d.mts +21 -0
- package/dist/worker/index.mjs +251 -0
- package/dist/worker/package.json +9 -0
- package/dist/worker/worker.js +13 -0
- package/dist/worker/worker.node.js +15 -0
- package/dist/worker/worker.shared.js +63 -0
- package/handlers.mjs +21 -1
- package/package.json +40 -56
- package/public.d.ts +14 -2
- package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
- package/server.d.ts +2 -0
- package/worker.d.ts +2 -0
- package/bindings/qwik.darwin-arm64.node +0 -0
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.wasm.cjs +0 -471
- package/bindings/qwik.wasm.mjs +0 -464
- package/bindings/qwik.win32-x64-msvc.node +0 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- package/dist/build/index.cjs +0 -35
- package/dist/build/index.cjs.map +0 -7
- package/dist/build/index.dev.cjs +0 -37
- package/dist/build/index.dev.cjs.map +0 -7
- package/dist/build/index.prod.cjs +0 -37
- package/dist/build/index.prod.cjs.map +0 -7
- package/dist/cli.cjs +0 -5545
- package/dist/core.cjs +0 -11870
- package/dist/core.cjs.map +0 -1
- package/dist/core.prod.cjs +0 -5723
- package/dist/insights/index.qwik.cjs +0 -1
- package/dist/insights/vite/index.cjs +0 -1
- package/dist/loader/index.cjs +0 -4
- package/dist/optimizer.cjs +0 -4020
- package/dist/preloader.cjs +0 -269
- package/dist/server.cjs +0 -3040
- package/dist/starters/adapters/static/package.json +0 -19
- package/dist/starters/features/localize/package.json +0 -37
- package/dist/starters/features/localize/src/entry.ssr.tsx +0 -30
- package/dist/starters/features/localize/src/locales/message.en.json +0 -8
- package/dist/starters/features/localize/src/locales/message.it.json +0 -8
- package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +0 -94
- package/dist/starters/features/localize/src/routes/[locale]/index.tsx +0 -52
- package/dist/starters/features/localize/src/routes/[locale]/layout.tsx +0 -12
- package/dist/starters/features/playwright/playwright-report/index.html +0 -22026
- package/dist/starters/features/tailwind/.prettierrc.js +0 -3
- package/dist/testing/index.cjs +0 -33388
- /package/dist/starters/adapters/{static → ssg}/README.md +0 -0
|
@@ -8,14 +8,13 @@
|
|
|
8
8
|
* - https://docs.deno.com/runtime/tutorials/http_server
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
import
|
|
11
|
+
import { getRequestEvent } from "@qwik.dev/router";
|
|
12
12
|
import { createQwikRouter } from "@qwik.dev/router/middleware/deno";
|
|
13
13
|
import render from "./entry.ssr";
|
|
14
14
|
|
|
15
15
|
// Create the Qwik Router Deno middleware
|
|
16
|
-
const { router,
|
|
16
|
+
const { router, staticFile } = createQwikRouter({
|
|
17
17
|
render,
|
|
18
|
-
qwikRouterConfig,
|
|
19
18
|
static: {
|
|
20
19
|
cacheControl: "public, max-age=31536000, immutable",
|
|
21
20
|
},
|
|
@@ -27,6 +26,46 @@ const port = Number(Deno.env.get("PORT") ?? 3009);
|
|
|
27
26
|
/* eslint-disable */
|
|
28
27
|
console.log(`Server starter: http://localhost:${port}/app/`);
|
|
29
28
|
|
|
29
|
+
// Optional request-aware diagnostics for crashes that escape request boundaries.
|
|
30
|
+
// This does not prevent Deno from crashing, but it does provide better diagnostics.
|
|
31
|
+
// See Deno runtime event docs for error and unhandled rejection behavior.
|
|
32
|
+
globalThis.addEventListener("error", (event: ErrorEvent) => {
|
|
33
|
+
const requestEv = getRequestEvent();
|
|
34
|
+
if (requestEv) {
|
|
35
|
+
console.error("Unhandled exception during request", {
|
|
36
|
+
method: requestEv.method,
|
|
37
|
+
url: requestEv.url.href,
|
|
38
|
+
headersSent: requestEv.headersSent,
|
|
39
|
+
error: event.error,
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
console.error("Unhandled exception outside request", {
|
|
45
|
+
error: event.error,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
globalThis.addEventListener(
|
|
50
|
+
"unhandledrejection",
|
|
51
|
+
(event: PromiseRejectionEvent) => {
|
|
52
|
+
const requestEv = getRequestEvent();
|
|
53
|
+
if (requestEv) {
|
|
54
|
+
console.error("Unhandled rejection during request", {
|
|
55
|
+
method: requestEv.method,
|
|
56
|
+
url: requestEv.url.href,
|
|
57
|
+
headersSent: requestEv.headersSent,
|
|
58
|
+
reason: event.reason,
|
|
59
|
+
});
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
console.error("Unhandled rejection outside request", {
|
|
64
|
+
reason: event.reason,
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
);
|
|
68
|
+
|
|
30
69
|
Deno.serve({ port }, async (request: Request, info: any) => {
|
|
31
70
|
const staticResponse = await staticFile(request);
|
|
32
71
|
if (staticResponse) {
|
|
@@ -34,13 +73,7 @@ Deno.serve({ port }, async (request: Request, info: any) => {
|
|
|
34
73
|
}
|
|
35
74
|
|
|
36
75
|
// Server-side render this request with Qwik Router
|
|
37
|
-
|
|
38
|
-
if (qwikRouterResponse) {
|
|
39
|
-
return qwikRouterResponse;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Path not found
|
|
43
|
-
return notFound(request);
|
|
76
|
+
return (await router(request, info))!;
|
|
44
77
|
});
|
|
45
78
|
|
|
46
79
|
declare const Deno: any;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
-
import baseConfig from "../../vite.config.
|
|
3
|
+
import baseConfig from "../../vite.config.ts";
|
|
4
4
|
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
|
-
|
|
10
|
-
input: ["src/entry.express.tsx"
|
|
9
|
+
rolldownOptions: {
|
|
10
|
+
input: ["src/entry.express.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [nodeServerAdapter({ name: "express" })],
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Express.js server",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/express/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/express/vite.config.ts",
|
|
5
5
|
"serve": "node server/entry.express"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"express": "4.
|
|
8
|
+
"express": "4.22.0"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@types/compression": "^1.7.2",
|
|
@@ -29,5 +29,6 @@
|
|
|
29
29
|
"- pnpm run serve: runs the production server locally"
|
|
30
30
|
]
|
|
31
31
|
}
|
|
32
|
-
}
|
|
32
|
+
},
|
|
33
|
+
"type": "module"
|
|
33
34
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/node/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import
|
|
10
|
+
import { getRequestEvent } from "@qwik.dev/router";
|
|
11
11
|
import {
|
|
12
12
|
createQwikRouter,
|
|
13
13
|
type PlatformNode,
|
|
@@ -19,7 +19,7 @@ import { fileURLToPath } from "node:url";
|
|
|
19
19
|
import render from "./entry.ssr";
|
|
20
20
|
|
|
21
21
|
declare global {
|
|
22
|
-
|
|
22
|
+
type QwikRouterPlatform = PlatformNode;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
// Directories where the static assets are located
|
|
@@ -31,9 +31,8 @@ const assetsDir = join(distDir, "assets");
|
|
|
31
31
|
const PORT = process.env.PORT ?? 3000;
|
|
32
32
|
|
|
33
33
|
// Create the Qwik Router Node middleware
|
|
34
|
-
const { router
|
|
34
|
+
const { router } = createQwikRouter({
|
|
35
35
|
render,
|
|
36
|
-
qwikRouterConfig,
|
|
37
36
|
// getOrigin(req) {
|
|
38
37
|
// // If deploying under a proxy, you may need to build the origin from the request headers
|
|
39
38
|
// // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto
|
|
@@ -48,6 +47,25 @@ const { router, notFound } = createQwikRouter({
|
|
|
48
47
|
// https://expressjs.com/
|
|
49
48
|
const app = express();
|
|
50
49
|
|
|
50
|
+
// Optional request-aware diagnostics for crashes that escape request boundaries.
|
|
51
|
+
// This does not prevent Node from crashing, but it does provide better diagnostics for uncaught exceptions.
|
|
52
|
+
// See the Node documentation to handle uncaught exceptions and unhandled rejections in your app.
|
|
53
|
+
process.on("uncaughtExceptionMonitor", (error, origin) => {
|
|
54
|
+
const requestEv = getRequestEvent();
|
|
55
|
+
if (requestEv) {
|
|
56
|
+
console.error("Unhandled exception during request", {
|
|
57
|
+
origin,
|
|
58
|
+
method: requestEv.method,
|
|
59
|
+
url: requestEv.url.href,
|
|
60
|
+
headersSent: requestEv.headersSent,
|
|
61
|
+
error,
|
|
62
|
+
});
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
console.error("Unhandled exception outside request", { origin, error });
|
|
67
|
+
});
|
|
68
|
+
|
|
51
69
|
// Enable gzip compression
|
|
52
70
|
// app.use(compression());
|
|
53
71
|
|
|
@@ -63,9 +81,6 @@ app.use(express.static(distDir, { redirect: false }));
|
|
|
63
81
|
// Use Qwik Router's page and endpoint request handler
|
|
64
82
|
app.use(router);
|
|
65
83
|
|
|
66
|
-
// Use Qwik Router's 404 handler
|
|
67
|
-
app.use(notFound);
|
|
68
|
-
|
|
69
84
|
// Start the express server
|
|
70
85
|
app.listen(PORT, () => {
|
|
71
86
|
/* eslint-disable */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
-
import baseConfig from "../../vite.config.
|
|
3
|
+
import baseConfig from "../../vite.config.ts";
|
|
4
4
|
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
|
-
|
|
10
|
-
input: ["src/entry.fastify.tsx"
|
|
9
|
+
rolldownOptions: {
|
|
10
|
+
input: ["src/entry.fastify.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [nodeServerAdapter({ name: "fastify" })],
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Fastify server",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/fastify/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/fastify/vite.config.ts",
|
|
5
5
|
"serve": "node server/entry.fastify"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@fastify/compress": "^6.2.1",
|
|
9
|
-
"@fastify/static": "^
|
|
10
|
-
"fastify": "^
|
|
9
|
+
"@fastify/static": "^10.1.2",
|
|
10
|
+
"fastify": "^5.8.5",
|
|
11
11
|
"fastify-plugin": "^4.5.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
@@ -29,5 +29,6 @@
|
|
|
29
29
|
"- pnpm run serve: runs the production server locally"
|
|
30
30
|
]
|
|
31
31
|
}
|
|
32
|
-
}
|
|
32
|
+
},
|
|
33
|
+
"type": "module"
|
|
33
34
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/node/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
+
import { getRequestEvent } from "@qwik.dev/router";
|
|
10
11
|
import { type PlatformNode } from "@qwik.dev/router/middleware/node";
|
|
11
12
|
import "dotenv/config";
|
|
12
13
|
import Fastify from "fastify";
|
|
@@ -15,7 +16,7 @@ import { fileURLToPath } from "node:url";
|
|
|
15
16
|
import FastifyQwik from "./plugins/fastify-qwik";
|
|
16
17
|
|
|
17
18
|
declare global {
|
|
18
|
-
|
|
19
|
+
type QwikRouterPlatform = PlatformNode;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
// Directories where the static assets are located
|
|
@@ -27,6 +28,25 @@ const assetsDir = join(distDir, "assets");
|
|
|
27
28
|
const PORT = parseInt(process.env.PORT ?? "3000");
|
|
28
29
|
const HOST = process.env.HOST ?? "0.0.0.0";
|
|
29
30
|
|
|
31
|
+
// Optional request-aware diagnostics for crashes that escape request boundaries.
|
|
32
|
+
// This does not prevent Node from crashing, but it does provide better diagnostics for uncaught exceptions.
|
|
33
|
+
// See the Node documentation to handle uncaught exceptions and unhandled rejections in your app.
|
|
34
|
+
process.on("uncaughtExceptionMonitor", (error, origin) => {
|
|
35
|
+
const requestEv = getRequestEvent();
|
|
36
|
+
if (requestEv) {
|
|
37
|
+
console.error("Unhandled exception during request", {
|
|
38
|
+
origin,
|
|
39
|
+
method: requestEv.method,
|
|
40
|
+
url: requestEv.url.href,
|
|
41
|
+
headersSent: requestEv.headersSent,
|
|
42
|
+
error,
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
console.error("Unhandled exception outside request", { origin, error });
|
|
48
|
+
});
|
|
49
|
+
|
|
30
50
|
const start = async () => {
|
|
31
51
|
// Create the fastify server
|
|
32
52
|
// https://fastify.dev/docs/latest/Guides/Getting-Started/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import fastifyStatic from "@fastify/static";
|
|
2
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
3
2
|
import { createQwikRouter } from "@qwik.dev/router/middleware/node";
|
|
4
3
|
import type { FastifyPluginAsync } from "fastify";
|
|
5
4
|
import fastifyPlugin from "fastify-plugin";
|
|
@@ -12,7 +11,7 @@ export interface FastifyQwikOptions {
|
|
|
12
11
|
assetsDir: string;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
const { router
|
|
14
|
+
const { router } = createQwikRouter({ render });
|
|
16
15
|
|
|
17
16
|
const qwikPlugin: FastifyPluginAsync<FastifyQwikOptions> = async (
|
|
18
17
|
fastify,
|
|
@@ -44,8 +43,16 @@ const qwikPlugin: FastifyPluginAsync<FastifyQwikOptions> = async (
|
|
|
44
43
|
fastify.removeAllContentTypeParsers();
|
|
45
44
|
|
|
46
45
|
fastify.setNotFoundHandler(async (request, response) => {
|
|
47
|
-
await router(
|
|
48
|
-
|
|
46
|
+
await router(
|
|
47
|
+
request.raw,
|
|
48
|
+
response.raw,
|
|
49
|
+
(err) => {
|
|
50
|
+
if (err) {
|
|
51
|
+
response.send(err);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{ bodyLimit: request.routeOptions.bodyLimit },
|
|
55
|
+
);
|
|
49
56
|
});
|
|
50
57
|
};
|
|
51
58
|
|
package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
3
|
import { builtinModules } from "module";
|
|
4
|
-
import baseConfig from "../../vite.config.
|
|
4
|
+
import baseConfig from "../../vite.config.ts";
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
ssr: {
|
|
@@ -11,8 +11,8 @@ export default extendConfig(baseConfig, () => {
|
|
|
11
11
|
build: {
|
|
12
12
|
minify: false,
|
|
13
13
|
ssr: true,
|
|
14
|
-
|
|
15
|
-
input: ["./src/entry-firebase.tsx"
|
|
14
|
+
rolldownOptions: {
|
|
15
|
+
input: ["./src/entry-firebase.tsx"],
|
|
16
16
|
},
|
|
17
17
|
outDir: "./functions/server",
|
|
18
18
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Firebase",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/firebase/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/firebase/vite.config.ts",
|
|
5
5
|
"serve": "qwik build && firebase emulators:start",
|
|
6
6
|
"deploy": "firebase deploy"
|
|
7
7
|
},
|
|
@@ -20,5 +20,6 @@
|
|
|
20
20
|
"- cd functions && pnpm i"
|
|
21
21
|
]
|
|
22
22
|
}
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"type": "module"
|
|
24
25
|
}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/firebase/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformFirebase,
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
import render from "./entry.ssr";
|
|
16
15
|
|
|
17
16
|
declare global {
|
|
18
|
-
|
|
17
|
+
type QwikRouterPlatform = PlatformFirebase;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|
package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { netlifyEdgeAdapter } from "@qwik.dev/router/adapters/netlify-edge/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
-
import baseConfig from "../../vite.config.
|
|
3
|
+
import baseConfig from "../../vite.config.ts";
|
|
4
4
|
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
|
-
|
|
10
|
-
input: ["src/entry.netlify-edge.tsx"
|
|
9
|
+
rolldownOptions: {
|
|
10
|
+
input: ["src/entry.netlify-edge.tsx"],
|
|
11
11
|
},
|
|
12
12
|
outDir: ".netlify/edge-functions/entry.netlify-edge",
|
|
13
13
|
},
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Netlify Edge Functions",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/netlify-edge/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/netlify-edge/vite.config.ts",
|
|
5
5
|
"deploy": "netlify deploy --build"
|
|
6
6
|
},
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"@netlify/edge-functions": "^
|
|
9
|
-
"netlify-cli": "^
|
|
8
|
+
"@netlify/edge-functions": "^3.0.6",
|
|
9
|
+
"netlify-cli": "^24.5.1"
|
|
10
10
|
},
|
|
11
11
|
"__qwik__": {
|
|
12
12
|
"priority": 30,
|
|
@@ -25,5 +25,6 @@
|
|
|
25
25
|
"- pnpm run deploy: it will use the netlify CLI to deploy your site"
|
|
26
26
|
]
|
|
27
27
|
}
|
|
28
|
-
}
|
|
28
|
+
},
|
|
29
|
+
"type": "module"
|
|
29
30
|
}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/netlify-edge/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformNetlify,
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
import render from "./entry.ssr";
|
|
16
15
|
|
|
17
16
|
declare global {
|
|
18
|
-
|
|
17
|
+
type QwikRouterPlatform = PlatformNetlify;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|
package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
-
import baseConfig from "../../vite.config.
|
|
3
|
+
import baseConfig from "../../vite.config.ts";
|
|
4
4
|
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
|
-
|
|
10
|
-
input: ["src/entry.node-server.tsx"
|
|
9
|
+
rolldownOptions: {
|
|
10
|
+
input: ["src/entry.node-server.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [nodeServerAdapter({ name: "node-server" })],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Vanilla Node server",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/node-server/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/node-server/vite.config.ts",
|
|
5
5
|
"serve": "node server/entry.node-server"
|
|
6
6
|
},
|
|
7
7
|
"__qwik__": {
|
|
@@ -19,5 +19,6 @@
|
|
|
19
19
|
"- pnpm run serve: runs the production server locally"
|
|
20
20
|
]
|
|
21
21
|
}
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
|
+
"type": "module"
|
|
23
24
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/node/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import
|
|
10
|
+
import { getRequestEvent } from "@qwik.dev/router";
|
|
11
11
|
import { createQwikRouter } from "@qwik.dev/router/middleware/node";
|
|
12
12
|
import { createServer } from "node:http";
|
|
13
13
|
import render from "./entry.ssr";
|
|
@@ -16,9 +16,8 @@ import render from "./entry.ssr";
|
|
|
16
16
|
const PORT = process.env.PORT ?? 3004;
|
|
17
17
|
|
|
18
18
|
// Create the Qwik Router express middleware
|
|
19
|
-
const { router,
|
|
19
|
+
const { router, staticFile } = createQwikRouter({
|
|
20
20
|
render,
|
|
21
|
-
qwikRouterConfig,
|
|
22
21
|
static: {
|
|
23
22
|
cacheControl: "public, max-age=31536000, immutable",
|
|
24
23
|
},
|
|
@@ -26,11 +25,28 @@ const { router, notFound, staticFile } = createQwikRouter({
|
|
|
26
25
|
|
|
27
26
|
const server = createServer();
|
|
28
27
|
|
|
28
|
+
// Optional request-aware diagnostics for crashes that escape request boundaries.
|
|
29
|
+
// This does not prevent Node from crashing, but it does provide better diagnostics for uncaught exceptions.
|
|
30
|
+
// See the Node documentation to handle uncaught exceptions and unhandled rejections in your app.
|
|
31
|
+
process.on("uncaughtExceptionMonitor", (error, origin) => {
|
|
32
|
+
const requestEv = getRequestEvent();
|
|
33
|
+
if (requestEv) {
|
|
34
|
+
console.error("Unhandled exception during request", {
|
|
35
|
+
origin,
|
|
36
|
+
method: requestEv.method,
|
|
37
|
+
url: requestEv.url.href,
|
|
38
|
+
headersSent: requestEv.headersSent,
|
|
39
|
+
error,
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
console.error("Unhandled exception outside request", { origin, error });
|
|
45
|
+
});
|
|
46
|
+
|
|
29
47
|
server.on("request", (req, res) => {
|
|
30
48
|
staticFile(req, res, () => {
|
|
31
|
-
router(req, res, () => {
|
|
32
|
-
notFound(req, res, () => {});
|
|
33
|
-
});
|
|
49
|
+
router(req, res, () => {});
|
|
34
50
|
});
|
|
35
51
|
});
|
|
36
52
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ssgAdapter } from "@qwik.dev/router/adapters/ssg/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
-
import baseConfig from "../../vite.config.
|
|
3
|
+
import baseConfig from "../../vite.config.ts";
|
|
4
4
|
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
|
-
|
|
9
|
+
rolldownOptions: {
|
|
10
10
|
input: ["@qwik-router-config"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [
|
|
14
|
-
|
|
14
|
+
ssgAdapter({
|
|
15
15
|
origin: "https://yoursite.qwik.dev",
|
|
16
16
|
}),
|
|
17
17
|
],
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Static Site Generator",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/ssg/vite.config.ts"
|
|
5
|
+
},
|
|
6
|
+
"__qwik__": {
|
|
7
|
+
"priority": 10,
|
|
8
|
+
"displayName": "Adapter: Static Site Generation (.html files)",
|
|
9
|
+
"docs": [
|
|
10
|
+
"https://qwik.dev/docs/guides/static-site-generation/"
|
|
11
|
+
],
|
|
12
|
+
"nextSteps": {
|
|
13
|
+
"lines": [
|
|
14
|
+
"You have to change the 'origin' url under ssgAdapter",
|
|
15
|
+
"inside './adapters/ssg/vite.config.ts'"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"type": "module"
|
|
20
|
+
}
|
|
@@ -4,12 +4,12 @@ This starter site is configured to deploy to [Vercel Edge Functions](https://ver
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
-
The adaptor will add a new `vite.config.
|
|
7
|
+
The adaptor will add a new `vite.config.ts` within the `adapters/` directory, and a new entry file will be created, such as:
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
└── adapters/
|
|
11
11
|
└── vercel-edge/
|
|
12
|
-
└── vite.config.
|
|
12
|
+
└── vite.config.ts
|
|
13
13
|
└── src/
|
|
14
14
|
└── entry.vercel-edge.tsx
|
|
15
15
|
```
|
package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { vercelEdgeAdapter } from "@qwik.dev/router/adapters/vercel-edge/vite";
|
|
2
2
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
-
import baseConfig from "../../vite.config.
|
|
3
|
+
import baseConfig from "../../vite.config.ts";
|
|
4
4
|
|
|
5
5
|
export default extendConfig(baseConfig, () => {
|
|
6
6
|
return {
|
|
7
7
|
build: {
|
|
8
8
|
ssr: true,
|
|
9
|
-
|
|
10
|
-
input: ["src/entry.vercel-edge.tsx"
|
|
9
|
+
rolldownOptions: {
|
|
10
|
+
input: ["src/entry.vercel-edge.tsx"],
|
|
11
11
|
},
|
|
12
12
|
outDir: ".vercel/output/functions/_qwik-router.func",
|
|
13
13
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Vercel Edge Functions",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/vercel-edge/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/vercel-edge/vite.config.ts",
|
|
5
5
|
"deploy": "vercel deploy"
|
|
6
6
|
},
|
|
7
7
|
"devDependencies": {
|
|
@@ -24,5 +24,6 @@
|
|
|
24
24
|
"- pnpm run deploy: it will use the Vercel CLI to deploy your site"
|
|
25
25
|
]
|
|
26
26
|
}
|
|
27
|
-
}
|
|
27
|
+
},
|
|
28
|
+
"type": "module"
|
|
28
29
|
}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/vercel-edge/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformVercel,
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
import render from "./entry.ssr";
|
|
16
15
|
|
|
17
16
|
declare global {
|
|
18
|
-
|
|
17
|
+
type QwikRouterPlatform = PlatformVercel;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|