Skip to content

Installation

Install the package

Terminal window
npm install @usebetterdev/tenant

The main package (@usebetterdev/tenant) includes the core library and all adapters via subpath exports. The CLI (@usebetterdev/tenant-cli) is used via npx for generating migrations and verifying your setup — no installation required.

Peer dependencies

You need a database driver and (optionally) a framework. Install the ones you use:

ORM adapter

Terminal window
npm install drizzle-orm pg

Import: @usebetterdev/tenant/drizzle

Framework adapter

Terminal window
npm install hono

Import: @usebetterdev/tenant/hono

Requirements

  • Node.js 22+ (also supports Bun and Deno)
  • PostgreSQL 13+ (RLS, session variables, SET LOCAL)
  • TypeScript 5+ (recommended, but not required)

Subpath exports

All adapters are available through the umbrella package via subpath exports:

ImportContents
@usebetterdev/tenantCore: betterTenant, getContext, runAs, runAsSystem
@usebetterdev/tenant/drizzledrizzleAdapter, createGetTenantRepository
@usebetterdev/tenant/prismaprismaAdapter, createGetTenantRepository
@usebetterdev/tenant/honocreateHonoMiddleware
@usebetterdev/tenant/expresscreateExpressMiddleware
@usebetterdev/tenant/nextwithTenant

Next steps