koooge / kanel

Generate Typescript types from Postgres

Home Page:https://kristiandupont.github.io/kanel/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kanel Logo Kanel Logo

Generate Typescript types from a live Postgres database.

This is for people who don't like ORM's but who do like intellisense and type checking for their database access code.

See the documentation here

Introduction to the idea is outlined here.

Usage

Install with:

$ npm i -D kanel

To run, make sure you are in a folder that has a .kanelrc.js configuration file and that your database is running, and type:

$ npx kanel

Programmatical usage

Example of running generation from code:

import { processDatabase } from "kanel";
import config from "./kanelrc";

async function run() {
  await processDatabase(config);
}

run();

Example

To see an example of the result, check out the /example folder. It uses the Sample Database from www.postgresqltutorial.com.


If you want to learn about how I use this together with tRPC to create end-to-end type safety with PostgreSQL as the source of truth, check out my course on Newline:



Contributors

Made with contrib.rocks.

About

Generate Typescript types from Postgres

https://kristiandupont.github.io/kanel/

License:MIT License


Languages

Language:TypeScript 96.0%Language:JavaScript 3.3%Language:CSS 0.7%