Joist is an opinionated TypeScript object-relational mapper designed for PostgreSQL-backed Node.js applications.
It follows a schema-first workflow, generating strongly typed entity classes from the database schema while keeping application-specific business logic in handwritten files.
The ORM focuses on domain modelling, query performance and compile-time safety. It combines a unit-of-work pattern with automatic query batching, type-safe relation loading, reactive fields and integrated testing utilities.
This is free and open source software.
Key Features
- Generates TypeScript entity classes directly from the PostgreSQL schema.
- Preserves handwritten domain logic when regenerating entity code.
- Prevents N+1 query problems through automatic batching and preloading.
- Uses bulk SELECT, INSERT and UPDATE operations to improve performance.
- Tracks loaded and unloaded relations through the TypeScript type system.
- Provides a unit-of-work model for managing related entities consistently.
- Supports reactive fields, validation rules and lifecycle hooks.
- Offers type-safe filtering, ordering and relation traversal.
- Includes test factories and fast database-reset utilities.
- Provides utilities for GraphQL code generation and resolvers.
- Works with existing migration tools and schema-management workflows.
- Allows applications to use raw SQL for specialised queries.
Website: github.com/joist-orm/joist-orm
Support:
Developer: Stephen Haberman
License: MIT License
Joist is written in TypeScript. Learn TypeScript with our recommended free books and free tutorials.
Related Software
| TypeScript Object-Relational Mapping Software | |
|---|---|
| Sequelize | Promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and more |
| TypeORM | ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic ... |
| Prisma | Next-generation Node.js and TypeScript ORM |
| Drizzle ORM | Lightweight TypeScript toolkit for type-safe SQL database access |
| Objection.js | ORM for Node.js that aims to stay out of your way |
| MikroORM | ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns |
| Lucid | Active Record database layer designed for AdonisJS applications |
| Joist | Opinionated TypeScript data layer with strong typing and relations |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.