From b4d6b1c04dec739540e077e9951a29e442ac8a98 Mon Sep 17 00:00:00 2001 From: dswbx Date: Wed, 9 Jul 2025 08:21:39 +0200 Subject: [PATCH] finalize waku example --- examples/waku/bknd-types.d.ts | 15 --------------- examples/waku/bknd.config.ts | 10 ++++------ examples/waku/src/{bknd/index.ts => bknd.ts} | 2 +- examples/waku/src/pages/admin/[...admin].tsx | 2 +- .../admin/_components/AdminImpl.tsx} | 0 .../admin/_components/AdminLoader.tsx} | 4 ++-- examples/waku/src/pages/index.tsx | 4 +--- examples/waku/tsconfig.json | 1 + 8 files changed, 10 insertions(+), 28 deletions(-) delete mode 100644 examples/waku/bknd-types.d.ts rename examples/waku/src/{bknd/index.ts => bknd.ts} (92%) rename examples/waku/src/{bknd/admin/impl.tsx => pages/admin/_components/AdminImpl.tsx} (100%) rename examples/waku/src/{bknd/admin/index.tsx => pages/admin/_components/AdminLoader.tsx} (83%) diff --git a/examples/waku/bknd-types.d.ts b/examples/waku/bknd-types.d.ts deleted file mode 100644 index 91125535..00000000 --- a/examples/waku/bknd-types.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { DB } from "bknd/core"; -import type { Insertable, Selectable, Updateable, Generated } from "kysely"; - -declare global { - type BkndEntity = Selectable; - type BkndEntityCreate = Insertable; - type BkndEntityUpdate = Updateable; -} - -interface Database { -} - -declare module "bknd/core" { - interface DB extends Database {} -} \ No newline at end of file diff --git a/examples/waku/bknd.config.ts b/examples/waku/bknd.config.ts index 4cf18aab..28ecf039 100644 --- a/examples/waku/bknd.config.ts +++ b/examples/waku/bknd.config.ts @@ -21,11 +21,9 @@ declare module "bknd/core" { export default { // we can use any libsql config, and if omitted, uses in-memory - app: (env) => ({ - connection: { - url: env?.DB_URL ?? "file:data.db", - }, - }), + connection: { + url: process.env.DB_URL ?? "file:data.db", + }, // an initial config is only applied if the database is empty initialConfig: { data: schema.toJSON(), @@ -33,7 +31,7 @@ export default { auth: { enabled: true, jwt: { - issuer: "bknd-remix-example", + issuer: "bknd-waku-example", secret: secureRandomString(64), }, }, diff --git a/examples/waku/src/bknd/index.ts b/examples/waku/src/bknd.ts similarity index 92% rename from examples/waku/src/bknd/index.ts rename to examples/waku/src/bknd.ts index 5f9d4ae6..577d4b22 100644 --- a/examples/waku/src/bknd/index.ts +++ b/examples/waku/src/bknd.ts @@ -1,5 +1,5 @@ import { createFrameworkApp } from "bknd/adapter"; -import config from "../../bknd.config"; +import config from "../bknd.config"; export async function getApp() { return await createFrameworkApp(config, process.env, { diff --git a/examples/waku/src/pages/admin/[...admin].tsx b/examples/waku/src/pages/admin/[...admin].tsx index 72db1a23..136182bb 100644 --- a/examples/waku/src/pages/admin/[...admin].tsx +++ b/examples/waku/src/pages/admin/[...admin].tsx @@ -5,7 +5,7 @@ import { Suspense, lazy } from "react"; import { getUserApi } from "../../lib/waku/server"; -const AdminComponent = lazy(() => import("../../bknd/admin")); +const AdminComponent = lazy(() => import("./_components/AdminLoader")); export default async function HomePage() { const api = await getUserApi({ verify: true }); diff --git a/examples/waku/src/bknd/admin/impl.tsx b/examples/waku/src/pages/admin/_components/AdminImpl.tsx similarity index 100% rename from examples/waku/src/bknd/admin/impl.tsx rename to examples/waku/src/pages/admin/_components/AdminImpl.tsx diff --git a/examples/waku/src/bknd/admin/index.tsx b/examples/waku/src/pages/admin/_components/AdminLoader.tsx similarity index 83% rename from examples/waku/src/bknd/admin/index.tsx rename to examples/waku/src/pages/admin/_components/AdminLoader.tsx index fe7643d9..6b2e9a74 100644 --- a/examples/waku/src/bknd/admin/index.tsx +++ b/examples/waku/src/pages/admin/_components/AdminLoader.tsx @@ -2,9 +2,9 @@ import type { BkndAdminProps } from "bknd/ui"; import { lazy } from "react"; -import { BrowserOnly } from "../../lib/waku/client"; +import { BrowserOnly } from "../../../lib/waku/client"; -const AdminImpl = import.meta.env.SSR ? undefined : lazy(() => import("./impl")); +const AdminImpl = import.meta.env.SSR ? undefined : lazy(() => import("./AdminImpl")); export const AdminLoader = (props: BkndAdminProps) => { return ( diff --git a/examples/waku/src/pages/index.tsx b/examples/waku/src/pages/index.tsx index d4c0c2cc..553d23bc 100644 --- a/examples/waku/src/pages/index.tsx +++ b/examples/waku/src/pages/index.tsx @@ -1,16 +1,14 @@ import { Link } from "waku"; import { Counter } from "../components/counter"; -import { getUserApi, rerender } from "../lib/waku/server"; +import { rerender, getUserApi } from "../lib/waku/server"; async function toggleTodo(todo: any, path: string) { "use server"; - console.log("toggleTodo", todo, path); const api = await getUserApi(); await api.data.updateOne("todos", todo.id, { done: !todo.done, }); - console.log("rerender"); rerender(path); } diff --git a/examples/waku/tsconfig.json b/examples/waku/tsconfig.json index c85d769b..3b26664b 100644 --- a/examples/waku/tsconfig.json +++ b/examples/waku/tsconfig.json @@ -1,4 +1,5 @@ { + "include": ["**/*.ts", "**/*.tsx"], "compilerOptions": { "strict": true, "target": "esnext",