Frustrated about ORMs

This page summarizes the projects mentioned and recommended in the original post on /r/node

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • Prisma

    Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

    That being said, we're always eager to learn about the use cases people have for long-running transactions and might consider adding API for them in the future. If you have use cases that are not covered by the Prisma API, it would be greatly appreciated if you could share them on GitHub so that our Product and Engineering teams can evaluate them and potentially incorporate them in our roadmap :)

  • ts-mysql-plugin

    A typescript language service plugin that gives superpowers to SQL tagged template literals.

    This is what we've been using at Segment: - https://github.com/segmentio/ts-mysql-plugin (for autocomplete and query validation) - https://github.com/nettofarah/mysql-schema-ts (generate TS interfaces for your DB) - An internal migration tool we'll open source at some point that is built on top of sqlize migrations: https://sequelize.org/v3/docs/migrations/

  • 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.

  • slonik

    A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.

    For example, Slonik, pgtyped and Zapatos are all fantastic libraries if you want to use plain and fully-typed SQL. But if you specifically want to work on a higher-level of abstraction and are looking for a more intuitive and fully type-safe way to query your data, then I definitely think that Prisma is the best option in the TypeScript ecosystem at the moment. (Here's an article written by someone who migrated from TypeORM to Prisma: Migrating a Large Production App From TypeORM To Prisma).

  • 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.

    Transparent and active development process via GitHub with biweekly releases, including a public and well-maintained roadmap (where TypeORM isn't properly maintained any more and its future is currently unclear)

  • prisma-examples

    🚀 Ready-to-run Prisma example projects

    Extensive documentation, tutorials, videos and other resources

  • nestjs-auth-graphql-starter

    Discontinued NestJS starter template with GraphQL and PassportJS authentication.

    I've been using TypeORM for a good while now. I also have a boilerplate where I use it in NestJS, since that's my backend framework of choice, and am currently working on an analog version of that one using MikroORM.

  • nestjs-auth-graphql-mikroorm-starter

    A NestJS boilerplate with authentication, GraphQL and MikroORM.

    The good thing about NestJS at least is that MikroORM has a great integration for it. It may not be first-party but at least it's almost a drop-in replacement for TypeORM and I'm really hoping it starts doing well. I've also started to transition to it for my company and have been working in a boilerplate for this setup if you're curious in checking it out.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • docs

    📚 Prisma Documentation (by prisma)

    That's fair! I'm actually with you that proper documentation contributes a lot to a positive developer experience and while it seems like a detail, I totally understand how this feels off putting! I've created an issue for this forwarded it to our docs team to get this fixed very soon. Thanks again for reporting!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts