Framework Integrations
First-class support for popular frameworks.
Available Integrations​
| Framework | Package | Features |
|---|---|---|
| NestJS | @saga-bus/nestjs | Full DI, decorators |
| Next.js | @saga-bus/nextjs | App Router, API routes |
| Express | @saga-bus/express | Middleware, health |
| Fastify | @saga-bus/fastify | Plugin, health |
| Hono | @saga-bus/hono | Edge runtime |
Choosing an Integration​
NestJS​
Best for enterprise applications with full dependency injection:
@Module({
imports: [SagaBusModule.forRoot({ ... })],
})
export class AppModule {}
Next.js​
Best for serverless and edge deployments:
// app/api/orders/route.ts
import { publishMessage } from '@saga-bus/nextjs';
export async function POST(request: Request) {
await publishMessage({ type: 'OrderSubmitted', ... });
}
Express/Fastify/Hono​
Best for traditional Node.js servers:
import { sagaBusMiddleware } from '@saga-bus/express';
app.use(sagaBusMiddleware({ bus }));
Common Patterns​
Health Checks​
All integrations support health endpoints:
// Express
app.use('/health', createHealthRouter(bus));
// Fastify
fastify.register(sagaBusFastifyPlugin, { bus });
// NestJS
@Module({
imports: [SagaBusModule.forRoot({ healthCheck: true })],
})
Graceful Shutdown​
import { setupGracefulShutdown } from '@saga-bus/express';
setupGracefulShutdown(bus, server);