Plugin to generate TypeScript row types and optional Zod schemas from your chkit schema definitions.
Part of the chkit monorepo. This plugin extends the chkit CLI with TypeScript code generation.
bun add -d @chkit/plugin-codegenRegister the plugin in your config:
// clickhouse.config.ts
import { defineConfig } from '@chkit/core'
import { codegen } from '@chkit/plugin-codegen'
export default defineConfig({
schema: './src/db/schema/**/*.ts',
outDir: './chkit',
plugins: [
codegen({
outFile: './src/generated/chkit-types.ts',
emitZod: false,
emitIngest: false,
}),
],
clickhouse: {
url: process.env.CLICKHOUSE_URL ?? 'http://localhost:8123',
},
})Then run:
bunx chkit codegenCodegen also runs automatically after chkit generate when runOnGenerate is enabled (default).
When emitIngest is enabled, generated ingest helpers gzip-compress request bodies by default. Pass { compressed: false } as the third argument to disable compression for a specific insert.
See the chkit documentation.