Cargo.toml, import the matching module, and wire it into your #[module] declaration the same way you would any other provider.
Available modules
CacheModule
In-process key/value cache with optional TTL. Swap the in-memory backend for Redis by enabling
the
cache-redis feature. Exposes CacheService with get, set, del, and ttl operations.ScheduleModule
Run cron jobs and interval tasks inside your process. Backed by
tokio-cron-scheduler. Declare
tasks with #[cron("...")] or #[interval(ms)] on a #[schedule_routes] impl block.QueuesModule
In-process baseline queue (Bull-style API) under
queues. For multi-instance
production, enable queues-redis — durable Redis lists (LPUSH / BRPOP),
not the BullMQ wire protocol. Declare processors with #[queue_processor("NAME")].I18nModule
Locale-aware responses. Call
NestApplication::use_i18n() to activate locale detection from
query string or Accept-Language, then translate via catalogs in I18nService.SqlxDatabaseModule
Direct SQLx access via
AnyPool. Enables SqlxDatabaseService with a shared pool and a
ping helper. Lighter than nestrs-prisma if you only need raw SQL.nestrs-prisma
Prisma-style schema-driven access. Ships
PrismaModule, PrismaService, and the
prisma_model! macro for declarative repositories — no separate codegen step required.MongoModule
Official
mongodb driver integration. Bootstrap with MongoModule::for_root(uri) and inject
MongoService to get typed collections and a ping helper.nestrs-openapi
OpenAPI 3.1 JSON document and Swagger UI. Auto-discovers routes from the
RouteRegistry.
Customize with #[openapi(summary, tag, responses)] and OpenApiOptions.nestrs-oauth2
OAuth2 client (authorization code + PKCE, client credentials, refresh) and a JWKS-backed
resource server (
JwtVerifier), plus social providers (Google / GitHub / Microsoft /
Apple) and OAuth2Guard route protection. Enable the oauth2 feature on nestrs.nestrs-storage
Multi-cloud object storage behind one
Storage trait — Local filesystem, S3, GCS, and
Azure Blob backends — with presigned-URL helpers and the #[upload_to] decorator.Adapter crates
Socket.IO, Lambda, Passport, Better Auth, BullMQ, SAML, LDAP, and SeaORM — companion
crates for NestJS surfaces that do not fold into Axum.
Feature flag reference
Add features to thenestrs dependency in your Cargo.toml. Features compose: you can combine any of them in a single project.
nestrs-prisma, nestrs-storage, and the adapter crates (nestrs-socketio, nestrs-lambda, nestrs-auth-strategy, nestrs-better-auth, nestrs-bullmq, nestrs-saml, nestrs-ldap, nestrs-sea-orm) are separate crates, not feature flags on nestrs. Add nestrs-prisma with one of sqlx-postgres, sqlx-mysql, or sqlx-sqlite. Add nestrs-storage with one of local, s3, gcs, azure, or all.How to enable a module
All optional modules follow the same pattern: enable the Cargo feature, then import theDynamicModule result in #[module(imports = [...])].