@qwik.dev/core 0.0.0 → 2.0.0-alpha.0
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/LICENSE +22 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.wasm.cjs +484 -0
- package/bindings/qwik.wasm.mjs +477 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- package/build.d.ts +2 -0
- package/dist/build/index.cjs +35 -0
- package/dist/build/index.cjs.map +7 -0
- package/dist/build/index.d.ts +22 -0
- package/dist/build/index.dev.cjs +37 -0
- package/dist/build/index.dev.cjs.map +7 -0
- package/dist/build/index.dev.mjs +12 -0
- package/dist/build/index.dev.mjs.map +7 -0
- package/dist/build/index.mjs +12 -0
- package/dist/build/index.mjs.map +7 -0
- package/dist/build/index.prod.cjs +37 -0
- package/dist/build/index.prod.cjs.map +7 -0
- package/dist/build/index.prod.mjs +12 -0
- package/dist/build/index.prod.mjs.map +7 -0
- package/dist/build/package.json +8 -0
- package/dist/cli.cjs +4890 -0
- package/dist/core-internal.d.ts +3895 -0
- package/dist/core.cjs +10923 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.min.mjs +1 -0
- package/dist/core.mjs +10819 -0
- package/dist/core.mjs.map +1 -0
- package/dist/core.prod.cjs +5181 -0
- package/dist/core.prod.mjs +6025 -0
- package/dist/index.d.ts +2 -0
- package/dist/insights/index.d.ts +1 -0
- package/dist/insights/index.qwik.cjs +751 -0
- package/dist/insights/index.qwik.mjs +751 -0
- package/dist/insights/insights.d.ts +59 -0
- package/dist/insights/vite/index.cjs +82 -0
- package/dist/insights/vite/index.d.ts +1 -0
- package/dist/insights/vite/index.mjs +55 -0
- package/dist/insights/vite/insights-plugin.d.ts +10 -0
- package/dist/jsx-runtime/index.d.ts +2 -0
- package/dist/jsx-runtime.d.ts +2 -0
- package/dist/loader/index.cjs +4 -0
- package/dist/loader/index.d.ts +2 -0
- package/dist/loader/index.mjs +3 -0
- package/dist/loader/package.json +8 -0
- package/dist/optimizer.cjs +9145 -0
- package/dist/optimizer.d.ts +707 -0
- package/dist/optimizer.mjs +9709 -0
- package/dist/prefetch/index.cjs +4 -0
- package/dist/prefetch/index.d.ts +2 -0
- package/dist/prefetch/index.mjs +3 -0
- package/dist/prefetch/package.json +8 -0
- package/dist/qwik-prefetch.debug.js +244 -0
- package/dist/qwik-prefetch.js +1 -0
- package/dist/qwikloader.debug.js +228 -0
- package/dist/qwikloader.js +3 -0
- package/dist/server-modules.d.ts +38 -0
- package/dist/server.cjs +8942 -0
- package/dist/server.d.ts +404 -0
- package/dist/server.mjs +8877 -0
- package/dist/starters/adapters/aws-lambda/.eslintignore +2 -0
- package/dist/starters/adapters/aws-lambda/.prettierignore +2 -0
- package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/vite.config.mts +21 -0
- package/dist/starters/adapters/aws-lambda/gitignore +2 -0
- package/dist/starters/adapters/aws-lambda/package.json +23 -0
- package/dist/starters/adapters/aws-lambda/serverless.yml +31 -0
- package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +32 -0
- package/dist/starters/adapters/azure-swa/README.md +13 -0
- package/dist/starters/adapters/azure-swa/adapters/azure-swa/vite.config.mts +23 -0
- package/dist/starters/adapters/azure-swa/azure-functions/host.json +20 -0
- package/dist/starters/adapters/azure-swa/gitignore +3 -0
- package/dist/starters/adapters/azure-swa/package.json +28 -0
- package/dist/starters/adapters/azure-swa/public/staticwebapp.config.json +23 -0
- package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +22 -0
- package/dist/starters/adapters/azure-swa/swa-cli.config.json +11 -0
- package/dist/starters/adapters/bun/README.md +9 -0
- package/dist/starters/adapters/bun/adapters/bun/vite.config.mts +28 -0
- package/dist/starters/adapters/bun/package.json +27 -0
- package/dist/starters/adapters/bun/src/entry.bun.ts +46 -0
- package/dist/starters/adapters/cloud-run/Dockerfile +24 -0
- package/dist/starters/adapters/cloud-run/README.md +7 -0
- package/dist/starters/adapters/cloud-run/adapters/cloud-run/vite.config.mts +15 -0
- package/dist/starters/adapters/cloud-run/package.json +24 -0
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +96 -0
- package/dist/starters/adapters/cloudflare-pages/README.md +46 -0
- package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/vite.config.mts +15 -0
- package/dist/starters/adapters/cloudflare-pages/gitignore +2 -0
- package/dist/starters/adapters/cloudflare-pages/package.json +28 -0
- package/dist/starters/adapters/cloudflare-pages/public/_headers +9 -0
- package/dist/starters/adapters/cloudflare-pages/public/_redirects +1 -0
- package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +24 -0
- package/dist/starters/adapters/deno/README.md +9 -0
- package/dist/starters/adapters/deno/adapters/deno/vite.config.mts +23 -0
- package/dist/starters/adapters/deno/package.json +24 -0
- package/dist/starters/adapters/deno/src/entry.deno.ts +45 -0
- package/dist/starters/adapters/express/README.md +9 -0
- package/dist/starters/adapters/express/adapters/express/vite.config.mts +15 -0
- package/dist/starters/adapters/express/package.json +33 -0
- package/dist/starters/adapters/express/src/entry.express.tsx +70 -0
- package/dist/starters/adapters/fastify/README.md +9 -0
- package/dist/starters/adapters/fastify/adapters/fastify/vite.config.mts +15 -0
- package/dist/starters/adapters/fastify/package.json +33 -0
- package/dist/starters/adapters/fastify/src/entry.fastify.tsx +48 -0
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +42 -0
- package/dist/starters/adapters/firebase/.eslintignore +1 -0
- package/dist/starters/adapters/firebase/.prettierignore +1 -0
- package/dist/starters/adapters/firebase/adapters/firebase/vite.config.mts +21 -0
- package/dist/starters/adapters/firebase/firebase.json +24 -0
- package/dist/starters/adapters/firebase/functions/.gitkeep +0 -0
- package/dist/starters/adapters/firebase/functions/index.js +5 -0
- package/dist/starters/adapters/firebase/functions/package.json +25 -0
- package/dist/starters/adapters/firebase/gitignore +3 -0
- package/dist/starters/adapters/firebase/package.json +24 -0
- package/dist/starters/adapters/firebase/src/entry-firebase.tsx +22 -0
- package/dist/starters/adapters/netlify-edge/README.md +64 -0
- package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/vite.config.mts +16 -0
- package/dist/starters/adapters/netlify-edge/gitignore +2 -0
- package/dist/starters/adapters/netlify-edge/netlify.toml +3 -0
- package/dist/starters/adapters/netlify-edge/package.json +29 -0
- package/dist/starters/adapters/netlify-edge/public/_headers +2 -0
- package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +22 -0
- package/dist/starters/adapters/node-server/README.md +12 -0
- package/dist/starters/adapters/node-server/adapters/node-server/vite.config.mts +15 -0
- package/dist/starters/adapters/node-server/package.json +23 -0
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +39 -0
- package/dist/starters/adapters/static/README.md +5 -0
- package/dist/starters/adapters/static/adapters/static/vite.config.mts +19 -0
- package/dist/starters/adapters/static/package.json +19 -0
- package/dist/starters/adapters/vercel-edge/README.md +43 -0
- package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/vite.config.mts +16 -0
- package/dist/starters/adapters/vercel-edge/gitignore +2 -0
- package/dist/starters/adapters/vercel-edge/package.json +28 -0
- package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +22 -0
- package/dist/starters/adapters/vercel-edge/vercel.json +22 -0
- package/dist/starters/features/auth/package.json +20 -0
- package/dist/starters/features/auth/src/routes/plugin@auth.ts +8 -0
- package/dist/starters/features/bootstrap/package.json +33 -0
- package/dist/starters/features/bootstrap/src/components/bootstrap/alert.tsx +8 -0
- package/dist/starters/features/bootstrap/src/components/bootstrap/button.tsx +8 -0
- package/dist/starters/features/bootstrap/src/components/bootstrap/index.ts +4 -0
- package/dist/starters/features/bootstrap/src/components/bootstrap/navbar.tsx +44 -0
- package/dist/starters/features/bootstrap/src/components/bootstrap/spinner.tsx +13 -0
- package/dist/starters/features/bootstrap/src/constants/data.ts +10 -0
- package/dist/starters/features/bootstrap/src/models/bootstrap.ts +8 -0
- package/dist/starters/features/bootstrap/src/routes/bootstrap/alerts/index.tsx +28 -0
- package/dist/starters/features/bootstrap/src/routes/bootstrap/buttons/index.tsx +32 -0
- package/dist/starters/features/bootstrap/src/routes/bootstrap/index.tsx +32 -0
- package/dist/starters/features/bootstrap/src/routes/bootstrap/layout.tsx +36 -0
- package/dist/starters/features/bootstrap/src/routes/bootstrap/spinners/index.tsx +45 -0
- package/dist/starters/features/builder.io/README.md +15 -0
- package/dist/starters/features/builder.io/package.json +27 -0
- package/dist/starters/features/builder.io/src/components/builder-registry.ts +25 -0
- package/dist/starters/features/builder.io/src/components/counter/counter.module.css +23 -0
- package/dist/starters/features/builder.io/src/components/counter/counter.tsx +81 -0
- package/dist/starters/features/builder.io/src/components/gauge/gauge.module.css +27 -0
- package/dist/starters/features/builder.io/src/components/gauge/index.tsx +38 -0
- package/dist/starters/features/builder.io/src/routes/[...index]/index.tsx +44 -0
- package/dist/starters/features/cypress/cypress/fixtures/example.json +5 -0
- package/dist/starters/features/cypress/cypress/support/commands.ts +37 -0
- package/dist/starters/features/cypress/cypress/support/component-index.html +12 -0
- package/dist/starters/features/cypress/cypress/support/component.ts +42 -0
- package/dist/starters/features/cypress/cypress/tsconfig.cy.json +17 -0
- package/dist/starters/features/cypress/cypress.config.ts +10 -0
- package/dist/starters/features/cypress/cypress.d.ts +14 -0
- package/dist/starters/features/cypress/package.json +28 -0
- package/dist/starters/features/cypress/src/components/example/example.cy.tsx +18 -0
- package/dist/starters/features/cypress/src/components/example/example.tsx +17 -0
- package/dist/starters/features/drizzle/drizzle/db/.gitkeep +0 -0
- package/dist/starters/features/drizzle/drizzle/migrations/.gitkeep +0 -0
- package/dist/starters/features/drizzle/drizzle/schema.ts +24 -0
- package/dist/starters/features/drizzle/drizzle.config.ts +9 -0
- package/dist/starters/features/drizzle/package.json +41 -0
- package/dist/starters/features/drizzle/src/routes/create/index.tsx +42 -0
- package/dist/starters/features/drizzle/src/routes/users/[userId]/index.tsx +36 -0
- package/dist/starters/features/drizzle/src/routes/users/index.tsx +30 -0
- package/dist/starters/features/leaflet-map/package.json +30 -0
- package/dist/starters/features/leaflet-map/src/components/leaflet-map/index.tsx +60 -0
- package/dist/starters/features/leaflet-map/src/helpers/boundary-box.tsx +6 -0
- package/dist/starters/features/leaflet-map/src/models/location.ts +9 -0
- package/dist/starters/features/leaflet-map/src/models/map.ts +7 -0
- package/dist/starters/features/leaflet-map/src/routes/basic-map/index.tsx +25 -0
- package/dist/starters/features/localize/package.json +37 -0
- package/dist/starters/features/localize/src/entry.ssr.tsx +32 -0
- package/dist/starters/features/localize/src/locales/message.en.json +8 -0
- package/dist/starters/features/localize/src/locales/message.it.json +8 -0
- package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +94 -0
- package/dist/starters/features/localize/src/routes/[locale]/index.tsx +52 -0
- package/dist/starters/features/localize/src/routes/[locale]/layout.tsx +12 -0
- package/dist/starters/features/orama/package.json +23 -0
- package/dist/starters/features/orama/src/orama/index.ts +41 -0
- package/dist/starters/features/orama/src/routes/orama/index.tsx +110 -0
- package/dist/starters/features/pandacss/.eslintignore +3 -0
- package/dist/starters/features/pandacss/.prettierignore +2 -0
- package/dist/starters/features/pandacss/gitignore +2 -0
- package/dist/starters/features/pandacss/package.json +31 -0
- package/dist/starters/features/pandacss/panda.config.ts +22 -0
- package/dist/starters/features/pandacss/postcss.config.js +5 -0
- package/dist/starters/features/pandacss/src/global.css +5 -0
- package/dist/starters/features/pandacss/src/routes/pandacss/index.tsx +18 -0
- package/dist/starters/features/partytown/package.json +41 -0
- package/dist/starters/features/partytown/src/components/partytown/partytown.tsx +19 -0
- package/dist/starters/features/playwright/package.json +18 -0
- package/dist/starters/features/playwright/playwright-report/index.html +22024 -0
- package/dist/starters/features/playwright/playwright.config.ts +40 -0
- package/dist/starters/features/playwright/tests/example.spec.ts +14 -0
- package/dist/starters/features/postcss/.vscode/settings.json +3 -0
- package/dist/starters/features/postcss/package.json +17 -0
- package/dist/starters/features/postcss/postcss.config.js +11 -0
- package/dist/starters/features/prisma/package.json +35 -0
- package/dist/starters/features/prisma/prisma/schema.prisma +17 -0
- package/dist/starters/features/prisma/src/routes/create/index.tsx +42 -0
- package/dist/starters/features/prisma/src/routes/users/[userId]/index.tsx +31 -0
- package/dist/starters/features/prisma/src/routes/users/index.tsx +27 -0
- package/dist/starters/features/react/package.json +41 -0
- package/dist/starters/features/react/src/integrations/react/mui.tsx +60 -0
- package/dist/starters/features/react/src/routes/react/index.tsx +45 -0
- package/dist/starters/features/storybook/.storybook/main.ts +22 -0
- package/dist/starters/features/storybook/.storybook/preview-head.html +3 -0
- package/dist/starters/features/storybook/.storybook/preview.tsx +19 -0
- package/dist/starters/features/storybook/.storybook/tsconfig.json +24 -0
- package/dist/starters/features/storybook/package.json +25 -0
- package/dist/starters/features/storybook/src/components/button/button.stories.tsx +17 -0
- package/dist/starters/features/storybook/src/components/button/button.tsx +27 -0
- package/dist/starters/features/styled-vanilla-extract/package.json +28 -0
- package/dist/starters/features/styled-vanilla-extract/src/routes/styled-flower/flower.css.ts +83 -0
- package/dist/starters/features/styled-vanilla-extract/src/routes/styled-flower/index.tsx +75 -0
- package/dist/starters/features/tailwind/.prettierrc.js +3 -0
- package/dist/starters/features/tailwind/.vscode/settings.json +3 -0
- package/dist/starters/features/tailwind/package.json +18 -0
- package/dist/starters/features/tailwind/postcss.config.cjs +6 -0
- package/dist/starters/features/tailwind/src/global.css +7 -0
- package/dist/starters/features/tailwind/tailwind.config.js +8 -0
- package/dist/starters/features/turso/.env.local +2 -0
- package/dist/starters/features/turso/package.json +30 -0
- package/dist/starters/features/turso/src/utils/turso.ts +21 -0
- package/dist/starters/features/vitest/package.json +20 -0
- package/dist/starters/features/vitest/src/components/example/example.spec.tsx +32 -0
- package/dist/starters/features/vitest/src/components/example/example.tsx +17 -0
- package/dist/templates/barrel/component/index.tsx.template +13 -0
- package/dist/templates/barrel/markdown/index.md.template +5 -0
- package/dist/templates/barrel/mdx/index.mdx.template +5 -0
- package/dist/templates/barrel/route/index.tsx.template +9 -0
- package/dist/templates/qwik/component/[slug].tsx.template +13 -0
- package/dist/templates/qwik/markdown/index.md.template +5 -0
- package/dist/templates/qwik/mdx/index.mdx.template +5 -0
- package/dist/templates/qwik/route/index.tsx.template +9 -0
- package/dist/testing/index.cjs +32425 -0
- package/dist/testing/index.d.ts +140 -0
- package/dist/testing/index.mjs +32389 -0
- package/dist/testing/package.json +9 -0
- package/jsx-dev-runtime.d.ts +2 -0
- package/jsx-runtime.d.ts +2 -0
- package/loader.d.ts +2 -0
- package/optimizer.d.ts +2 -0
- package/package.json +20 -12
- package/public.d.ts +68 -0
- package/qwik-cli.cjs +4 -0
- package/server.d.ts +15 -0
- package/testing.d.ts +2 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { nodeServerAdapter } from "@qwik.dev/router/adapters/node-server/vite";
|
|
2
|
+
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
+
import { builtinModules } from "module";
|
|
4
|
+
import baseConfig from "../../vite.config.mts";
|
|
5
|
+
export default extendConfig(baseConfig, () => {
|
|
6
|
+
return {
|
|
7
|
+
ssr: {
|
|
8
|
+
// This configuration will bundle all dependencies, except the node builtins (path, fs, etc.)
|
|
9
|
+
external: builtinModules,
|
|
10
|
+
noExternal: /./,
|
|
11
|
+
},
|
|
12
|
+
build: {
|
|
13
|
+
minify: false,
|
|
14
|
+
ssr: true,
|
|
15
|
+
rollupOptions: {
|
|
16
|
+
input: ["./src/entry_aws-lambda.tsx", "@qwik-router-config"],
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
plugins: [nodeServerAdapter({ name: "aws-lambda" })],
|
|
20
|
+
};
|
|
21
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "AWS Lambda",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "vite build -c adapters/aws-lambda/vite.config.mts",
|
|
5
|
+
"serve": "qwik build && serverless offline",
|
|
6
|
+
"deploy": "serverless deploy"
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"source-map-support": "^0.5.21",
|
|
10
|
+
"serverless": "^3.38.0",
|
|
11
|
+
"serverless-http": "^3.2.0",
|
|
12
|
+
"serverless-offline": "^13.3.2"
|
|
13
|
+
},
|
|
14
|
+
"__qwik__": {
|
|
15
|
+
"priority": 30,
|
|
16
|
+
"displayName": "Adapter: AWS Lambda",
|
|
17
|
+
"docs": [
|
|
18
|
+
"https://qwik.dev/docs/deployments/aws-lambda/",
|
|
19
|
+
"https://aws.amazon.com/es/lambda/",
|
|
20
|
+
"https://www.serverless.com/cloud/docs/get-started"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
service: qwik-lambda-app
|
|
2
|
+
frameworkVersion: "3"
|
|
3
|
+
|
|
4
|
+
provider:
|
|
5
|
+
name: aws
|
|
6
|
+
runtime: nodejs18.x
|
|
7
|
+
region: us-west-1
|
|
8
|
+
memorySize: 128
|
|
9
|
+
timeout: 10
|
|
10
|
+
stage: dev
|
|
11
|
+
|
|
12
|
+
functions:
|
|
13
|
+
qwik:
|
|
14
|
+
handler: server/entry_aws-lambda.qwikApp
|
|
15
|
+
events:
|
|
16
|
+
- httpApi: "*"
|
|
17
|
+
|
|
18
|
+
custom:
|
|
19
|
+
serverless-offline:
|
|
20
|
+
httpPort: 4000
|
|
21
|
+
|
|
22
|
+
package:
|
|
23
|
+
excludeDevDependencies: true
|
|
24
|
+
patterns:
|
|
25
|
+
- "!*"
|
|
26
|
+
- "!*/**"
|
|
27
|
+
- "server/**"
|
|
28
|
+
- "dist/**"
|
|
29
|
+
|
|
30
|
+
plugins:
|
|
31
|
+
- serverless-offline
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* It's the entry point for Aws Lambda when building for production.
|
|
5
|
+
*
|
|
6
|
+
* Learn more about the Aws Lambda integration here:
|
|
7
|
+
* - https://qwik.dev/docs/deployments/aws/
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import { manifest } from "@qwik-client-manifest";
|
|
11
|
+
import qwikRouterConfig from "@qwik-router-config";
|
|
12
|
+
import {
|
|
13
|
+
createQwikRouter,
|
|
14
|
+
type PlatformAwsLambda,
|
|
15
|
+
} from "@qwik.dev/router/middleware/aws-lambda";
|
|
16
|
+
import serverless from "serverless-http";
|
|
17
|
+
import "source-map-support/register";
|
|
18
|
+
import render from "./entry.ssr";
|
|
19
|
+
|
|
20
|
+
declare global {
|
|
21
|
+
interface QwikRouterPlatform extends PlatformAwsLambda {}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const { handle } = createQwikRouter({
|
|
25
|
+
render,
|
|
26
|
+
qwikRouterConfig,
|
|
27
|
+
manifest,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export const qwikApp = serverless({ handle }, { binary: true });
|
|
31
|
+
// handler is the default export for the lambda functions
|
|
32
|
+
export const handler = qwikApp;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
## Create your Static Web App on Azure
|
|
2
|
+
|
|
3
|
+
1. Follow [this](https://learn.microsoft.com/en-us/azure/static-web-apps/overview) guide to create a Static Web App. This guide will also detail how to generate a github action or Azure Pipeline (see "Quickstarts" section)
|
|
4
|
+
|
|
5
|
+
2. If you're using github actions, make sure to add skip_api_build with true value.
|
|
6
|
+
|
|
7
|
+
```yml
|
|
8
|
+
app_location: "/"
|
|
9
|
+
api_location: "azure-functions"
|
|
10
|
+
output_location: "dist"
|
|
11
|
+
skip_api_build: true # <--- add this line
|
|
12
|
+
###### End of Repository/Build Configurations ######
|
|
13
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { azureSwaAdapter } from "@qwik.dev/router/adapters/azure-swa/vite";
|
|
2
|
+
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
+
import baseConfig from "../../vite.config.mts";
|
|
4
|
+
|
|
5
|
+
export default extendConfig(baseConfig, () => {
|
|
6
|
+
return {
|
|
7
|
+
build: {
|
|
8
|
+
ssr: true,
|
|
9
|
+
outDir: "azure-functions/render",
|
|
10
|
+
rollupOptions: {
|
|
11
|
+
input: ["src/entry.azure-swa.tsx", "@qwik-router-config"],
|
|
12
|
+
output: {
|
|
13
|
+
entryFileNames: `[name].[hash].mjs`,
|
|
14
|
+
chunkFileNames: `[name].[hash].mjs`,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
ssr: {
|
|
19
|
+
noExternal: /.*/,
|
|
20
|
+
},
|
|
21
|
+
plugins: [azureSwaAdapter()],
|
|
22
|
+
};
|
|
23
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "2.0",
|
|
3
|
+
"logging": {
|
|
4
|
+
"applicationInsights": {
|
|
5
|
+
"samplingSettings": {
|
|
6
|
+
"isEnabled": true,
|
|
7
|
+
"excludedTypes": "Request"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"extensions": {
|
|
12
|
+
"http": {
|
|
13
|
+
"routePrefix": "api"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"extensionBundle": {
|
|
17
|
+
"id": "Microsoft.Azure.Functions.ExtensionBundle",
|
|
18
|
+
"version": "[2.*, 3.0.0)"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Azure Static Web Apps",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "vite build -c adapters/azure-swa/vite.config.mts",
|
|
5
|
+
"serve": "swa start"
|
|
6
|
+
},
|
|
7
|
+
"devDependencies": {
|
|
8
|
+
"@azure/functions": "^3.5.0",
|
|
9
|
+
"@azure/static-web-apps-cli": "^1.1.1"
|
|
10
|
+
},
|
|
11
|
+
"__qwik__": {
|
|
12
|
+
"priority": 30,
|
|
13
|
+
"displayName": "Adapter: Azure Static Web Apps",
|
|
14
|
+
"docs": [
|
|
15
|
+
"https://qwik.dev/deployments/azure-swa/",
|
|
16
|
+
"https://learn.microsoft.com/en-us/azure/static-web-apps/"
|
|
17
|
+
],
|
|
18
|
+
"nextSteps": {
|
|
19
|
+
"title": "Next Steps",
|
|
20
|
+
"lines": [
|
|
21
|
+
"Now you can build and deploy to Azure with:",
|
|
22
|
+
"",
|
|
23
|
+
"- pnpm run build: production build for Azure SWA",
|
|
24
|
+
"- pnpm run deploy: it will use the SWA CLI to deploy your site"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"routes": [
|
|
3
|
+
{
|
|
4
|
+
"route": "*",
|
|
5
|
+
"methods": ["POST", "PUT", "DELETE"],
|
|
6
|
+
"rewrite": "/api/render"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"route": "/",
|
|
10
|
+
"rewrite": "/api/render"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"route": "/index.html",
|
|
14
|
+
"rewrite": "/api/render"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"navigationFallback": {
|
|
18
|
+
"rewrite": "/api/render"
|
|
19
|
+
},
|
|
20
|
+
"platform": {
|
|
21
|
+
"apiRuntime": "node:18"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* It's the entry point for the Azure Static Web Apps middleware when building for production.
|
|
5
|
+
*
|
|
6
|
+
* Learn more about the Azure Static Web Apps integration here:
|
|
7
|
+
* - https://qwik.dev/docs/deployments/azure-swa/
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import { manifest } from "@qwik-client-manifest";
|
|
11
|
+
import qwikRouterConfig from "@qwik-router-config";
|
|
12
|
+
import {
|
|
13
|
+
createQwikRouter,
|
|
14
|
+
type PlatformAzure,
|
|
15
|
+
} from "@qwik.dev/router/middleware/azure-swa";
|
|
16
|
+
import render from "./entry.ssr";
|
|
17
|
+
|
|
18
|
+
declare global {
|
|
19
|
+
interface QwikRouterPlatform extends PlatformAzure {}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default createQwikRouter({ render, qwikRouterConfig, manifest });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## Bun Server
|
|
2
|
+
|
|
3
|
+
This app has a minimal [Bun server](https://bun.sh/docs/api/http) implementation. After running a full build, you can preview the build using the command:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
bun run serve
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then visit [http://localhost:3000/](http://localhost:3000/)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { bunServerAdapter } from "@qwik.dev/router/adapters/bun-server/vite";
|
|
2
|
+
import { _TextEncoderStream_polyfill } from "@qwik.dev/router/middleware/request-handler";
|
|
3
|
+
import { extendConfig } from "@qwik.dev/router/vite";
|
|
4
|
+
import baseConfig from "../../vite.config.mts";
|
|
5
|
+
|
|
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
|
+
globalThis.TextEncoderStream ||= _TextEncoderStream_polyfill;
|
|
8
|
+
|
|
9
|
+
export default extendConfig(baseConfig, () => {
|
|
10
|
+
return {
|
|
11
|
+
build: {
|
|
12
|
+
ssr: true,
|
|
13
|
+
rollupOptions: {
|
|
14
|
+
input: ["src/entry.bun.ts", "@qwik-router-config"],
|
|
15
|
+
},
|
|
16
|
+
minify: false,
|
|
17
|
+
},
|
|
18
|
+
plugins: [
|
|
19
|
+
bunServerAdapter({
|
|
20
|
+
ssg: {
|
|
21
|
+
include: ["/*"],
|
|
22
|
+
origin: "https://yoursite.dev",
|
|
23
|
+
maxWorkers: 1, // Limit Workers to 1, otherwise SSG will hang when compiling Qwik City app with `bun run --bun build`.
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Bun server",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "vite build -c adapters/bun/vite.config.mts",
|
|
5
|
+
"serve": "bun server/entry.bun.js"
|
|
6
|
+
},
|
|
7
|
+
"__qwik__": {
|
|
8
|
+
"priority": 20,
|
|
9
|
+
"displayName": "Adapter: Bun Server",
|
|
10
|
+
"docs": [
|
|
11
|
+
"https://qwik.dev/deployments/bun/",
|
|
12
|
+
"https://bun.sh/docs/api/http"
|
|
13
|
+
],
|
|
14
|
+
"nextSteps": {
|
|
15
|
+
"title": "Next Steps",
|
|
16
|
+
"lines": [
|
|
17
|
+
"Now you can build a production-ready Bun app:",
|
|
18
|
+
"",
|
|
19
|
+
"- bun run build: production build",
|
|
20
|
+
"- bun run serve: runs the production server locally"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/bun": "*"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* It's the entry point for the Bun HTTP server when building for production.
|
|
5
|
+
*
|
|
6
|
+
* Learn more about the Bun integration here:
|
|
7
|
+
* - https://qwik.dev/docs/deployments/bun/
|
|
8
|
+
* - https://bun.sh/docs/api/http
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
import { manifest } from "@qwik-client-manifest";
|
|
12
|
+
import qwikRouterConfig from "@qwik-router-config";
|
|
13
|
+
import { createQwikRouter } from "@qwik.dev/router/middleware/bun";
|
|
14
|
+
import render from "./entry.ssr";
|
|
15
|
+
|
|
16
|
+
// Create the Qwik Router Bun middleware
|
|
17
|
+
const { router, notFound, staticFile } = createQwikRouter({
|
|
18
|
+
render,
|
|
19
|
+
qwikRouterConfig,
|
|
20
|
+
manifest,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// Allow for dynamic port
|
|
24
|
+
const port = Number(Bun.env.PORT ?? 3000);
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line no-console
|
|
27
|
+
console.log(`Server started: http://localhost:${port}/`);
|
|
28
|
+
|
|
29
|
+
Bun.serve({
|
|
30
|
+
async fetch(request: Request) {
|
|
31
|
+
const staticResponse = await staticFile(request);
|
|
32
|
+
if (staticResponse) {
|
|
33
|
+
return staticResponse;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Server-side render this request with Qwik Router
|
|
37
|
+
const qwikRouterResponse = await router(request);
|
|
38
|
+
if (qwikRouterResponse) {
|
|
39
|
+
return qwikRouterResponse;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Path not found
|
|
43
|
+
return notFound(request);
|
|
44
|
+
},
|
|
45
|
+
port,
|
|
46
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
FROM node:18-bullseye-slim AS build-env
|
|
2
|
+
|
|
3
|
+
COPY . /app
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
|
|
6
|
+
# It is recommended that you only install production dependencies with
|
|
7
|
+
# `npm i --omit=dev`. You may need to check which dependencies are missing
|
|
8
|
+
RUN npm i
|
|
9
|
+
RUN npm run build
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# A light-weight image for running the app
|
|
13
|
+
FROM gcr.io/distroless/nodejs18-debian11
|
|
14
|
+
|
|
15
|
+
WORKDIR /app
|
|
16
|
+
COPY --from=build-env /app/node_modules ./node_modules
|
|
17
|
+
|
|
18
|
+
# After running `npm run build` you will have 2 build folders.
|
|
19
|
+
# - The `dist` folder will be created including all the static files.
|
|
20
|
+
# - The `server` folder will be created including all node server files.
|
|
21
|
+
COPY --from=build-env /app/server ./server
|
|
22
|
+
COPY --from=build-env /app/dist ./dist
|
|
23
|
+
|
|
24
|
+
CMD ["server/entry.cloud-run.js"]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cloudRunAdapter } from "@qwik.dev/router/adapters/cloud-run/vite";
|
|
2
|
+
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
+
import baseConfig from "../../vite.config.mts";
|
|
4
|
+
|
|
5
|
+
export default extendConfig(baseConfig, () => {
|
|
6
|
+
return {
|
|
7
|
+
build: {
|
|
8
|
+
ssr: true,
|
|
9
|
+
rollupOptions: {
|
|
10
|
+
input: ["src/entry.cloud-run.tsx", "@qwik-router-config"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
plugins: [cloudRunAdapter()],
|
|
14
|
+
};
|
|
15
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Google Cloud Run server",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "vite build -c adapters/cloud-run/vite.config.mts",
|
|
5
|
+
"deploy": "gcloud run deploy my-cloud-run-app --source ."
|
|
6
|
+
},
|
|
7
|
+
"__qwik__": {
|
|
8
|
+
"priority": 20,
|
|
9
|
+
"displayName": "Adapter: Google Cloud Run server",
|
|
10
|
+
"docs": [
|
|
11
|
+
"https://qwik.dev/deployments/gcp-cloud-run/",
|
|
12
|
+
"https://cloud.google.com/run"
|
|
13
|
+
],
|
|
14
|
+
"nextSteps": {
|
|
15
|
+
"title": "Next Steps",
|
|
16
|
+
"lines": [
|
|
17
|
+
"Now you can build and deploy to Google Cloud Run with:",
|
|
18
|
+
"",
|
|
19
|
+
"- pnpm run build: production build for Cloud Run",
|
|
20
|
+
"- pnpm run deploy: it will use the gcloud CLI to deploy your site"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* It's the entry point for the Google Cloud Run middleware when building for production.
|
|
5
|
+
*
|
|
6
|
+
* Learn more about the Cloud Run integration here:
|
|
7
|
+
* - https://qwik.dev/docs/deployments/gcp-cloud-run/
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import { manifest } from "@qwik-client-manifest";
|
|
11
|
+
import qwikRouterConfig from "@qwik-router-config";
|
|
12
|
+
import {
|
|
13
|
+
createQwikRouter,
|
|
14
|
+
type PlatformNode,
|
|
15
|
+
} from "@qwik.dev/router/middleware/node";
|
|
16
|
+
import { createServer } from "node:http";
|
|
17
|
+
import render from "./entry.ssr";
|
|
18
|
+
|
|
19
|
+
declare global {
|
|
20
|
+
interface QwikRouterPlatform extends PlatformNode {}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** The default headers used by helmet */
|
|
24
|
+
const DEFAULT_HEADERS = {
|
|
25
|
+
"Content-Security-Policy": [
|
|
26
|
+
`default-src 'self'`,
|
|
27
|
+
`base-uri 'self'`,
|
|
28
|
+
`font-src 'self' https: data:`,
|
|
29
|
+
`form-action 'self'`,
|
|
30
|
+
`frame-ancestors 'self'`,
|
|
31
|
+
`img-src 'self' data:`,
|
|
32
|
+
`object-src 'none'`,
|
|
33
|
+
`script-src 'self'`,
|
|
34
|
+
`script-src-attr 'none'`,
|
|
35
|
+
`style-src 'self' https: 'unsafe-inline'`,
|
|
36
|
+
`upgrade-insecure-requests`,
|
|
37
|
+
].join(";"),
|
|
38
|
+
"Cross-Origin-Embedder-Policy": "require-corp",
|
|
39
|
+
"Cross-Origin-Opener-Policy": "same-origin",
|
|
40
|
+
"Cross-Origin-Resource-Policy": "same-origin",
|
|
41
|
+
"Origin-Agent-Cluster": "?1",
|
|
42
|
+
"Referrer-Policy": "no-referrer",
|
|
43
|
+
"Strict-Transport-Security": "max-age=15552000; includeSubDomains",
|
|
44
|
+
"X-Content-Type-Options": "nosniff",
|
|
45
|
+
"X-DNS-Prefetch-Control": "off",
|
|
46
|
+
"X-Download-Options": "noopen",
|
|
47
|
+
"X-Frame-Options": "SAMEORIGIN",
|
|
48
|
+
"X-Permitted-Cross-Domain-Policies": "none",
|
|
49
|
+
"X-XSS-Protection": "0",
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const { router, notFound, staticFile } = createQwikRouter({
|
|
53
|
+
render,
|
|
54
|
+
qwikRouterConfig,
|
|
55
|
+
manifest,
|
|
56
|
+
static: {
|
|
57
|
+
cacheControl: "public, max-age=31557600",
|
|
58
|
+
},
|
|
59
|
+
getOrigin(req) {
|
|
60
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto
|
|
61
|
+
const protocol = req.headers["x-forwarded-proto"] ?? "http";
|
|
62
|
+
const host = req.headers["host"];
|
|
63
|
+
return `${protocol}://${host}`;
|
|
64
|
+
},
|
|
65
|
+
getClientConn: (conn) => {
|
|
66
|
+
const xForwardedFor = conn.headers["x-forwarded-for"];
|
|
67
|
+
if (typeof xForwardedFor === "string") {
|
|
68
|
+
return {
|
|
69
|
+
ip: xForwardedFor.split(",").shift()?.trim(),
|
|
70
|
+
};
|
|
71
|
+
} else if (Array.isArray(xForwardedFor)) {
|
|
72
|
+
return {
|
|
73
|
+
ip: xForwardedFor.shift()?.trim(),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
ip: undefined,
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
const server = createServer();
|
|
83
|
+
|
|
84
|
+
server.on("request", (req, res) => {
|
|
85
|
+
for (const header of Object.entries(DEFAULT_HEADERS)) {
|
|
86
|
+
res.setHeader(...header);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
staticFile(req, res, () => {
|
|
90
|
+
router(req, res, () => {
|
|
91
|
+
notFound(req, res, () => {});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
server.listen(process.env.PORT ?? 8080);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
## Cloudflare Pages
|
|
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 Pages](https://pages.cloudflare.com/) are deployable through their [Git provider integrations](https://developers.cloudflare.com/pages/platform/git-integration/).
|
|
14
|
+
|
|
15
|
+
If you don't already have an account, then [create a Cloudflare account here](https://dash.cloudflare.com/sign-up/pages). Next go to your dashboard and follow the [Cloudflare Pages deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-anything/).
|
|
16
|
+
|
|
17
|
+
Within the projects "Settings" for "Build and deployments", the "Build command" should be `npm run build`, and the "Build output directory" should be set to `dist`.
|
|
18
|
+
|
|
19
|
+
### Function Invocation Routes
|
|
20
|
+
|
|
21
|
+
Cloudflare Page's [function-invocation-routes config](https://developers.cloudflare.com/pages/platform/functions/routing/#functions-invocation-routes) can be used to include, or exclude, certain paths to be used by the worker functions. Having a `_routes.json` file gives developers more granular control over when your Function is invoked.
|
|
22
|
+
This is useful to determine if a page response should be Server-Side Rendered (SSR) or if the response should use a static-site generated (SSG) `index.html` file.
|
|
23
|
+
|
|
24
|
+
By default, the Cloudflare pages adaptor _does not_ include a `public/_routes.json` config, but rather it is auto-generated from the build by the Cloudflare adaptor. An example of an auto-generate `dist/_routes.json` would be:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
{
|
|
28
|
+
"include": [
|
|
29
|
+
"/*"
|
|
30
|
+
],
|
|
31
|
+
"exclude": [
|
|
32
|
+
"/_headers",
|
|
33
|
+
"/_redirects",
|
|
34
|
+
"/build/*",
|
|
35
|
+
"/favicon.ico",
|
|
36
|
+
"/manifest.json",
|
|
37
|
+
"/service-worker.js",
|
|
38
|
+
"/about"
|
|
39
|
+
],
|
|
40
|
+
"version": 1
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
In the above example, it's saying _all_ pages should be SSR'd. However, the root static files such as `/favicon.ico` and any static assets in `/build/*` should be excluded from the Functions, and instead treated as a static file.
|
|
45
|
+
|
|
46
|
+
In most cases the generated `dist/_routes.json` file is ideal. However, if you need more granular control over each path, you can instead provide you're own `public/_routes.json` file. When the project provides its own `public/_routes.json` file, then the Cloudflare adaptor will not auto-generate the routes config and instead use the committed one within the `public` directory.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cloudflarePagesAdapter } from "@qwik.dev/router/adapters/cloudflare-pages/vite";
|
|
2
|
+
import { extendConfig } from "@qwik.dev/router/vite";
|
|
3
|
+
import baseConfig from "../../vite.config.mts";
|
|
4
|
+
|
|
5
|
+
export default extendConfig(baseConfig, () => {
|
|
6
|
+
return {
|
|
7
|
+
build: {
|
|
8
|
+
ssr: true,
|
|
9
|
+
rollupOptions: {
|
|
10
|
+
input: ["src/entry.cloudflare-pages.tsx", "@qwik-router-config"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
plugins: [cloudflarePagesAdapter()],
|
|
14
|
+
};
|
|
15
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Cloudflare Pages",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build.server": "vite build -c adapters/cloudflare-pages/vite.config.mts",
|
|
5
|
+
"deploy": "wrangler pages deploy ./dist",
|
|
6
|
+
"serve": "wrangler pages dev ./dist --compatibility-flags=nodejs_als"
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"wrangler": "^3.0.0"
|
|
10
|
+
},
|
|
11
|
+
"__qwik__": {
|
|
12
|
+
"priority": 40,
|
|
13
|
+
"displayName": "Adapter: Cloudflare Pages",
|
|
14
|
+
"docs": [
|
|
15
|
+
"https://qwik.dev/deployments/cloudflare-pages/",
|
|
16
|
+
"https://developers.cloudflare.com/pages"
|
|
17
|
+
],
|
|
18
|
+
"nextSteps": {
|
|
19
|
+
"title": "Next Steps",
|
|
20
|
+
"lines": [
|
|
21
|
+
"Now you can build and deploy to Cloudflare Pages with:",
|
|
22
|
+
"",
|
|
23
|
+
"- pnpm run build: production build for Cloudflare",
|
|
24
|
+
"- pnpm run deploy: it will use the Cloudflare CLI to deploy your site"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|