diff --git a/.gitignore b/.gitignore
index 3afed12..a86f413 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,6 +17,8 @@ packages/media/.env
**/*/vite.config.ts.timestamp*
.history
**/*/.db/*
+**/*/*.db-shm
+**/*/*.db-wal
.npmrc
/.verdaccio
.idea
diff --git a/app/src/data/connection/LibsqlConnection.ts b/app/src/data/connection/LibsqlConnection.ts
index 54202d3..9f6ebcb 100644
--- a/app/src/data/connection/LibsqlConnection.ts
+++ b/app/src/data/connection/LibsqlConnection.ts
@@ -1,4 +1,4 @@
-import { type Client, type InStatement, createClient } from "@libsql/client/web";
+import { type Client, type Config, type InStatement, createClient } from "@libsql/client/web";
import { LibsqlDialect } from "@libsql/kysely-libsql";
import { type DatabaseIntrospector, Kysely, ParseJSONResultsPlugin, sql } from "kysely";
import { FilterNumericKeysPlugin } from "../plugins/FilterNumericKeysPlugin";
@@ -8,9 +8,7 @@ import { SqliteConnection } from "./SqliteConnection";
import { SqliteIntrospector } from "./SqliteIntrospector";
export const LIBSQL_PROTOCOLS = ["wss", "https", "libsql"] as const;
-export type LibSqlCredentials = {
- url: string;
- authToken?: string;
+export type LibSqlCredentials = Config & {
protocol?: (typeof LIBSQL_PROTOCOLS)[number];
};
diff --git a/app/src/index.ts b/app/src/index.ts
index 338bc7c..649bf71 100644
--- a/app/src/index.ts
+++ b/app/src/index.ts
@@ -8,5 +8,5 @@ export {
type ModuleSchemas
} from "modules/ModuleManager";
-export * from "./adapter";
+export type * from "./adapter";
export { Api, type ApiOptions } from "./Api";
diff --git a/app/src/ui/Admin.tsx b/app/src/ui/Admin.tsx
index 2af8063..d3faea1 100644
--- a/app/src/ui/Admin.tsx
+++ b/app/src/ui/Admin.tsx
@@ -2,14 +2,14 @@ import { MantineProvider } from "@mantine/core";
import { Notifications } from "@mantine/notifications";
import React from "react";
import { FlashMessage } from "ui/modules/server/FlashMessage";
-import { BkndProvider, ClientProvider, useBknd } from "./client";
+import { BkndProvider, ClientProvider, type ClientProviderProps, useBknd } from "./client";
import { createMantineTheme } from "./lib/mantine/theme";
import { BkndModalsProvider } from "./modals";
import { Routes } from "./routes";
export type BkndAdminProps = {
baseUrl?: string;
- withProvider?: boolean;
+ withProvider?: boolean | ClientProviderProps;
// @todo: add admin config override
};
@@ -20,7 +20,12 @@ export default function Admin({ baseUrl: baseUrlOverride, withProvider = false }
);
return withProvider ? (
- {Component}
+
+ {Component}
+
) : (
Component
);
diff --git a/app/src/ui/client/ClientProvider.tsx b/app/src/ui/client/ClientProvider.tsx
index 078d23a..20c2740 100644
--- a/app/src/ui/client/ClientProvider.tsx
+++ b/app/src/ui/client/ClientProvider.tsx
@@ -17,11 +17,13 @@ export const queryClient = new QueryClient({
}
});
-export const ClientProvider = ({
- children,
- baseUrl,
- user
-}: { children?: any; baseUrl?: string; user?: TApiUser | null }) => {
+export type ClientProviderProps = {
+ children?: any;
+ baseUrl?: string;
+ user?: TApiUser | null | undefined;
+};
+
+export const ClientProvider = ({ children, baseUrl, user }: ClientProviderProps) => {
const [actualBaseUrl, setActualBaseUrl] = useState(null);
const winCtx = useBkndWindowContext();
diff --git a/app/src/ui/client/index.ts b/app/src/ui/client/index.ts
index c5dce6e..4dbb869 100644
--- a/app/src/ui/client/index.ts
+++ b/app/src/ui/client/index.ts
@@ -1,4 +1,4 @@
-export { ClientProvider, useClient, useBaseUrl } from "./ClientProvider";
+export { ClientProvider, type ClientProviderProps, useClient, useBaseUrl } from "./ClientProvider";
export { BkndProvider, useBknd } from "./BkndProvider";
export { useAuth } from "./schema/auth/use-auth";
diff --git a/examples/nextjs/test.db b/examples/nextjs/test.db
index e2b5b06..de29870 100644
Binary files a/examples/nextjs/test.db and b/examples/nextjs/test.db differ
diff --git a/examples/node/index.js b/examples/node/index.js
index 92ae1d2..c16211a 100644
--- a/examples/node/index.js
+++ b/examples/node/index.js
@@ -12,9 +12,11 @@ const config = {
};
serve(config, {
- relativeDistPath: "../../node_modules/bknd/dist",
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"
});