Skip to content

feat: add pbkit for typed PocketBase SDK generation#3

Open
Rook-ai-bot wants to merge 3 commits into
Karnak19:mainfrom
Rook-ai-bot:feat/add-pbkit
Open

feat: add pbkit for typed PocketBase SDK generation#3
Rook-ai-bot wants to merge 3 commits into
Karnak19:mainfrom
Rook-ai-bot:feat/add-pbkit

Conversation

@Rook-ai-bot

Copy link
Copy Markdown

Replace pocketbase-typegen with pbkit for schema-driven type generation, SDK functions, and TanStack Query options.

Changes

  • Deps: Add @karnak19/pbkit + @karnak19/pbkit-tanstack, remove pocketbase-typegen
  • Config: Add pbkit.config.ts (reads PB_TYPEGEN_URL or POCKETBASE_URL from env)
  • Script: bun run typegen now runs pbkit generate instead of pocketbase-typegen
  • Types: Delete old types.ts (generated by pocketbase-typegen, never actually imported)
  • Exports: Add src/shared/db/index.ts barrel export for generated code
  • Auth: Update AuthProvider to use generated UsersRecord type instead of raw RecordModel
  • Docs: Update README with pbkit setup step, usage examples, and generated file reference

Generated output (src/shared/db/generated/)

File Contents
types.gen.ts Record types (UsersRecord, UsersCreate, UsersUpdate, etc.)
client.gen.ts Default PocketBase client singleton
sdk.gen.ts CRUD functions (getUser, listUsers, createUser, etc.)
tanstack.gen.ts TanStack Query options (userOptions, usersOptions, etc.)

Setup

After merging, run bun install && bun run typegen with PocketBase running to generate the files.

Replace pocketbase-typegen with pbkit (@karnak19/pbkit) for schema-driven
type generation, SDK functions, and TanStack Query options.

Changes:
- Add @karnak19/pbkit + @karnak19/pbkit-tanstack as devDependencies
- Remove pocketbase-typegen
- Add pbkit.config.ts (reads PB_TYPEGEN_URL or POCKETBASE_URL from env)
- Update typegen script to use pbkit CLI
- Delete old pocketbase-typegen generated types.ts
- Add src/shared/db/index.ts barrel export for generated code
- Update AuthProvider to use generated UsersRecord type
- Update README with pbkit docs, setup step, and usage examples
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant