import { serve } from "bknd/adapter/vite"; import { App, boolean, em, entity, text } from "bknd"; import { secureRandomString } from "bknd/utils"; export default serve({ config: { data: em({ todos: entity("todos", { title: text(), done: boolean(), }), }).toJSON(), auth: { enabled: true, jwt: { secret: secureRandomString(64), }, }, }, options: { seed: async (ctx) => { await ctx.em.mutator("todos" as any).insertMany([ { title: "Learn bknd", done: true }, { title: "Build something cool", done: false }, ]); }, }, // here we can hook into the app lifecycle events ... beforeBuild: async (app) => { app.emgr.onEvent( App.Events.AppFirstBoot, async () => { // ... to create an initial user await app.module.auth.createUser({ email: "ds@bknd.io", password: "12345678", }); }, "sync", ); }, });