@qwik.dev/core 2.0.0-beta.4 → 2.0.0-beta.41

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 (151) hide show
  1. package/dist/backpatch/index.d.ts +2 -0
  2. package/dist/backpatch/index.mjs +5 -0
  3. package/dist/backpatch/package.json +8 -0
  4. package/dist/backpatch-executor.debug.js +59 -0
  5. package/dist/backpatch-executor.js +1 -0
  6. package/dist/build/package.json +1 -1
  7. package/dist/cli.mjs +12974 -0
  8. package/dist/core-internal.d.ts +1579 -818
  9. package/dist/core.min.mjs +9 -1
  10. package/dist/core.mjs +14777 -9194
  11. package/dist/core.mjs.map +1 -1
  12. package/dist/core.prod.mjs +10480 -5372
  13. package/dist/insights/index.qwik.mjs +82 -71
  14. package/dist/insights/vite/index.mjs +79 -81
  15. package/dist/loader/index.mjs +2 -2
  16. package/dist/loader/package.json +1 -1
  17. package/dist/optimizer.d.ts +78 -295
  18. package/dist/optimizer.mjs +2948 -4088
  19. package/dist/out-of-order-executor.debug.js +140 -0
  20. package/dist/out-of-order-executor.js +1 -0
  21. package/dist/preloader.mjs +172 -192
  22. package/dist/qwikloader.debug.js +403 -244
  23. package/dist/qwikloader.js +1 -1
  24. package/dist/server-modules.d.ts +1 -0
  25. package/dist/server.d.ts +54 -249
  26. package/dist/server.mjs +2332 -1407
  27. package/dist/server.prod.mjs +3844 -0
  28. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +3 -3
  29. package/dist/starters/adapters/aws-lambda/package.json +3 -2
  30. package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +2 -6
  31. package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts} +3 -3
  32. package/dist/starters/adapters/azure-swa/package.json +3 -2
  33. package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +2 -3
  34. package/dist/starters/adapters/bun/adapters/bun/{vite.config.mts → vite.config.ts} +4 -4
  35. package/dist/starters/adapters/bun/package.json +3 -2
  36. package/dist/starters/adapters/bun/src/entry.bun.ts +37 -10
  37. package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +3 -3
  38. package/dist/starters/adapters/cloud-run/package.json +3 -2
  39. package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +23 -7
  40. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +3 -3
  41. package/dist/starters/adapters/cloudflare-pages/package.json +3 -2
  42. package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +2 -3
  43. package/dist/starters/adapters/cloudflare-workers/README.md +52 -0
  44. package/dist/starters/adapters/cloudflare-workers/adapters/cloudflare-workers/vite.config.ts +15 -0
  45. package/dist/starters/adapters/cloudflare-workers/gitignore +3 -0
  46. package/dist/starters/adapters/cloudflare-workers/package.json +31 -0
  47. package/dist/starters/adapters/cloudflare-workers/public/.assetsignore +4 -0
  48. package/dist/starters/adapters/cloudflare-workers/public/_headers +11 -0
  49. package/dist/starters/adapters/cloudflare-workers/public/_redirects +1 -0
  50. package/dist/starters/adapters/cloudflare-workers/src/entry.cloudflare-pages.tsx +22 -0
  51. package/dist/starters/adapters/cloudflare-workers/worker-configuration.d.ts +5 -0
  52. package/dist/starters/adapters/cloudflare-workers/wrangler.jsonc +41 -0
  53. package/dist/starters/adapters/deno/adapters/deno/{vite.config.mts → vite.config.ts} +3 -3
  54. package/dist/starters/adapters/deno/package.json +3 -2
  55. package/dist/starters/adapters/deno/src/entry.deno.ts +43 -10
  56. package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +3 -3
  57. package/dist/starters/adapters/express/package.json +4 -3
  58. package/dist/starters/adapters/express/src/entry.express.tsx +22 -7
  59. package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +3 -3
  60. package/dist/starters/adapters/fastify/package.json +5 -4
  61. package/dist/starters/adapters/fastify/src/entry.fastify.tsx +21 -1
  62. package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +11 -4
  63. package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +3 -3
  64. package/dist/starters/adapters/firebase/package.json +3 -2
  65. package/dist/starters/adapters/firebase/src/entry-firebase.tsx +2 -3
  66. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts} +3 -3
  67. package/dist/starters/adapters/netlify-edge/package.json +5 -4
  68. package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +2 -3
  69. package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts} +3 -3
  70. package/dist/starters/adapters/node-server/package.json +3 -2
  71. package/dist/starters/adapters/node-server/src/entry.node-server.tsx +22 -6
  72. package/dist/starters/adapters/{static/adapters/static/vite.config.mts → ssg/adapters/ssg/vite.config.ts} +4 -4
  73. package/dist/starters/adapters/ssg/package.json +20 -0
  74. package/dist/starters/adapters/vercel-edge/README.md +2 -2
  75. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts} +3 -3
  76. package/dist/starters/adapters/vercel-edge/package.json +3 -2
  77. package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +2 -3
  78. package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
  79. package/dist/starters/features/auth/package.json +1 -1
  80. package/dist/starters/features/compiled-i18n/package.json +37 -0
  81. package/dist/starters/features/compiled-i18n/src/components/locale-selector/locale-selector.tsx +30 -0
  82. package/dist/starters/features/compiled-i18n/src/entry.ssr.tsx +31 -0
  83. package/dist/starters/features/compiled-i18n/src/routes/plugin@compiled-i18n.ts +28 -0
  84. package/dist/starters/features/csr/index.html +27 -0
  85. package/dist/starters/features/csr/package.json +29 -0
  86. package/dist/starters/features/csr/src/root.tsx +15 -0
  87. package/dist/starters/features/csr/vite.config.ts +13 -0
  88. package/dist/starters/features/cypress/src/actions/example.action.ts +5 -0
  89. package/dist/starters/features/cypress/src/components/example/example.cy.tsx +50 -8
  90. package/dist/starters/features/cypress/src/components/example/example.tsx +13 -3
  91. package/dist/starters/features/cypress/src/loaders/example.loader.ts +5 -0
  92. package/dist/starters/features/drizzle/package.json +1 -1
  93. package/dist/starters/features/pandacss/package.json +1 -1
  94. package/dist/starters/features/postcss/postcss.config.js +1 -1
  95. package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
  96. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  97. package/dist/starters/features/tailwind/package.json +2 -2
  98. package/dist/starters/features/tailwind/prettier.config.js +10 -0
  99. package/dist/starters/features/tailwind-v3/package.json +1 -1
  100. package/dist/starters/features/tailwind-v3/prettier.config.js +10 -0
  101. package/dist/starters/features/vitest/package.json +1 -1
  102. package/dist/testing/index.d.ts +1000 -7
  103. package/dist/testing/index.mjs +16487 -11656
  104. package/dist/testing/package.json +1 -1
  105. package/dist/worker/index.d.mts +21 -0
  106. package/dist/worker/index.mjs +251 -0
  107. package/dist/worker/package.json +9 -0
  108. package/dist/worker/worker.js +13 -0
  109. package/dist/worker/worker.node.js +15 -0
  110. package/dist/worker/worker.shared.js +63 -0
  111. package/handlers.mjs +21 -1
  112. package/package.json +40 -56
  113. package/public.d.ts +12 -2
  114. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  115. package/server.d.ts +2 -0
  116. package/worker.d.ts +2 -0
  117. package/bindings/qwik.darwin-arm64.node +0 -0
  118. package/bindings/qwik.darwin-x64.node +0 -0
  119. package/bindings/qwik.linux-x64-gnu.node +0 -0
  120. package/bindings/qwik.wasm.cjs +0 -471
  121. package/bindings/qwik.wasm.mjs +0 -464
  122. package/bindings/qwik.win32-x64-msvc.node +0 -0
  123. package/bindings/qwik_wasm_bg.wasm +0 -0
  124. package/dist/build/index.cjs +0 -35
  125. package/dist/build/index.cjs.map +0 -7
  126. package/dist/build/index.dev.cjs +0 -37
  127. package/dist/build/index.dev.cjs.map +0 -7
  128. package/dist/build/index.prod.cjs +0 -37
  129. package/dist/build/index.prod.cjs.map +0 -7
  130. package/dist/cli.cjs +0 -5545
  131. package/dist/core.cjs +0 -11870
  132. package/dist/core.cjs.map +0 -1
  133. package/dist/core.prod.cjs +0 -5723
  134. package/dist/insights/index.qwik.cjs +0 -1
  135. package/dist/insights/vite/index.cjs +0 -1
  136. package/dist/loader/index.cjs +0 -4
  137. package/dist/optimizer.cjs +0 -4020
  138. package/dist/preloader.cjs +0 -269
  139. package/dist/server.cjs +0 -3040
  140. package/dist/starters/adapters/static/package.json +0 -19
  141. package/dist/starters/features/localize/package.json +0 -37
  142. package/dist/starters/features/localize/src/entry.ssr.tsx +0 -30
  143. package/dist/starters/features/localize/src/locales/message.en.json +0 -8
  144. package/dist/starters/features/localize/src/locales/message.it.json +0 -8
  145. package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +0 -94
  146. package/dist/starters/features/localize/src/routes/[locale]/index.tsx +0 -52
  147. package/dist/starters/features/localize/src/routes/[locale]/layout.tsx +0 -12
  148. package/dist/starters/features/playwright/playwright-report/index.html +0 -22026
  149. package/dist/starters/features/tailwind/.prettierrc.js +0 -3
  150. package/dist/testing/index.cjs +0 -33388
  151. /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 qwikRouterConfig from "@qwik-router-config";
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, notFound, staticFile } = createQwikRouter({
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
- const qwikRouterResponse = await router(request, info);
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.mts";
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
- rollupOptions: {
10
- input: ["src/entry.express.tsx", "@qwik-router-config"],
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.mts",
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.20.0"
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 qwikRouterConfig from "@qwik-router-config";
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
- interface QwikRouterPlatform extends PlatformNode {}
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, notFound } = createQwikRouter({
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.mts";
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
- rollupOptions: {
10
- input: ["src/entry.fastify.tsx", "@qwik-router-config"],
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.mts",
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": "^6.10.1",
10
- "fastify": "^4.17.0",
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
- interface QwikRouterPlatform extends PlatformNode {}
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, notFound } = createQwikRouter({ render, qwikRouterConfig });
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(request.raw, response.raw, (err) => fastify.log.error(err));
48
- await notFound(request.raw, response.raw, (err) => fastify.log.error(err));
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
 
@@ -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.mts";
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
- rollupOptions: {
15
- input: ["./src/entry-firebase.tsx", "@qwik-router-config"],
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.mts",
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
- interface QwikRouterPlatform extends PlatformFirebase {}
17
+ type QwikRouterPlatform = PlatformFirebase;
19
18
  }
20
19
 
21
- export default createQwikRouter({ render, qwikRouterConfig });
20
+ export default createQwikRouter({ render });
@@ -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.mts";
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
- rollupOptions: {
10
- input: ["src/entry.netlify-edge.tsx", "@qwik-router-config"],
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.mts",
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": "^2.0.0",
9
- "netlify-cli": "^15.0.0"
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
- interface QwikRouterPlatform extends PlatformNetlify {}
17
+ type QwikRouterPlatform = PlatformNetlify;
19
18
  }
20
19
 
21
- export default createQwikRouter({ render, qwikRouterConfig });
20
+ export default createQwikRouter({ render });
@@ -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.mts";
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
- rollupOptions: {
10
- input: ["src/entry.node-server.tsx", "@qwik-router-config"],
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.mts",
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 qwikRouterConfig from "@qwik-router-config";
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, notFound, staticFile } = createQwikRouter({
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 { staticAdapter } from "@qwik.dev/router/adapters/static/vite";
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.mts";
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
- rollupOptions: {
9
+ rolldownOptions: {
10
10
  input: ["@qwik-router-config"],
11
11
  },
12
12
  },
13
13
  plugins: [
14
- staticAdapter({
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.mts` within the `adapters/` directory, and a new entry file will be created, such as:
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.mts
12
+ └── vite.config.ts
13
13
  └── src/
14
14
  └── entry.vercel-edge.tsx
15
15
  ```
@@ -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.mts";
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
- rollupOptions: {
10
- input: ["src/entry.vercel-edge.tsx", "@qwik-router-config"],
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.mts",
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
- interface QwikRouterPlatform extends PlatformVercel {}
17
+ type QwikRouterPlatform = PlatformVercel;
19
18
  }
20
19
 
21
- export default createQwikRouter({ render, qwikRouterConfig });
20
+ export default createQwikRouter({ render });
@@ -10,7 +10,7 @@
10
10
  ]
11
11
  },
12
12
  {
13
- "source": "/(assets|build)/.*",
13
+ "source": "/(assets|build)/(.*)",
14
14
  "headers": [
15
15
  {
16
16
  "key": "Cache-Control",
@@ -17,6 +17,6 @@
17
17
  }
18
18
  },
19
19
  "devDependencies": {
20
- "@auth/qwik": "0.5.4"
20
+ "@auth/qwik": "0.8.0"
21
21
  }
22
22
  }