@apirelio/nestjs
v0.2.1
Published
Platform-aware customer integration analytics for NestJS APIs.
Maintainers
Readme
Apirelio NestJS SDK
Documentation · npm · Apirelio
Connect NestJS API errors, latency and releases to the affected customers without capturing request or response payloads.
Global NestJS interceptor for customer-aware API analytics on both Express and Fastify platforms. Events enter a bounded background batch queue and never await Apirelio from the request pipeline.
npm install @apirelio/nestjsimport { Module } from '@nestjs/common'
import { ApirelioModule } from '@apirelio/nestjs'
@Module({
imports: [
ApirelioModule.forRoot({
apiKey: process.env.APIRELIO_API_KEY ?? '',
endpoint: process.env.APIRELIO_ENDPOINT ?? 'https://apirelio.com',
service: 'billing-api',
environment: 'production',
includeRoutes: ['/api/**'],
excludeRoutes: ['/api/health', '/api/internal/**'],
resolveCustomer: request => request.user ? {
id: String(request.user.companyId),
name: request.user.companyName,
} : null,
}),
],
})
export class AppModule {}Use ApirelioModule.forRootAsync() when credentials come from Nest's configuration module.
The module registers a global interceptor and flushes during Nest application shutdown. Enable
Nest shutdown hooks with app.enableShutdownHooks() so container termination triggers the flush.
Bodies, query strings, credentials, cookies, email addresses and IP addresses are never captured.
Route patterns are exact paths or prefixes ending in /**. If includeRoutes is omitted, all
incoming NestJS HTTP routes are eligible; excludeRoutes always takes precedence.
