Structure
The recommended project structure.
📂src
┣ hooks.server.ts
┗ 📂lib
┗ 📂kavi
┣ client.ts
┣ options.ts
â”— server.ts
┗ 📂routes
â”— +layout.ts
Copy the following code into your project
options.tsimport { createOptions } from "kavi"
export const options = createOptions()
server.tsimport { all } from "kavi/server"
import z from "zod"
export const router = {}
export type Router = typeof router
client.tsimport { createApiClient } from "kavi/client"
import { options } from "./options"
import type { Router } from "$lib/kavi/server"
export const api = createApiClient<Router>(options)
layout.tsimport { initClientEvent } from "kavi/client"
// important that this runs first
export const load = initClientEvent
hooks.server.tsimport { createHandle } from "kavi/server"
import { router } from "$lib/kavi/server"
import { options } from "$lib/kavi/options"
export const handle = createHandle(router, options)