Esme is a TypeScript-first schema migration library for PostgreSQL that provides an abstract interface for managing database schema changes. Current stable version is 0.3.5, with irregular release cadence. It differentiates from tools like Knex or TypeORM by focusing on a minimal, type-safe API using bus-style actions (addTable, addColumn, relationships) and offering an abstract class to implement custom migration backends. Requires pg v7 as a peer dependency.
npm install esmeNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows how to extend the Esme abstract class and implement all required migration methods.
Pin to exact version and test thoroughly before upgrading.
Use pg version 7.x explicitly in your project.
Create a subclass that implements all abstract methods.
Install esme: npm install esme
Use import { Esme } from 'esme'.Install pg: npm install pg@7