@qwik.dev/core 0.0.0 → 2.0.0-alpha.1
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.darwin-arm64.node +0 -0
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.wasm.cjs +484 -0
- package/bindings/qwik.wasm.mjs +477 -0
- package/bindings/qwik.win32-x64-msvc.node +0 -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 +10929 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.min.mjs +1 -0
- package/dist/core.mjs +10825 -0
- package/dist/core.mjs.map +1 -0
- package/dist/core.prod.cjs +5184 -0
- package/dist/core.prod.mjs +6028 -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 +9140 -0
- package/dist/optimizer.d.ts +707 -0
- package/dist/optimizer.mjs +9704 -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 +8948 -0
- package/dist/server.d.ts +404 -0
- package/dist/server.mjs +8883 -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 +32431 -0
- package/dist/testing/index.d.ts +140 -0
- package/dist/testing/index.mjs +32395 -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 +29 -21
- package/public.d.ts +70 -0
- package/qwik-cli.cjs +4 -0
- package/server.d.ts +15 -0
- package/testing.d.ts +2 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { DocumentHead, useLocation } from "@qwik.dev/router";
|
|
2
|
+
import {
|
|
3
|
+
component$,
|
|
4
|
+
FunctionComponent,
|
|
5
|
+
useStore,
|
|
6
|
+
useVisibleTask$,
|
|
7
|
+
} from "@qwik.dev/core";
|
|
8
|
+
import { Host, odd, pride, Range, Square } from "./flower.css";
|
|
9
|
+
|
|
10
|
+
type StoredInputProps<
|
|
11
|
+
T,
|
|
12
|
+
Cmp extends FunctionComponent,
|
|
13
|
+
Name extends string = "value",
|
|
14
|
+
> = Parameters<Cmp>[0] & {
|
|
15
|
+
store: { [value in Name]?: T };
|
|
16
|
+
name?: Name;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const RangeInput = <Name extends string = "value">({
|
|
20
|
+
store,
|
|
21
|
+
name = "value" as Name,
|
|
22
|
+
...props
|
|
23
|
+
}: StoredInputProps<number, typeof Range, Name>) => (
|
|
24
|
+
<Range
|
|
25
|
+
{...props}
|
|
26
|
+
type="range"
|
|
27
|
+
value={store[name]}
|
|
28
|
+
onInput$={(ev, el) => {
|
|
29
|
+
store[name] = el.valueAsNumber;
|
|
30
|
+
}}
|
|
31
|
+
/>
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
export default component$(() => {
|
|
35
|
+
const loc = useLocation();
|
|
36
|
+
|
|
37
|
+
const state = useStore({
|
|
38
|
+
count: 0,
|
|
39
|
+
number: 20,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
useVisibleTask$(({ cleanup }) => {
|
|
43
|
+
const timeout = setTimeout(() => (state.count = 1), 500);
|
|
44
|
+
cleanup(() => clearTimeout(timeout));
|
|
45
|
+
|
|
46
|
+
const internal = setInterval(() => state.count++, 7000);
|
|
47
|
+
cleanup(() => clearInterval(internal));
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<>
|
|
52
|
+
<p>This is styled with qwik-styled-ve.</p>
|
|
53
|
+
|
|
54
|
+
<RangeInput store={state} name="number" max={50} />
|
|
55
|
+
<Host
|
|
56
|
+
style={{
|
|
57
|
+
"--state": `${state.count * 0.1}`,
|
|
58
|
+
}}
|
|
59
|
+
class={loc.url.searchParams.get("pride") && pride}
|
|
60
|
+
>
|
|
61
|
+
{Array.from({ length: state.number }, (_, i) => (
|
|
62
|
+
<Square
|
|
63
|
+
key={i}
|
|
64
|
+
class={{ [odd]: i % 2 === 0 }}
|
|
65
|
+
style={{ "--index": `${i + 1}` }}
|
|
66
|
+
/>
|
|
67
|
+
)).reverse()}
|
|
68
|
+
</Host>
|
|
69
|
+
</>
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export const head: DocumentHead = {
|
|
74
|
+
title: "Qwik Flower",
|
|
75
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Use Tailwind in your Qwik app",
|
|
3
|
+
"__qwik__": {
|
|
4
|
+
"displayName": "Integration: Tailwind (styling)",
|
|
5
|
+
"priority": -10,
|
|
6
|
+
"viteConfig": {},
|
|
7
|
+
"docs": [
|
|
8
|
+
"https://qwik.dev/integrations/integration/tailwind/",
|
|
9
|
+
"https://tailwindcss.com/docs/utility-first"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"autoprefixer": "^10.4.19",
|
|
14
|
+
"postcss": "^8.4.39",
|
|
15
|
+
"prettier-plugin-tailwindcss": "^0.5.4",
|
|
16
|
+
"tailwindcss": "^3.4.6"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Use Turso in your Qwik app",
|
|
3
|
+
"__qwik__": {
|
|
4
|
+
"displayName": "Integration: Turso (database)",
|
|
5
|
+
"priority": -10,
|
|
6
|
+
"viteConfig": {},
|
|
7
|
+
"docs": [
|
|
8
|
+
"https://qwik.dev/integrations/integration/turso/",
|
|
9
|
+
"https://docs.turso.tech"
|
|
10
|
+
],
|
|
11
|
+
"nextSteps": {
|
|
12
|
+
"title": "Create and set up your turso database",
|
|
13
|
+
"lines": [
|
|
14
|
+
" Install the Turso CLI (https://docs.turso.tech/quickstart)",
|
|
15
|
+
" You can then create a new Turso database by running:",
|
|
16
|
+
" turso db create <db-name>",
|
|
17
|
+
" To see information about the database, including a connection URL, run:",
|
|
18
|
+
" turso db show <db-name>",
|
|
19
|
+
" To get an authentication token for the database, run:",
|
|
20
|
+
" turso db tokens create <db-name>"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@libsql/client": "latest"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@qwik.dev/router": "latest"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createClient, type Client } from "@libsql/client/web";
|
|
2
|
+
import type { RequestEventBase } from "@qwik.dev/router";
|
|
3
|
+
|
|
4
|
+
export function tursoClient(requestEvent: RequestEventBase): Client {
|
|
5
|
+
const url = requestEvent.env.get("PRIVATE_TURSO_DATABASE_URL")?.trim();
|
|
6
|
+
if (url === undefined) {
|
|
7
|
+
throw new Error("PRIVATE_TURSO_DATABASE_URL is not defined");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const authToken = requestEvent.env.get("PRIVATE_TURSO_AUTH_TOKEN")?.trim();
|
|
11
|
+
if (authToken === undefined) {
|
|
12
|
+
if (!url.includes("file:")) {
|
|
13
|
+
throw new Error("PRIVATE_TURSO_AUTH_TOKEN is not defined");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return createClient({
|
|
18
|
+
url,
|
|
19
|
+
authToken,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Use Vitest into your Qwik app",
|
|
3
|
+
"__qwik__": {
|
|
4
|
+
"displayName": "Integration: Vitest (Unit Test)",
|
|
5
|
+
"priority": -15,
|
|
6
|
+
"viteConfig": {},
|
|
7
|
+
"docs": [
|
|
8
|
+
"https://vitest.dev/guide/",
|
|
9
|
+
"https://qwik.dev/integrations/integration/vitest/"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@vitest/ui": "^0.34.6",
|
|
14
|
+
"vitest": "^0.34.6"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test.unit": "vitest components",
|
|
18
|
+
"test.unit.ui": "vitest --ui components"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createDOM } from "@qwik.dev/core/testing";
|
|
2
|
+
import { expect, test } from "vitest";
|
|
3
|
+
import { ExampleTest } from "./example";
|
|
4
|
+
|
|
5
|
+
test(`[ExampleTest Component]: Should render ⭐`, async () => {
|
|
6
|
+
const { screen, render } = await createDOM();
|
|
7
|
+
await render(<ExampleTest flag={true} />);
|
|
8
|
+
expect(screen.outerHTML).toContain("⭐");
|
|
9
|
+
const div = screen.querySelector(".icon") as HTMLElement;
|
|
10
|
+
expect(div.outerHTML).toContain("⭐");
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
test(`[ExampleTest Component]: Should render 💣`, async () => {
|
|
14
|
+
const { screen, render } = await createDOM();
|
|
15
|
+
await render(<ExampleTest flag={false} />);
|
|
16
|
+
expect(screen.outerHTML).toContain("💣");
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
test(`[ExampleTest Component]: Click counter +1`, async () => {
|
|
20
|
+
const { screen, render, userEvent } = await createDOM();
|
|
21
|
+
await render(<ExampleTest flag={true} />);
|
|
22
|
+
|
|
23
|
+
expect(screen.outerHTML).toContain("Count:0");
|
|
24
|
+
|
|
25
|
+
const spanBefore = screen.querySelector("span") as HTMLDivElement;
|
|
26
|
+
await userEvent(".btn-counter", "click");
|
|
27
|
+
expect(spanBefore.innerHTML).toEqual("Count:1");
|
|
28
|
+
|
|
29
|
+
const spanAfter = screen.querySelector("span") as HTMLDivElement;
|
|
30
|
+
await userEvent("button", "click");
|
|
31
|
+
expect(spanAfter.innerHTML).toEqual("Count:2");
|
|
32
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { component$, useStore } from "@qwik.dev/core";
|
|
2
|
+
|
|
3
|
+
export const ExampleTest = component$((props: { flag: boolean }) => {
|
|
4
|
+
const state = useStore({
|
|
5
|
+
counter: 0,
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
<span>Count:{state.counter}</span>
|
|
11
|
+
<div class="icon">Flag: {props.flag ? "⭐" : "💣"}</div>
|
|
12
|
+
<button class="btn-counter" onClick$={() => state.counter++}>
|
|
13
|
+
Increment counter
|
|
14
|
+
</button>
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
});
|