From 94cc4042d31e7afec992dec6517ec6bcc4da1f05 Mon Sep 17 00:00:00 2001 From: dswbx Date: Sat, 7 Dec 2024 18:55:02 +0100 Subject: [PATCH] small refactorings and cleanups, improved bun/node adapter, updated docs --- app/package.json | 41 +++++------ app/src/App.ts | 50 +++++++------ app/src/adapter/astro/astro.adapter.ts | 3 +- app/src/adapter/bun/bun.adapter.ts | 94 +++++++++++++------------ app/src/adapter/node/index.ts | 46 +++++------- app/src/cli/commands/run/platform.ts | 35 +++------ app/src/cli/commands/run/run.ts | 15 ++-- app/src/data/connection/Connection.ts | 15 ++-- app/src/index.ts | 3 +- bun.lockb | Bin 809584 -> 811408 bytes docs/integration/bun.mdx | 10 +-- docs/integration/node.mdx | 37 ++++++++++ docs/mint.json | 2 +- docs/setup.mdx | 28 +++++++- examples/bun/index.ts | 30 ++++---- examples/node/index.js | 18 +++-- 16 files changed, 224 insertions(+), 203 deletions(-) create mode 100644 docs/integration/node.mdx diff --git a/app/package.json b/app/package.json index f0320ec..28622f9 100644 --- a/app/package.json +++ b/app/package.json @@ -36,6 +36,16 @@ "aws4fetch": "^1.0.18" }, "devDependencies": { + "@aws-sdk/client-s3": "^3.613.0", + "@codemirror/lang-html": "^6.4.9", + "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-liquid": "^6.2.1", + "@dagrejs/dagre": "^1.1.4", + "@hello-pangea/dnd": "^17.0.0", + "@hono/typebox-validator": "^0.2.6", + "@hono/vite-dev-server": "^0.17.0", + "@hono/zod-validator": "^0.4.1", + "@hookform/resolvers": "^3.9.1", "@libsql/kysely-libsql": "^0.4.1", "@mantine/core": "^7.13.4", "@mantine/hooks": "^7.13.4", @@ -45,41 +55,32 @@ "@rjsf/core": "^5.22.2", "@tabler/icons-react": "3.18.0", "@tanstack/react-query": "^5.59.16", - "@uiw/react-codemirror": "^4.23.6", - "@xyflow/react": "^12.3.2", - "jotai": "^2.10.1", - "react-hook-form": "^7.53.1", - "react-icons": "5.2.1", - "react-json-view-lite": "^2.0.1", - "tailwind-merge": "^2.5.4", - "tailwindcss-animate": "^1.0.7", - "wouter": "^3.3.5", - "@codemirror/lang-html": "^6.4.9", - "@codemirror/lang-json": "^6.0.1", - "@codemirror/lang-liquid": "^6.2.1", - "@dagrejs/dagre": "^1.1.4", - "@hello-pangea/dnd": "^17.0.0", - "@hono/typebox-validator": "^0.2.6", - "@hono/zod-validator": "^0.4.1", - "@hookform/resolvers": "^3.9.1", - "@aws-sdk/client-s3": "^3.613.0", - "@hono/vite-dev-server": "^0.17.0", "@tanstack/react-query-devtools": "^5.59.16", "@types/node": "^22.10.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", + "@uiw/react-codemirror": "^4.23.6", "@vitejs/plugin-react": "^4.3.3", + "@xyflow/react": "^12.3.2", "autoprefixer": "^10.4.20", "esbuild-postcss": "^0.0.4", + "jotai": "^2.10.1", + "open": "^10.1.0", "openapi-types": "^12.1.3", "postcss": "^8.4.47", "postcss-preset-mantine": "^1.17.0", "postcss-simple-vars": "^7.0.1", + "react-hook-form": "^7.53.1", + "react-icons": "5.2.1", + "react-json-view-lite": "^2.0.1", + "tailwind-merge": "^2.5.4", "tailwindcss": "^3.4.14", + "tailwindcss-animate": "^1.0.7", "tsup": "^8.3.5", "vite": "^5.4.10", "vite-plugin-static-copy": "^2.0.0", - "vite-tsconfig-paths": "^5.0.1" + "vite-tsconfig-paths": "^5.0.1", + "wouter": "^3.3.5" }, "optionalDependencies": { "@hono/node-server": "^1.13.7" diff --git a/app/src/App.ts b/app/src/App.ts index 5c6ab2c..15968c1 100644 --- a/app/src/App.ts +++ b/app/src/App.ts @@ -56,29 +56,6 @@ export class App { this.modules.ctx().emgr.registerEvents(AppEvents); } - static create(config: CreateAppConfig) { - let connection: Connection | undefined = undefined; - - try { - if (Connection.isConnection(config.connection)) { - connection = config.connection; - } else if (typeof config.connection === "object") { - connection = new LibsqlConnection(config.connection.config); - } else { - connection = new LibsqlConnection({ url: ":memory:" }); - console.warn("[!] No connection provided, using in-memory database"); - } - } catch (e) { - console.error("Could not create connection", e); - } - - if (!connection) { - throw new Error("Invalid connection"); - } - - return new App(connection, config.initialConfig, config.plugins, config.options); - } - get emgr() { return this.modules.ctx().emgr; } @@ -149,4 +126,31 @@ export class App { toJSON(secrets?: boolean) { return this.modules.toJSON(secrets); } + + static create(config: CreateAppConfig) { + return createApp(config); + } +} + +export function createApp(config: CreateAppConfig) { + let connection: Connection | undefined = undefined; + + try { + if (Connection.isConnection(config.connection)) { + connection = config.connection; + } else if (typeof config.connection === "object") { + connection = new LibsqlConnection(config.connection.config); + } else { + connection = new LibsqlConnection({ url: ":memory:" }); + console.warn("[!] No connection provided, using in-memory database"); + } + } catch (e) { + console.error("Could not create connection", e); + } + + if (!connection) { + throw new Error("Invalid connection"); + } + + return new App(connection, config.initialConfig, config.plugins, config.options); } diff --git a/app/src/adapter/astro/astro.adapter.ts b/app/src/adapter/astro/astro.adapter.ts index 71ad9f6..f86410a 100644 --- a/app/src/adapter/astro/astro.adapter.ts +++ b/app/src/adapter/astro/astro.adapter.ts @@ -1,5 +1,4 @@ -import { Api, type ApiOptions } from "bknd"; -import { App, type CreateAppConfig } from "bknd"; +import { Api, type ApiOptions, App, type CreateAppConfig } from "bknd"; type TAstro = { request: Request; diff --git a/app/src/adapter/bun/bun.adapter.ts b/app/src/adapter/bun/bun.adapter.ts index 9c62047..ae14be5 100644 --- a/app/src/adapter/bun/bun.adapter.ts +++ b/app/src/adapter/bun/bun.adapter.ts @@ -1,55 +1,59 @@ +/// + import path from "node:path"; import { App, type CreateAppConfig } from "bknd"; -import { LibsqlConnection } from "bknd/data"; +import type { Serve, ServeOptions } from "bun"; import { serveStatic } from "hono/bun"; -async function getConnection(conn?: CreateAppConfig["connection"]) { - if (conn) { - if (LibsqlConnection.isConnection(conn)) { - return conn; - } - - return new LibsqlConnection(conn.config); - } - - const createClient = await import("@libsql/client/node").then((m) => m.createClient); - if (!createClient) { - throw new Error('libsql client not found, you need to install "@libsql/client/node"'); - } - - console.log("Using in-memory database"); - return new LibsqlConnection(createClient({ url: ":memory:" })); -} - -export function serve(_config: Partial = {}, distPath?: string) { +let app: App; +export async function createApp(_config: Partial = {}, distPath?: string) { const root = path.resolve(distPath ?? "./node_modules/bknd/dist", "static"); - let app: App; - return async (req: Request) => { - if (!app) { - const connection = await getConnection(_config.connection); - app = App.create({ - ..._config, - connection - }); + if (!app) { + app = App.create(_config); - app.emgr.on( - "app-built", - async () => { - app.modules.server.get( - "/*", - serveStatic({ - root - }) - ); - app.registerAdminController(); - }, - "sync" - ); + app.emgr.on( + "app-built", + async () => { + app.modules.server.get( + "/*", + serveStatic({ + root + }) + ); + app.registerAdminController(); + }, + "sync" + ); - await app.build(); - } + await app.build(); + } - return app.fetch(req); - }; + return app; +} + +export type BunAdapterOptions = Omit & + CreateAppConfig & { + distPath?: string; + }; + +export function serve({ + distPath, + connection, + initialConfig, + plugins, + options, + port = 1337, + ...serveOptions +}: BunAdapterOptions = {}) { + Bun.serve({ + ...serveOptions, + port, + fetch: async (request: Request) => { + const app = await createApp({ connection, initialConfig, plugins, options }, distPath); + return app.fetch(request); + } + }); + + console.log(`Server is running on http://localhost:${port}`); } diff --git a/app/src/adapter/node/index.ts b/app/src/adapter/node/index.ts index 5360ddb..47d4c97 100644 --- a/app/src/adapter/node/index.ts +++ b/app/src/adapter/node/index.ts @@ -2,51 +2,34 @@ import path from "node:path"; import { serve as honoServe } from "@hono/node-server"; import { serveStatic } from "@hono/node-server/serve-static"; import { App, type CreateAppConfig } from "bknd"; -import { LibsqlConnection } from "bknd/data"; -async function getConnection(conn?: CreateAppConfig["connection"]) { - if (conn) { - if (LibsqlConnection.isConnection(conn)) { - return conn; - } - - return new LibsqlConnection(conn.config); - } - - const createClient = await import("@libsql/client/node").then((m) => m.createClient); - if (!createClient) { - throw new Error('libsql client not found, you need to install "@libsql/client/node"'); - } - - console.log("Using in-memory database"); - return new LibsqlConnection(createClient({ url: ":memory:" })); -} - -export type NodeAdapterOptions = { +export type NodeAdapterOptions = CreateAppConfig & { relativeDistPath?: string; port?: number; hostname?: string; listener?: Parameters[1]; }; -export function serve(_config: Partial = {}, options: NodeAdapterOptions = {}) { +export function serve({ + relativeDistPath, + port = 1337, + hostname, + listener, + ...config +}: NodeAdapterOptions = {}) { const root = path.relative( process.cwd(), - path.resolve(options.relativeDistPath ?? "./node_modules/bknd/dist", "static") + path.resolve(relativeDistPath ?? "./node_modules/bknd/dist", "static") ); let app: App; honoServe( { - port: options.port ?? 1337, - hostname: options.hostname, + port, + hostname, fetch: async (req: Request) => { if (!app) { - const connection = await getConnection(_config.connection); - app = App.create({ - ..._config, - connection - }); + app = App.create(config); app.emgr.on( "app-built", @@ -68,6 +51,9 @@ export function serve(_config: Partial = {}, options: NodeAdapt return app.fetch(req); } }, - options.listener + (connInfo) => { + console.log(`Server is running on http://localhost:${connInfo.port}`); + listener?.(connInfo); + } ); } diff --git a/app/src/cli/commands/run/platform.ts b/app/src/cli/commands/run/platform.ts index 46a725b..309df7f 100644 --- a/app/src/cli/commands/run/platform.ts +++ b/app/src/cli/commands/run/platform.ts @@ -1,10 +1,8 @@ -import { readFile } from "node:fs/promises"; import path from "node:path"; -import type { ServeStaticOptions } from "@hono/node-server/serve-static"; -import { type Config, createClient } from "@libsql/client/node"; -import { Connection, LibsqlConnection, SqliteLocalConnection } from "data"; +import type { Config } from "@libsql/client/node"; import type { MiddlewareHandler } from "hono"; -import { fileExists, getDistPath, getRelativeDistPath } from "../../utils/sys"; +import open from "open"; +import { fileExists, getRelativeDistPath } from "../../utils/sys"; export const PLATFORMS = ["node", "bun"] as const; export type Platform = (typeof PLATFORMS)[number]; @@ -33,7 +31,8 @@ export async function attachServeStatic(app: any, platform: Platform) { export async function startServer(server: Platform, app: any, options: { port: number }) { const port = options.port; - console.log("running on", server, port); + console.log(`(using ${server} serve)`); + switch (server) { case "node": { // https://github.com/honojs/node-server/blob/main/src/response.ts#L88 @@ -53,27 +52,9 @@ export async function startServer(server: Platform, app: any, options: { port: n } } - console.log("Server listening on", "http://localhost:" + port); -} - -export async function getHtml() { - return await readFile(path.resolve(getDistPath(), "static/index.html"), "utf-8"); -} - -export function getConnection(connectionOrConfig?: Connection | Config): Connection { - if (connectionOrConfig) { - if (connectionOrConfig instanceof Connection) { - return connectionOrConfig; - } - - if ("url" in connectionOrConfig) { - return new LibsqlConnection(createClient(connectionOrConfig)); - } - } - - console.log("Using in-memory database"); - return new LibsqlConnection(createClient({ url: ":memory:" })); - //return new SqliteLocalConnection(new Database(":memory:")); + const url = `http://localhost:${port}`; + console.log(`Server listening on ${url}`); + await open(url); } export async function getConfigPath(filePath?: string) { diff --git a/app/src/cli/commands/run/run.ts b/app/src/cli/commands/run/run.ts index 0663f2f..7ad9568 100644 --- a/app/src/cli/commands/run/run.ts +++ b/app/src/cli/commands/run/run.ts @@ -1,16 +1,13 @@ import type { Config } from "@libsql/client/node"; -import { App } from "App"; +import { App, type CreateAppConfig } from "App"; import type { BkndConfig } from "adapter"; import type { CliCommand } from "cli/types"; import { Option } from "commander"; -import type { Connection } from "data"; import { PLATFORMS, type Platform, attachServeStatic, getConfigPath, - getConnection, - getHtml, startServer } from "./platform"; @@ -41,14 +38,14 @@ export const run: CliCommand = (program) => { }; type MakeAppConfig = { - connection: Connection; + connection?: CreateAppConfig["connection"]; server?: { platform?: Platform }; setAdminHtml?: boolean; onBuilt?: (app: App) => Promise; }; async function makeApp(config: MakeAppConfig) { - const app = new App(config.connection); + const app = App.create({ connection: config.connection }); app.emgr.on( "app-built", @@ -99,9 +96,9 @@ async function action(options: { let app: App; if (options.dbUrl || !configFilePath) { - const connection = getConnection( - options.dbUrl ? { url: options.dbUrl, authToken: options.dbToken } : undefined - ); + const connection = options.dbUrl + ? { type: "libsql" as const, config: { url: options.dbUrl, authToken: options.dbToken } } + : undefined; app = await makeApp({ connection, server: { platform: options.server } }); } else { console.log("Using config from:", configFilePath); diff --git a/app/src/data/connection/Connection.ts b/app/src/data/connection/Connection.ts index bc97ff0..e4ce455 100644 --- a/app/src/data/connection/Connection.ts +++ b/app/src/data/connection/Connection.ts @@ -41,16 +41,18 @@ export type DbFunctions = { >; }; -export abstract class Connection { - cls = "bknd:connection"; - kysely: Kysely; +const CONN_SYMBOL = Symbol.for("bknd:connection"); + +export abstract class Connection { + kysely: Kysely; constructor( - kysely: Kysely, + kysely: Kysely, public fn: Partial = {}, protected plugins: KyselyPlugin[] = [] ) { this.kysely = kysely; + this[CONN_SYMBOL] = true; } /** @@ -58,8 +60,9 @@ export abstract class Connection { * coming from different places * @param conn */ - static isConnection(conn: any): conn is Connection { - return conn?.cls === "bknd:connection"; + static isConnection(conn: unknown): conn is Connection { + if (!conn) return false; + return conn[CONN_SYMBOL] === true; } getIntrospector(): ConnectionIntrospector { diff --git a/app/src/index.ts b/app/src/index.ts index 649bf71..578ab5d 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -1,6 +1,5 @@ -export { App, type AppConfig, type CreateAppConfig } from "./App"; +export { App, createApp, AppEvents, type AppConfig, type CreateAppConfig } from "./App"; -export { MediaField } from "media/MediaField"; export { getDefaultConfig, getDefaultSchema, diff --git a/bun.lockb b/bun.lockb index 7adde63d6cc748b7e4478ebacb1bc4c57b99180a..22d6785d770c9aee081db35e577c51ea8cfef60c 100755 GIT binary patch delta 124254 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 K{=w2k{l5U)D8NYo delta 122714 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 diff --git a/docs/integration/bun.mdx b/docs/integration/bun.mdx index bfec760..8c4a8ec 100644 --- a/docs/integration/bun.mdx +++ b/docs/integration/bun.mdx @@ -16,7 +16,8 @@ the admin panel. // index.ts import { serve } from "bknd/adapter/bun"; -const handler = serve({ +// if the configuration is omitted, it uses an in-memory database +serve({ connection: { type: "libsql", config: { @@ -25,13 +26,6 @@ const handler = serve({ } } }); - -Bun.serve({ - port: 1337, - fetch: handler -}); - -console.log("Server running at http://localhost:1337"); ``` For more information about the connection object, refer to the [Setup](/setup) guide. diff --git a/docs/integration/node.mdx b/docs/integration/node.mdx new file mode 100644 index 0000000..d089bf1 --- /dev/null +++ b/docs/integration/node.mdx @@ -0,0 +1,37 @@ +--- +title: 'Node' +description: 'Run bknd inside Node' +--- +import InstallBknd from '/snippets/install-bknd.mdx'; + +## Installation +Install bknd as a dependency: + + +## Serve the API & static files +The `serve` function of the Node adapter makes sure to also serve the static files required for +the admin panel. + +``` tsx +// index.js +import { serve } from "bknd/adapter/node"; + +// if the configuration is omitted, it uses an in-memory database +/** @type {import("bknd/adapter/node").NodeAdapterOptions} */ +const config = { + connection: { + type: "libsql", + config: { + url: ":memory:" + } + } +}; + +serve(config); +``` +For more information about the connection object, refer to the [Setup](/setup) guide. + +Run the application using node by executing: +```bash +node index.js +``` \ No newline at end of file diff --git a/docs/mint.json b/docs/mint.json index 634e104..ac740cb 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -104,7 +104,7 @@ "integration/vite", "integration/express", "integration/astro", - "integration/nodejs", + "integration/node", "integration/deno", "integration/browser" ] diff --git a/docs/setup.mdx b/docs/setup.mdx index 357f40e..8382bfd 100644 --- a/docs/setup.mdx +++ b/docs/setup.mdx @@ -18,9 +18,9 @@ The easiest to get started is using SQLite as a file. When serving the API in th the function accepts an object with connection details. To use a file, use the following: ```json { - "type": "sqlite", + "type": "libsql", "config": { - "file": "path/to/your/database.db" + "url": "file:" } } ``` @@ -56,6 +56,30 @@ connection object to your new database: } ``` +### Custom Connection (unstable) + + Follow the progress of custom connections on its [Github Issue](https://github.com/bknd-io/bknd/issues/24). + If you're interested, make sure to upvote so it can be prioritized. + +Any bknd app instantiation accepts as connection either `undefined`, a connection object like +described above, or an class instance that extends from `Connection`: +```ts +import { createApp } from "bknd"; +import { Connection } from "bknd/data"; + +class CustomConnection extends Connection { + constructor() { + const kysely = new Kysely(/* ... */); + super(kysely); + } +} + +const connection = new CustomConnection(); + +// e.g. and then, create an instance +const app = createApp({ connection }) +``` + ## Installation To install **bknd**, run the following command: \ No newline at end of file diff --git a/examples/bun/index.ts b/examples/bun/index.ts index 2d2b9cd..8e8e4ac 100644 --- a/examples/bun/index.ts +++ b/examples/bun/index.ts @@ -1,26 +1,20 @@ // @ts-ignore somehow causes types:build issues on app -import type { CreateAppConfig } from "bknd"; -// @ts-ignore somehow causes types:build issues on app -import { serve } from "bknd/adapter/bun"; +import { type BunAdapterOptions, serve } from "bknd/adapter/bun"; + +// Actually, all it takes is the following line: +// serve(); // this is optional, if omitted, it uses an in-memory database -const config = { +const config: BunAdapterOptions = { connection: { type: "libsql", config: { - url: "http://localhost:8080" + url: ":memory:" } - } -} satisfies CreateAppConfig; + }, + // this is only required to run inside the same workspace + // leave blank if you're running this from a different project + distPath: "../../app/dist" +}; -Bun.serve({ - port: 1337, - fetch: serve( - config, - // this is only required to run inside the same workspace - // leave blank if you're running this from a different project - "../../app/dist" - ) -}); - -console.log("Server running at http://localhost:1337"); +serve(config); diff --git a/examples/node/index.js b/examples/node/index.js index c16211a..faa1fef 100644 --- a/examples/node/index.js +++ b/examples/node/index.js @@ -1,22 +1,20 @@ import { serve } from "bknd/adapter/node"; +// Actually, all it takes is the following line: +// serve(); + // this is optional, if omitted, it uses an in-memory database -/** @type {import("bknd").CreateAppConfig} */ +/** @type {import("bknd/adapter/node").NodeAdapterOptions} */ const config = { connection: { type: "libsql", config: { - url: "http://localhost:8080" + url: ":memory:" } - } -}; - -serve(config, { - port: 1337, - listener: ({ port }) => { - console.log(`Server is running on http://localhost:${port}`); }, // this is only required to run inside the same workspace // leave blank if you're running this from a different project relativeDistPath: "../../app/dist" -}); +}; + +serve(config);