Ranked in these QuestionsQuestion Ranking
Pros
Pro Written in TypeScript
Integrates very well with Angular projects and other projects leveraging TypeScript.
Pro Abstracts SQL and NoSQL
Able to connect to SQL and NoSQL sources with a unified API.
Pro No major contenders
May inexplicably have no major contenders in TS land.
Pro Weak Controller Generation and Discovery
Loopback and Sails implement API generation natively, with lots of features. TypeORM integrates Express route / endpoint / controller generation via an extension.
Loopback implements complex database discovery with SQL and NoSQL stores. TypeORM can also generate models based on an existing database, but it is done via extension and the database must be SQL: Microsoft SQL Server, PostgreSQL, MySQL, or MariaDB.
Still, these are great features most Node ORMs today do not have at all.
Cons
Con Based on decorators
TypeORM relies on decorators, and obsolete implementations of them at that. To add insult to injury, simple decorator syntax is not provided. So you need to write e.g. @Column()
instead of @Column
. This is an issue with the API design, a very nasty one (Angular does it is not a good reason to do anything).
Con Uncertain future
Confusing/obscure/unpredictable/broken parts. Sometimes glorious, sometimes goofy. Devs almost abandoned the project. Feels like driving a luxury car with flat tires.
Con The first stable 1.0.0 version release was planned for autumn of 2018, today on 2020/03, they have an unstable 0.2.24 version
Con In transactions when it throws an error, it doesn't roll back all operations within transactions
Con In transactions, many inserts generate an error
Con Confuses Classes with Types
The conflation of types and classes is a bad thing for JavaScript and TypeScript. To make matters worse, they often lead to the maximally complicated solution, especially for simple problems, result in awkward interop, and are incompatible with the extensive syntactic sugar that JavaScript provides for objects.
Commonly Compared
