kanel
kysely-codegen
kanel | kysely-codegen | |
---|---|---|
10 | 9 | |
799 | 619 | |
- | - | |
9.0 | 8.7 | |
6 days ago | 16 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kanel
-
Witch – macOS window switcher replacement
I'll just quickly plug Kanel (https://github.com/kristiandupont/kanel) which I use to generate Typescript types from a Postgres database. I agree with the author to think migrations-first, though I prefer to write them in SQL to ensure I can utilize all the powerful features that Postgres has to offer.
With it, I only get types for the tables and views etc., so any join will be untyped if done client-side. This is still a big win in my opinion, and I much prefer it to normal ORM's.
-
Kysely: TypeScript SQL Query Builder
I made a tool that generates Typescript types out of a live Postgres database. I've had a request for Kysely support (https://github.com/kristiandupont/kanel/issues/273), but I more or less forgot about it. I would love to hear if that would be helpful.
-
Is it possible to create a dynamic type/interface from API response
There are tools that will generate typescript types from a database. I made one for Postgres. But it also works at "compile time", i.e. it doesn't look at a live database. I am not sure if that is what you are asking?
-
Objection to ORM Hatred
That's interesting. I use Knex a lot and I agree that it's very easy to end up just writing what is basically an ORM on the spot. I haven't quite decided if I think it's a real problem though.
I created and use Kanel (https://github.com/kristiandupont/kanel) to generate Typescript types from my Postgres database which helps a lot. Knex itself has some attempt at type safety but it gets confused quite quickly, so that's where it's tempting to override things.
-
This package is so underrated.
Interesting. Someone asked me if I supported it in Kanel. At the time it was hard to extend Kanel and then I just forgot but perhaps I should take another look at it. I am not exactly overwhelmed with the types that Knex offers even though it does make an honest attempt.
-
ADVICE WANTED - Typescript PostgreSQL without ORM
I have so far found: - kanel https://github.com/kristiandupont/kanel - and pg-to-ts https://github.com/danvk/pg-to-ts
- Kanel – Turn your Postgres schema into TypeScript types
-
Podcast interview
I’ve written before about the way I let the Postgres schema act as the source of truth by generating types with Kanel (assisted by Schemalint). In addition to this, I mention a homemade framework that sort of resembles a server-side Redux. This gives me typesafe database queries that are automatically reflected all the way to the frontend. I am frequently asked to make it open source and that is still the plan. I just need to untangle it from the Submotion source code which just never seems to be high enough priority. I promise I will get around to it :-)
-
Postgres to TypeScript Interfaces and Enums
We are using Kanel[1] for this right now — is there an advantage to using this instead?
[1]: https://github.com/kristiandupont/kanel
-
Would anyone be interested in seeing a tutorial or code TS, GQL, Express, Apollo, and Postgres with no ORM?
Sure. I've been using this lib https://github.com/kristiandupont/kanel to get types from my pg database and it makes it a breeze to use raw sql + ts.
kysely-codegen
-
Show HN: Tsynamo – Type-friendly DynamoDB query builder for TypeScript
Hello HN! I was recently introduced to Kysely (https://github.com/kysely-org/kysely), a type-safe Typescript SQL query builder, and instantly fell in love! I got inspired and wanted to make something similar for AWS DynamoDB.
Thus, I developed Tsynamo! Instead of calling it type-safe, I decided to go with type-friendly, because the library is still in an early stage, and is not 100% type-safe.
Under the hood, Tsynamo compiles the built queries into AWS SDK v3 commands. I feel that Tsynamo simplifies the AWS SDK API quite a lot since the developer doesn't have to mess around with condition/filter expressions or attribute names/values themselves, and as a bonus gets autocompletion for building the queries!
There's also a playground to test it out in your browser: https://try.tsynamo.dev. It might not have the most up-to-date API of the library in use yet, but you can get the library's main idea from there.
Since the project is still in its early stages, it doesn't yet have 100% support for all DynamoDB features, like querying indexes. The next steps will be increasing the support coverage and perhaps adding automatic type generation as inspired by kysely-codegen (https://github.com/RobinBlomberg/kysely-codegen).
Would love to get some feedback, thanks in advance!
-
Simple CQRS in NodeJS with Typescript
Querying the database (PostgreSQL) should not be ground breaking. Personally I like to have full type-safety so we can easily catch bugs during the development time without introducing any tests that are just testing the data type from our datastore to match the data type our API expects. I like to go database schema first, which means that we generate types from the database schema and work with those. Any change to the schema of the database is made with SQL migrations and after that, the typescript types are regenerated. Another approach is to use a code-first tool like TypeORM or Prisma. However in my experience such tools often produce not efficient SQL queries and are less easy to extend. In my projects I use library kysely (https://github.com/koskimas/kysely) with kysely-codegen (https://github.com/RobinBlomberg/kysely-codegen) to have a full type-safe SQL builder.
-
Kysely: TypeScript SQL Query Builder
The main difference to me is that with Prisma I don't need to do any SQL to get a project up and running. I can define the tables and relations from my code or from Prisma Studio, and in one swoop I get the db structure done and the types defined.
I know my way around a database, but I'd rather not leave my code editor whenever I need to add a new column to a table.
With Kysely you have to create the DB schema, and then write the types; with every change you need, you gotta do both again.
(At least this seems true by default; as the project's readme mentions, there is a code generator[1] to generate the types from the DB schema; not quite the same but at least it's better than nothing.)
Commenters say that writing complex queries with Kysely is easier, which makes me wonder if I could use Prisma except for those, since Kysely should be able to just generate the SQL query for me to handle to Prisma...
[1]: https://github.com/RobinBlomberg/kysely-codegen
-
Allow Cloudflare D1 to be used like an O/R mapper with type-safe
kysely kysely-codegen kysely-d1 allows access to D1 while using SQL Builder.
-
Well, shit. Objection.js has been sunset, which ORM/querybuilder did you move to?
For what it's worth, I've been using kysely-codegen to generate the types based on the database schema and it's been working great for me.
-
ADVICE WANTED - Typescript PostgreSQL without ORM
I dislike ORMs and have been using Kysely https://github.com/koskimas/kysely and https://github.com/RobinBlomberg/kysely-codegen for a small project and so far I love it. It's a mapper/query builder that is equivalent to Dapper in C# (without the query builder) but with the power of typescript's type system to enforce proper queries. You can also bypass something with the sql to write raw SQL.
- The PlanetScale serverless driver for JavaScript
- Closest library/setup/configuration to JOOQ?
What are some alternatives?
pgtyped - pgTyped - Typesafe SQL in TypeScript
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
pg-to-ts - Generate TypeScript interface definitions from your Postgres schema
Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
ts-sql - A SQL database implemented purely in TypeScript type annotations.
slonik - A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.
kysely - A type-safe typescript SQL query builder
kysely-data-api
kysely - A type-safe typescript SQL query builder [Moved to: https://github.com/kysely-org/kysely]
vramework
ts-sql-query - Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.