On this page
  1. Available NestJS bindings
  2. Request-boundary order
  3. Module ownership
  4. Events and transactions

NestJS

Compose Playstack capabilities through explicit NestJS modules, guards, decorators, and lifecycle bindings.

Playstack NestJS packages adapt portable capabilities to dependency injection, request metadata, guards, controllers, workers, and application lifecycle. They do not move domain policy into decorators or silently register global behavior.

Start with the NestJS guide to compose authentication, account scope, and entitlements in their required request order.

Available NestJS bindings

AreaNestJS bindingPortable capability
Errors@playstack/nest-errors@playstack/errors
Authentication@playstack/nest-auth@playstack/auth
Account scope@playstack/nest-accounts@playstack/accounts
API keys@playstack/nest-api-keys@playstack/api-keys
Audit declarations@playstack/nest-audit@playstack/audit
Entitlements@playstack/nest-entitlements@playstack/entitlements
Audience consent and lists@playstack/nest-audiences@playstack/audiences
Notification workers@playstack/nest-notifications@playstack/notifications
Delivery and unsubscribe@playstack/nest-delivery@playstack/delivery
Domain events@playstack/nest-events@playstack/events
Event sourcing@playstack/nest-event-store@playstack/event-store
Rate limiting@playstack/nest-rate-limit@playstack/rate-limit
Analytics delivery@playstack/nest-analytics@playstack/analytics
Feed regeneration@playstack/nest-feeds@playstack/feeds
Billing@playstack/nest-billing@playstack/billing
GitHub repository access@playstack/nest-github-app@playstack/github-app
Licensing@playstack/nest-licensing@playstack/licensing-issuer
Catalog@playstack/nest-catalog@playstack/catalog
One-time payments@playstack/nest-payments@playstack/payments
Inventory@playstack/nest-inventory@playstack/inventory
Orders and checkout@playstack/nest-commerce@playstack/commerce
Fulfillment@playstack/nest-fulfillment@playstack/fulfillment

Request-boundary order

Guard order is product behavior and remains visible in controllers or application policy:

text
authentication -> CSRF when cookies are ambient -> account scope
               -> entitlement or role policy -> rate limit -> handler

Authentication establishes who is calling. Account resolution revalidates which tenant they may act within. Entitlements and roles evaluate against that trusted context. Rate-limit subjects should be derived only after trustworthy identity and proxy information exist.

Module ownership

Every forRoot or forRootAsync call receives an application-configured core service or factory. Applications own database clients, queues, provider SDKs, configuration loading, global guard registration, and shutdown order. Playstack modules export their runners and consumers so worker bindings stay explicit.

Events and transactions

Decorators such as @Emits describe metadata; they cannot invent a transaction. Domain operations emit through the core event bridge inside the application transaction, and Nest lifecycle bindings pump or queue observational delivery afterward.

Go

Playstack Pro tag
OriginsPricingBlogNewsletterChangelogStatusRoadmap
ContributorsCommunityIn Use ShowcaseCase StudiesPartnersSponsors
FAQsSupportContact

© 2026 Playstack. All rights reserved.

With OSS
Terms of ServicePrivacy PolicyCookie PolicyImprint

By

Commune Software