Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
joist-orm/joist-orm: a TypeScript ORM for Postgres

joist-orm/joist-orm: a TypeScript ORM for Postgres

11 hours ago

npm</a> npm next</a> CircleCI</a>

Joist

An opinionated ORM for TypeScript/node/postgres.

Goals

Documentation

See joist-orm.io for documentation.

Building Joist

For contributing to Joist itself, after checkout:

  • Run yarn install
  • Run yarn build to compile all packages
  • Run yarn db to boot up a Docker postgres instance w/the integration test schema.
  • Run yarn test to run the tests.
  • Prior to committing your changes, run yarn workspaces run format
The build runs two complementary TypeScript checks after tsdown emits the package artifacts:
  • yarn typecheck:packages checks each public package's source with its ESM-first NodeNext configuration. It catches source errors that tsdown's isolated transforms do not report and runs after the build so workspace package imports can resolve the emitted declarations.
  • yarn typecheck:consumers checks the unit-test project and every joist-tests-* workspace against the emitted package exports. This covers the ESM and CommonJS declaration paths, generated module augmentations, and other issues that only appear when Joist is consumed as a package.
yarn start runs tsdown and TypeScript in watch mode as separate mprocs processes. build:watch updates the ESM and CommonJS artifacts, while typecheck:watch incrementally checks the complete package and consumer project graph. The typecheck watcher emits declarations because TypeScript project-reference builds cannot use --noEmit; build:watch does not clean them while both processes are running, and the next normal build removes them.

License

MIT

Chat with me