pgtyped
@databases
Our great sponsors
pgtyped | @databases | |
---|---|---|
34 | 13 | |
2,800 | 586 | |
- | - | |
8.7 | 5.7 | |
about 24 hours ago | 19 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.
pgtyped
-
Type-Safe Printf() in TypeScript
There is an implementation of SQL that operates on a table shaped type, entirely at type level. For your amusement: https://github.com/codemix/ts-sql
There are a bunch of more practical takes that codegen types from your database and generate types for your queries, eg: https://github.com/adelsz/pgtyped
To me the second approach seems much more pragmatic because you don’t need to run a SQL parser in a fairly potato interpreter on every build
-
ORMs are nice but they are the wrong abstraction
ORMs suck, but raw SQL embedded in your code sucks too.
This might be good time to plug my TypeScript non-ORM: https://jawj.github.io/zapatos/.
I should say I also like what I've seen of https://kysely.dev/ and https://pgtyped.dev/.
-
An effective way to build a heavy CRUD Rest API?
Thank you for suggestions they helped me finding what I was looking for. I will either pick kysely or https://pgtyped.dev/, but first I will do some tests. Thanks!
- PostgresJs: The Fastest full featured PostgreSQL client for Node.js and Deno
-
compile-time SQL validations and type generation in TypeScript & Node
Cool. How does this compare to SafeQL, PgTyped, and Postgres language server ?
-
Petrol: embedding a type-safe SQL API in OCaml using GADTs
I would instead rely on code generation like https://github.com/adelsz/pgtyped, because the embedded type-safe SQL will never fully cover all the features of vanilla SQL, for example Common Table Expression (CTE), window functions etc.
-
Deno 1.33: Deno 2 is coming
There's pgtyped, which I believe does almost the same as sqlc
https://github.com/adelsz/pgtyped
-
Kysely: TypeScript SQL Query Builder
For Postgres there is https://github.com/adelsz/pgtyped, sounds pretty much like what you describe?
-
Is postgresql-typed a good starting library for a production application?
Avoiding the cost of learning EDSL that many Haskell DB libraries provide, I found out that only postgresql-typed and postgresql-simple allow to write only raw SQL queries easily. As I extensively use pgtyped for production Node.js application, I am thinking about using postgresql-typed. While I could find many resources for postgresql-simple, the same cannot be said try for postgresql-typed.
-
This package is so underrated.
I would highly recommend trying out pgTyped if you want typesafe queries with postgres. It's fantastic!
@databases
-
Node Core Dev Starter Kit
At Databases because you don't need ORM.
-
Looking for a type safe ORM/mapper
Depending on the complexity of your queries, Prisma might indeed not be the best abstraction for you. If you're proficient in SQL and don't want to sacrifice type-safety, there are really nice, low-level alternatives to Prisma such as Zapatos, Slonik or atdatabases. We're laying this out in our docs here: Should you use Prisma?
-
Top 10 Node.js Security Best Practices
I built https://www.atdatabases.org to make this as easy as possible to get right when querying SQL databases with node.js
-
General ORM question - How costly is not using a SELECT ATTRIBUTES clause?
Depends a lot on the size of your database records. We’ve found that for a few tables with big JSONB columns it can make a huge difference but for 90% of queries it makes very little difference. https://www.atdatabases.org with @databases/pg-typed or @databases/mysql-typed also keeps the types in sync with which columns you select.
-
SQL result into variable
Since the method is marked as async, you can use await to get the results of a query (if your database library supports promises. For example with https://www.atdatabases.org as your db library you could do
-
What are popular ORMs for Node.js?
I found Prisma close but not quite there. That's part of what motivated me to keep working on https://www.atdatabases.org, which I think is already there as an enterprise ready ORM for node.js
- Atdatabases: TypeScript Clients for Databases
-
what node ORM is worth it to learn
I built https://www.atdatabases.org which has an ORM for node.js, but also supports writing SQL queries in a safe way. It is type safe, and has much simpler & more flexible transaction support than most node.js ORMs.
-
Can you use Joi with SQL database?
If you’re using TypeScript and don’t have untrusted user data, @databases can generate static types, which can be a good alternative to runtime validation.
-
How do most people interact with a db these days?
Did either of you consider @databases? It has pretty much the same approach to SQL as Slonik. I’m curious if there’s any reason why Slonik is preferable?
What are some alternatives?
slonik - A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.
Lowdb - Simple and fast JSON database
kysely - A type-safe typescript SQL query builder [Moved to: https://github.com/kysely-org/kysely]
NeDB - The JavaScript Database, for Node.js, nw.js, electron and the browser
TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
database-js - Common Database Interface for Node
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
Keyv - Simple key-value storage with support for multiple backends
typesafe-query-builder - Generate SQL queries leveraging type inference and Postgres Json functions
Mongo Seeding - 🌱 The ultimate solution for populating your MongoDB database.
kysely - A type-safe typescript SQL query builder
pg-mem - An in memory postgres DB instance for your unit tests