Merged
Conversation
upgrade deps
upgrade biome and vscode settings
feat: opfs and sqlocal
feat: add local auth support if api storage provided
…e on registration payload
feat: add `default_role_register` and password `minLength` config
feat(admin): add mcp as main navigation item when enabled, and make it route-aware
Add framework adapter for SvelteKit with:
- `getApp()` - get bknd app instance
- `serve()` - request handler for hooks.server.ts
Usage in hooks.server.ts:
```typescript
import { serve } from "bknd/adapter/sveltekit";
import config from "../bknd.config";
const bkndHandler = serve(config);
export const handle = async ({ event, resolve }) => {
if (event.url.pathname.startsWith("/api/")) {
return bkndHandler(event);
}
return resolve(event);
};
```
Includes:
- Adapter implementation (app/src/adapter/sveltekit/)
- Test suite
- Working example (examples/sveltekit/)
- Package exports and types
Remove process.env default to support all SvelteKit runtimes (Node, Cloudflare Workers, Vercel Edge, Deno). Users now pass env explicitly via $env/dynamic/private.
…pying updated `hooks.server.ts` to handle `/admin` routes and prevent fallback for 404 responses. added `adminBasepath` config to match backend paths. introduced assets copying step via `postinstall` script and included `robots.txt` and `favicon.ico` under `static`.
…creation Replaced `s.object` with `s.strictObject` to enforce schema validation. Updated logic to include unprocessed JSON properties (`...rest`) when creating a user, ensuring additional payload data is preserved.
change license to apache 2.0
feat: add SvelteKit adapter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
includes:
withomitted join clauses #299default_role_registerand passwordminLengthconfig #320License change to Apache 2.0
bknd is now licensed under the Apache 2.0 license, making it even more permissive and enterprise-friendly.
MCP in admin navigation
The MCP (Model Context Protocol) tool is now accessible directly from the main navigation when enabled. The UI has been improved to be route-aware, making it easier to interact with AI tools directly from the admin interface.
Improved hybrid mode
The hybrid mode has been enhanced with better type inference and improved configuration handling:
sync_requiredflagRepository auto-join for related entities
When querying with
whereclauses that reference related entities, bknd now automatically adds the necessary joins. This means you can filter by related entity fields without explicitly specifying joins:Email OTP plugin
A new authentication plugin for passwordless login using one-time passwords sent via email. The plugin supports both login and registration flows, with configurable TTL, custom email templates, and automatic code invalidation.
Plunk email driver
Added support for Plunk as an email driver, joining Resend as supported transactional email services:
Special thanks to @cameronapak for adding this 🔥
SvelteKit adapter
bknd now has first-class support for SvelteKit applications. The new adapter follows the same pattern as the existing Astro and Next.js adapters. Read more in the SvelteKit integration guide. Special thanks to @screenfluent for adding this 🔥
Postgres support now included
The separate
@bknd/postgrespackage has been merged into the mainbkndpackage. PostgreSQL connections are now available directly:Run bknd in your browser with SQLocal
You can now run bknd entirely in your browser without any server required. Using SQLocal, bknd now supports in-browser SQLite databases using OPFS (Origin Private File System), with data persisting locally in your browser. This is perfect for offline-first applications, local development, or demo purposes.
The new
BkndBrowserAppcomponent wraps everything you need to get started:Additionally, bknd now includes the
OpfsStorageAdapterfor media storage, allowing full file upload/download support in the browser environment.