Skip to content

Zod extension for Kanel

Generate Zod schemas directly from your Postgres database. This packages extends Kanel with some Zod specific features.

typescript
/** Zod schema for actor */
export const actor = z.object({
  actor_id: z.number(),
  first_name: z.string(),
  last_name: z.string(),
  last_update: z.date(),
});

Assuming you already have Kanel installed, add this with

bash
$ npm i -D kanel-zod

generateZodSchemas

This pre-render hook will generate zod schemas for all your types. The default setup will convert the table name into camelCase which is a semi-standard Typescript convention for items that aren't types.

The

To use it, add it to your .kanelrc.js file:

javascript
const { generateZodSchemas } = require("kanel-zod");

module.exports = {
  // ... your config here.

  preRenderHooks: [generateZodSchemas],
};