-
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
-
drizzle-orm
Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too 😅
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Hey there, I'm Nikolas from the Prisma team! This question has been asked here recently as well.
If you're considering using a TypeScript-first ORM, the most viable option would be to use Prisma in combination with a query builder like Knex. Why do I suggest this? Drizzle is not quite production-ready as of now. You can check out the ongoing issues on their GitHub page: https://github.com/drizzle-team/drizzle-orm/issues/437. When it comes to TypeORM, many of its most commented issues are linked to unexpected outcomes.Here's a look at Prisma's most commented issues: https://github.com/typeorm/typeorm/issues?q=is%3Aissue+is%3Aopen+sort%3Acomments-desc Contrastingly, most of Prisma's issues relate to requests for additional features, which is generally a positive sign for an active and promising project.Here's a look at Prisma's most commented issues: https://github.com/prisma/prisma/issues?q=is%3Aissue+is%3Aopen+sort%3Acomments-desc By generate your schema with Prisma and crafting queries with Knex, you'll bypass many potential pitfalls associated with Prisma, such as performance concerns. Plus, you'll maintain type safety without the necessity to define interfaces. Another solution is kysely (https://kysely.dev/docs/generating-types) who proposes to generate schema with Prisma. However, please note that Kysely currently has only one collaborator (according to npm). Considering all these factors, my vote goes to the Prisma+Knex combination.