A zero-abstraction Postgres library for TypeScript that provides type safety without being an ORM.
Zapatos is a database library for TypeScript that provides type-safe access to PostgreSQL without being an ORM. It generates TypeScript types directly from your database schema, allowing you to write SQL queries with full type checking while maintaining direct control over your database interactions.
TypeScript developers working with PostgreSQL who want type safety without the overhead and abstractions of traditional ORMs.
Developers choose Zapatos because it provides the type safety they need while keeping them close to the SQL metal—no abstraction layers, no magic, just PostgreSQL with TypeScript types automatically generated from the actual database schema.
Zero-abstraction Postgres for TypeScript: a non-ORM database library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically generates TypeScript types from your PostgreSQL schema, ensuring compile-time validation of database queries as emphasized in the README.
Works directly with SQL, avoiding ORM complexity and performance penalties, allowing efficient use of PostgreSQL's native capabilities.
Introspects the database to create accurate type definitions, reducing manual work and errors in type definitions.
Has a small library footprint that doesn't interfere with PostgreSQL, preserving native performance and low overhead.
Only supports PostgreSQL, making it unsuitable for projects using other databases or requiring database flexibility.
Requires regenerating types when the schema changes, which can be a manual, error-prone step in dynamic environments.
Lacks ORM conveniences like automatic joins or migrations, forcing developers to handle these aspects manually with SQL.
Assumes proficiency in SQL, which can be a barrier for teams less familiar with database querying and optimization.