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.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.