@qwik.dev/core 2.0.0-beta.2 → 2.0.0-beta.21
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/bindings/qwik.darwin-arm64.node +0 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.win32-x64-msvc.node +0 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- 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 +39 -0
- package/dist/backpatch-executor.js +1 -0
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +5633 -0
- package/dist/core-internal.d.ts +673 -396
- package/dist/core.min.mjs +2 -1
- package/dist/core.mjs +10168 -8294
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +5745 -4592
- package/dist/insights/vite/index.mjs +10 -10
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.d.ts +16 -38
- package/dist/optimizer.mjs +2608 -3719
- package/dist/preloader.mjs +8 -11
- package/dist/qwikloader.debug.js +152 -132
- package/dist/qwikloader.js +1 -1
- package/dist/server.d.ts +38 -15
- package/dist/server.mjs +1209 -927
- package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +2 -2
- 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} +2 -2
- 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} +3 -3
- package/dist/starters/adapters/bun/package.json +3 -2
- package/dist/starters/adapters/bun/src/entry.bun.ts +0 -2
- package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +2 -2
- package/dist/starters/adapters/cloud-run/package.json +3 -2
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +1 -3
- package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +2 -2
- 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} +2 -2
- package/dist/starters/adapters/deno/package.json +3 -2
- package/dist/starters/adapters/deno/src/entry.deno.ts +0 -2
- package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +2 -2
- package/dist/starters/adapters/express/package.json +4 -3
- package/dist/starters/adapters/express/src/entry.express.tsx +1 -3
- package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +2 -2
- package/dist/starters/adapters/fastify/package.json +3 -2
- package/dist/starters/adapters/fastify/src/entry.fastify.tsx +1 -1
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
- package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +2 -2
- 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} +2 -2
- package/dist/starters/adapters/netlify-edge/package.json +3 -2
- 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} +2 -2
- package/dist/starters/adapters/node-server/package.json +3 -2
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +0 -2
- package/dist/starters/adapters/{static/adapters/static/vite.config.mts → ssg/adapters/ssg/vite.config.ts} +3 -3
- 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} +2 -2
- 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 +23 -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/pandacss/package.json +1 -1
- package/dist/starters/features/playwright/playwright-report/index.html +953 -930
- 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/testing/index.d.ts +775 -6
- package/dist/testing/index.mjs +14298 -10837
- package/dist/testing/package.json +1 -1
- package/handlers.mjs +1 -1
- package/package.json +30 -55
- package/public.d.ts +3 -1
- package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
- package/server.d.ts +2 -0
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.wasm.cjs +0 -471
- 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 -11754
- package/dist/core.cjs.map +0 -1
- package/dist/core.prod.cjs +0 -5647
- 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 -3027
- 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/tailwind/.prettierrc.js +0 -3
- package/dist/testing/index.cjs +0 -33287
- /package/dist/starters/adapters/{static → ssg}/README.md +0 -0
package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{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: {
|
|
@@ -13,7 +13,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
13
13
|
minify: false,
|
|
14
14
|
ssr: true,
|
|
15
15
|
rollupOptions: {
|
|
16
|
-
input: ["./src/entry_aws-lambda.tsx"
|
|
16
|
+
input: ["./src/entry_aws-lambda.tsx"],
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
plugins: [nodeServerAdapter({ name: "aws-lambda" })],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "AWS Lambda",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/aws-lambda/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/aws-lambda/vite.config.ts",
|
|
5
5
|
"serve": "qwik build && serverless offline",
|
|
6
6
|
"deploy": "serverless deploy"
|
|
7
7
|
},
|
|
@@ -19,5 +19,6 @@
|
|
|
19
19
|
"https://aws.amazon.com/es/lambda/",
|
|
20
20
|
"https://www.serverless.com/cloud/docs/get-started"
|
|
21
21
|
]
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
|
+
"type": "module"
|
|
23
24
|
}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/aws/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformAwsLambda,
|
|
@@ -17,13 +16,10 @@ import "source-map-support/register";
|
|
|
17
16
|
import render from "./entry.ssr";
|
|
18
17
|
|
|
19
18
|
declare global {
|
|
20
|
-
|
|
19
|
+
type QwikRouterPlatform = PlatformAwsLambda;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
export const { handle } = createQwikRouter({
|
|
24
|
-
render,
|
|
25
|
-
qwikRouterConfig,
|
|
26
|
-
});
|
|
22
|
+
export const { handle } = createQwikRouter({ render });
|
|
27
23
|
|
|
28
24
|
export const qwikApp = serverless({ handle }, { binary: true });
|
|
29
25
|
// handler is the default export for the lambda functions
|
package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { azureSwaAdapter } from "@qwik.dev/router/adapters/azure-swa/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 {
|
|
@@ -8,7 +8,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
8
8
|
ssr: true,
|
|
9
9
|
outDir: "azure-functions/render",
|
|
10
10
|
rollupOptions: {
|
|
11
|
-
input: ["src/entry.azure-swa.tsx"
|
|
11
|
+
input: ["src/entry.azure-swa.tsx"],
|
|
12
12
|
output: {
|
|
13
13
|
entryFileNames: `[name].[hash].mjs`,
|
|
14
14
|
chunkFileNames: `[name].[hash].mjs`,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Azure Static Web Apps",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/azure-swa/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/azure-swa/vite.config.ts",
|
|
5
5
|
"serve": "swa start"
|
|
6
6
|
},
|
|
7
7
|
"devDependencies": {
|
|
@@ -24,5 +24,6 @@
|
|
|
24
24
|
"- pnpm run deploy: it will use the SWA 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/azure-swa/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformAzure,
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
import render from "./entry.ssr";
|
|
16
15
|
|
|
17
16
|
declare global {
|
|
18
|
-
|
|
17
|
+
type QwikRouterPlatform = PlatformAzure;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export default createQwikRouter({ render
|
|
20
|
+
export default createQwikRouter({ render });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { bunServerAdapter } from "@qwik.dev/router/adapters/bun-server/vite";
|
|
2
2
|
import { _TextEncoderStream_polyfill } from "@qwik.dev/router/middleware/request-handler";
|
|
3
3
|
import { extendConfig } from "@qwik.dev/router/vite";
|
|
4
|
-
import baseConfig from "../../vite.config.
|
|
4
|
+
import baseConfig from "../../vite.config.ts";
|
|
5
5
|
|
|
6
6
|
// This polyfill is required when you use SSG and build your app with Bun, because Bun does not have TextEncoderStream. See: https://github.com/oven-sh/bun/issues/5648
|
|
7
7
|
globalThis.TextEncoderStream ||= _TextEncoderStream_polyfill;
|
|
@@ -11,7 +11,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
11
11
|
build: {
|
|
12
12
|
ssr: true,
|
|
13
13
|
rollupOptions: {
|
|
14
|
-
input: ["src/entry.bun.ts"
|
|
14
|
+
input: ["src/entry.bun.ts"],
|
|
15
15
|
},
|
|
16
16
|
minify: false,
|
|
17
17
|
},
|
|
@@ -20,7 +20,7 @@ export default extendConfig(baseConfig, () => {
|
|
|
20
20
|
ssg: {
|
|
21
21
|
include: ["/*"],
|
|
22
22
|
origin: "https://yoursite.dev",
|
|
23
|
-
maxWorkers: 1, // Limit Workers to 1, otherwise SSG will hang when compiling Qwik
|
|
23
|
+
maxWorkers: 1, // Limit Workers to 1, otherwise SSG will hang when compiling Qwik Router app with `bun run --bun build`.
|
|
24
24
|
},
|
|
25
25
|
}),
|
|
26
26
|
],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Bun server",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/bun/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/bun/vite.config.ts",
|
|
5
5
|
"serve": "bun server/entry.bun.js"
|
|
6
6
|
},
|
|
7
7
|
"__qwik__": {
|
|
@@ -23,5 +23,6 @@
|
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/bun": "*"
|
|
26
|
-
}
|
|
26
|
+
},
|
|
27
|
+
"type": "module"
|
|
27
28
|
}
|
|
@@ -8,14 +8,12 @@
|
|
|
8
8
|
* - https://bun.sh/docs/api/http
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
12
11
|
import { createQwikRouter } from "@qwik.dev/router/middleware/bun";
|
|
13
12
|
import render from "./entry.ssr";
|
|
14
13
|
|
|
15
14
|
// Create the Qwik Router Bun middleware
|
|
16
15
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
17
16
|
render,
|
|
18
|
-
qwikRouterConfig,
|
|
19
17
|
static: {
|
|
20
18
|
cacheControl: "public, max-age=31536000, immutable",
|
|
21
19
|
},
|
package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { cloudRunAdapter } from "@qwik.dev/router/adapters/cloud-run/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
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.cloud-run.tsx"
|
|
10
|
+
input: ["src/entry.cloud-run.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [cloudRunAdapter()],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Google Cloud Run server",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/cloud-run/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/cloud-run/vite.config.ts",
|
|
5
5
|
"deploy": "gcloud run deploy my-cloud-run-app --source ."
|
|
6
6
|
},
|
|
7
7
|
"__qwik__": {
|
|
@@ -20,5 +20,6 @@
|
|
|
20
20
|
"- pnpm run deploy: it will use the gcloud CLI to deploy your site"
|
|
21
21
|
]
|
|
22
22
|
}
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"type": "module"
|
|
24
25
|
}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/gcp-cloud-run/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformNode,
|
|
@@ -16,7 +15,7 @@ import { createServer } from "node:http";
|
|
|
16
15
|
import render from "./entry.ssr";
|
|
17
16
|
|
|
18
17
|
declare global {
|
|
19
|
-
|
|
18
|
+
type QwikRouterPlatform = PlatformNode;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
/** The default headers used by helmet */
|
|
@@ -50,7 +49,6 @@ const DEFAULT_HEADERS = {
|
|
|
50
49
|
|
|
51
50
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
52
51
|
render,
|
|
53
|
-
qwikRouterConfig,
|
|
54
52
|
static: {
|
|
55
53
|
cacheControl: "public, max-age=31536000, immutable",
|
|
56
54
|
},
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { cloudflarePagesAdapter } from "@qwik.dev/router/adapters/cloudflare-pages/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
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.cloudflare-pages.tsx"
|
|
10
|
+
input: ["src/entry.cloudflare-pages.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [cloudflarePagesAdapter()],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Cloudflare Pages",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/cloudflare-pages/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/cloudflare-pages/vite.config.ts",
|
|
5
5
|
"deploy": "wrangler pages deploy ./dist",
|
|
6
6
|
"serve": "wrangler pages dev ./dist --compatibility-flags=nodejs_als"
|
|
7
7
|
},
|
|
@@ -24,5 +24,6 @@
|
|
|
24
24
|
"- pnpm run deploy: it will use the Cloudflare 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/cloudflare-pages/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformCloudflarePages,
|
|
@@ -15,9 +14,9 @@ import {
|
|
|
15
14
|
import render from "./entry.ssr";
|
|
16
15
|
|
|
17
16
|
declare global {
|
|
18
|
-
|
|
17
|
+
type QwikRouterPlatform = PlatformCloudflarePages;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
const fetch = createQwikRouter({ render
|
|
20
|
+
const fetch = createQwikRouter({ render });
|
|
22
21
|
|
|
23
22
|
export { fetch };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
## Cloudflare Workers
|
|
2
|
+
|
|
3
|
+
Cloudflare's [wrangler](https://github.com/cloudflare/wrangler) CLI can be used to preview a production build locally. To start a local server, run:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
npm run serve
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then visit [http://localhost:8787/](http://localhost:8787/)
|
|
10
|
+
|
|
11
|
+
### Deployments
|
|
12
|
+
|
|
13
|
+
[Cloudflare Workers](https://workers.cloudflare.com/) can be deployed using the [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/).
|
|
14
|
+
|
|
15
|
+
If you don't already have an account, then [create a Cloudflare account here](https://dash.cloudflare.com/sign-up/workers-and-pages).
|
|
16
|
+
|
|
17
|
+
Once authenticated, you can deploy your Worker:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
npm run deploy
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Configuration
|
|
24
|
+
|
|
25
|
+
The `wrangler.jsonc` file contains your Worker configuration. Key settings include:
|
|
26
|
+
|
|
27
|
+
- **name**: Your Worker's name
|
|
28
|
+
- **main**: Path to your Worker script (default: `./dist/_worker.js`)
|
|
29
|
+
- **compatibility_date**: The date used for compatibility with the Workers runtime
|
|
30
|
+
- **assets**: Configuration for serving static assets
|
|
31
|
+
- **bindings**: Resources your Worker can interact with (KV, R2, D1, etc.)
|
|
32
|
+
|
|
33
|
+
After adding any binding, use this command to regenerate the worker-configuration.d.ts file
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
npm run cf-typegen
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
For more details, see the [Wrangler configuration documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
|
|
40
|
+
|
|
41
|
+
### Bindings
|
|
42
|
+
|
|
43
|
+
Cloudflare Workers can interact with various Cloudflare resources through bindings:
|
|
44
|
+
|
|
45
|
+
- **KV**: Key-value storage
|
|
46
|
+
- **R2**: Object storage
|
|
47
|
+
- **D1**: SQL database
|
|
48
|
+
- **Durable Objects**: Strongly consistent storage
|
|
49
|
+
- **Queues**: Message queues
|
|
50
|
+
- **AI**: AI inference
|
|
51
|
+
|
|
52
|
+
Configure bindings in your `wrangler.jsonc` file. See the [bindings documentation](https://developers.cloudflare.com/workers/runtime-apis/bindings/) for more information.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cloudflarePagesAdapter as cloudflareWorkersAdapter } from "@builder.io/qwik-city/adapters/cloudflare-pages/vite";
|
|
2
|
+
import { extendConfig } from "@builder.io/qwik-city/vite";
|
|
3
|
+
import baseConfig from "../../vite.config";
|
|
4
|
+
|
|
5
|
+
export default extendConfig(baseConfig, () => {
|
|
6
|
+
return {
|
|
7
|
+
build: {
|
|
8
|
+
ssr: true,
|
|
9
|
+
rollupOptions: {
|
|
10
|
+
input: ["src/entry.cloudflare-pages.tsx", "@qwik-city-plan"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
plugins: [cloudflareWorkersAdapter()],
|
|
14
|
+
};
|
|
15
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Cloudflare Workers",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/cloudflare-workers/vite.config.ts",
|
|
5
|
+
"deploy": "wrangler deploy",
|
|
6
|
+
"serve": "wrangler dev",
|
|
7
|
+
"cf-typegen": "wrangler types"
|
|
8
|
+
},
|
|
9
|
+
"devDependencies": {
|
|
10
|
+
"@cloudflare/workers-types": "^4.20251228.0",
|
|
11
|
+
"wrangler": "^3.0.0"
|
|
12
|
+
},
|
|
13
|
+
"__qwik__": {
|
|
14
|
+
"priority": 40,
|
|
15
|
+
"displayName": "Adapter: Cloudflare Workers",
|
|
16
|
+
"docs": [
|
|
17
|
+
"https://qwik.dev/deployments/cloudflare-workers/",
|
|
18
|
+
"https://developers.cloudflare.com/workers"
|
|
19
|
+
],
|
|
20
|
+
"nextSteps": {
|
|
21
|
+
"title": "Next Steps",
|
|
22
|
+
"lines": [
|
|
23
|
+
"Make sure to follow the instructions in the [Cloudflare Workers documentation](https://qwik.dev/deployments/cloudflare-workers/) to setup your Qwik app.",
|
|
24
|
+
"Now you can build and deploy to Cloudflare Workers with:",
|
|
25
|
+
"",
|
|
26
|
+
"- pnpm run build: production build for Cloudflare",
|
|
27
|
+
"- pnpm run deploy: it will use the Cloudflare CLI to deploy your site"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# https://developers.cloudflare.com/pages/platform/headers/
|
|
2
|
+
|
|
3
|
+
/*service-worker.js
|
|
4
|
+
Cache-Control: no-store
|
|
5
|
+
Content-Type: application/javascript
|
|
6
|
+
X-Content-Type-Options: nosniff
|
|
7
|
+
|
|
8
|
+
/build/*
|
|
9
|
+
Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
|
|
10
|
+
/assets/*
|
|
11
|
+
Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# https://developers.cloudflare.com/pages/platform/redirects/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* It's the entry point for Cloudflare Workers when building for production.
|
|
5
|
+
*
|
|
6
|
+
* Learn more about the Cloudflare Workers integration here:
|
|
7
|
+
* - https://qwik.dev/docs/deployments/cloudflare-workers/
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import {
|
|
11
|
+
createQwikCity,
|
|
12
|
+
type PlatformCloudflarePages as PlatformCloudflareWorkers,
|
|
13
|
+
} from "@builder.io/qwik-city/middleware/cloudflare-pages";
|
|
14
|
+
import qwikCityPlan from "@qwik-city-plan";
|
|
15
|
+
import render from "./entry.ssr";
|
|
16
|
+
|
|
17
|
+
declare global {
|
|
18
|
+
type QwikCityPlatform = PlatformCloudflareWorkers;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const fetch = createQwikCity({ render, qwikCityPlan });
|
|
22
|
+
|
|
23
|
+
export { fetch };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* For more details on how to configure Wrangler, refer to:
|
|
3
|
+
* https://developers.cloudflare.com/workers/wrangler/configuration/
|
|
4
|
+
*/
|
|
5
|
+
{
|
|
6
|
+
"$schema": "node_modules/wrangler/config-schema.json",
|
|
7
|
+
"name": "my-qwik-app",
|
|
8
|
+
"main": "./dist/_worker.js",
|
|
9
|
+
"compatibility_date": "2025-12-28",
|
|
10
|
+
"compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"],
|
|
11
|
+
"assets": {
|
|
12
|
+
"binding": "ASSET",
|
|
13
|
+
"directory": "./dist",
|
|
14
|
+
},
|
|
15
|
+
"observability": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
},
|
|
18
|
+
/**
|
|
19
|
+
* Smart Placement
|
|
20
|
+
* https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement
|
|
21
|
+
*/
|
|
22
|
+
// "placement": { "mode": "smart" }
|
|
23
|
+
/**
|
|
24
|
+
* Bindings
|
|
25
|
+
* Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform, including
|
|
26
|
+
* databases, object storage, AI inference, real-time communication and more.
|
|
27
|
+
* https://developers.cloudflare.com/workers/runtime-apis/bindings/
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Environment Variables
|
|
31
|
+
* https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables
|
|
32
|
+
* Note: Use secrets to store sensitive data.
|
|
33
|
+
* https://developers.cloudflare.com/workers/configuration/secrets/
|
|
34
|
+
*/
|
|
35
|
+
// "vars": { "MY_VARIABLE": "production_value" }
|
|
36
|
+
/**
|
|
37
|
+
* Service Bindings (communicate between multiple Workers)
|
|
38
|
+
* https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings
|
|
39
|
+
*/
|
|
40
|
+
// "services": [ { "binding": "MY_SERVICE", "service": "my-service" } ]
|
|
41
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { denoServerAdapter } from "@qwik.dev/router/adapters/deno-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
9
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.deno.ts"
|
|
10
|
+
input: ["src/entry.deno.ts"],
|
|
11
11
|
},
|
|
12
12
|
minify: false,
|
|
13
13
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "Deno server",
|
|
3
3
|
"scripts": {
|
|
4
|
-
"build.server": "vite build -c adapters/deno/vite.config.
|
|
4
|
+
"build.server": "qwik check-client src dist && vite build -c adapters/deno/vite.config.ts",
|
|
5
5
|
"serve": "deno run --allow-net --allow-read --allow-env server/entry.deno.js"
|
|
6
6
|
},
|
|
7
7
|
"__qwik__": {
|
|
@@ -20,5 +20,6 @@
|
|
|
20
20
|
"- pnpm run serve: runs the production server locally"
|
|
21
21
|
]
|
|
22
22
|
}
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"type": "module"
|
|
24
25
|
}
|
|
@@ -8,14 +8,12 @@
|
|
|
8
8
|
* - https://docs.deno.com/runtime/tutorials/http_server
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
12
11
|
import { createQwikRouter } from "@qwik.dev/router/middleware/deno";
|
|
13
12
|
import render from "./entry.ssr";
|
|
14
13
|
|
|
15
14
|
// Create the Qwik Router Deno middleware
|
|
16
15
|
const { router, notFound, staticFile } = createQwikRouter({
|
|
17
16
|
render,
|
|
18
|
-
qwikRouterConfig,
|
|
19
17
|
static: {
|
|
20
18
|
cacheControl: "public, max-age=31536000, immutable",
|
|
21
19
|
},
|
|
@@ -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
9
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.express.tsx"
|
|
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,6 @@
|
|
|
7
7
|
* - https://qwik.dev/docs/deployments/node/
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import qwikRouterConfig from "@qwik-router-config";
|
|
11
10
|
import {
|
|
12
11
|
createQwikRouter,
|
|
13
12
|
type PlatformNode,
|
|
@@ -19,7 +18,7 @@ import { fileURLToPath } from "node:url";
|
|
|
19
18
|
import render from "./entry.ssr";
|
|
20
19
|
|
|
21
20
|
declare global {
|
|
22
|
-
|
|
21
|
+
type QwikRouterPlatform = PlatformNode;
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
// Directories where the static assets are located
|
|
@@ -33,7 +32,6 @@ const PORT = process.env.PORT ?? 3000;
|
|
|
33
32
|
// Create the Qwik Router Node middleware
|
|
34
33
|
const { router, notFound } = createQwikRouter({
|
|
35
34
|
render,
|
|
36
|
-
qwikRouterConfig,
|
|
37
35
|
// getOrigin(req) {
|
|
38
36
|
// // If deploying under a proxy, you may need to build the origin from the request headers
|
|
39
37
|
// // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto
|
|
@@ -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
9
|
rollupOptions: {
|
|
10
|
-
input: ["src/entry.fastify.tsx"
|
|
10
|
+
input: ["src/entry.fastify.tsx"],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
plugins: [nodeServerAdapter({ name: "fastify" })],
|
|
@@ -1,7 +1,7 @@
|
|
|
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": {
|
|
@@ -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
|
}
|
|
@@ -15,7 +15,7 @@ import { fileURLToPath } from "node:url";
|
|
|
15
15
|
import FastifyQwik from "./plugins/fastify-qwik";
|
|
16
16
|
|
|
17
17
|
declare global {
|
|
18
|
-
|
|
18
|
+
type QwikRouterPlatform = PlatformNode;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// Directories where the static assets are located
|