NestJS Kit is a monorepo of independent NestJS integrations for storage, media, PostgreSQL, email, chat, and realtime messaging. Each package connects an existing SDK to Nest's module and dependency injection system, so application code can focus on using the service.
Install only the integrations you need. Packages have their own npm releases and usage guides, with shared tooling and maintenance in this repository.
Each package README covers installation and usage.
nestjs-azure-storage-blob- Azure Blob Storage operations and direct uploads through SAS URLs.
nestjs-drizzle-pg- Drizzle ORM with PostgreSQL pools or clients.
@nestjs-kit/cloudinary- Signed uploads and media uploads with Cloudinary transformation options.
@nestjs-kit/nodemailer- Email delivery through configurable Nodemailer transports.
@nestjs-kit/redis- Redis and Valkey clients from any client library, injected by alias.
@nestjs-kit/s3- S3-compatible storage clients, including AWS, NetApp and Ceph.
nestjs-pg-listen- PostgreSQL LISTEN / NOTIFY with a managed subscriber lifecycle.
nestjs-pubnub- Publishing and subscribing through an injectable PubNub client.
nestjs-sendbird- Sendbird Platform API calls with per-application tokens.
nestjs-sendgrid- Mail Send and Web API calls through isolated Twilio SendGrid accounts.
nestjs-slightly-better-auth- Better Auth sessions, guards and authorization for NestJS applications.
nestjs-strategy- Strategy-pattern registries that select Nest providers by key.
- Nest-native configuration. Register options directly or resolve them asynchronously through dependency injection. Inject the client or adapter service using Nest's standard APIs.
- SDK access. Use the underlying SDK's operations and types. Adapters add configuration, useful integration helpers, and connection cleanup where needed.
- Separate integrations. Each package is installed, versioned, and published independently. Its README documents supported registration options and lifecycle behavior.
- Both module formats. Every library ships ESM and CommonJS builds with matching TypeScript declarations. Package exports select the correct files for
importandrequire().
Install mise and activate it in your shell, then:
mise trust
mise install
pnpm install
pnpm build
pnpm testmise.toml defines the toolchain. Development tracks the latest Node.js LTS (currently 24) and uses a pinned stable pnpm release; pnpm does not publish an LTS channel. Turbo uses streaming output without its terminal UI.
Read CONTRIBUTING.md for checks, commit conventions, and pull requests. Release automation explains independent package versions and the one-time npm setup.
The repository and its packages use ISC unless a package's own LICENSE file states otherwise. Consult each package's license when using its files.