{"_id":"@apirelio/nestjs","_rev":"2-d99bff14eba75db6760bba8f62c45182","name":"@apirelio/nestjs","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@apirelio/nestjs","version":"0.1.0","keywords":["apirelio","nestjs","api","analytics","observability"],"license":"MIT","_id":"@apirelio/nestjs@0.1.0","maintainers":[{"name":"pryznar","email":"pryznar@gmail.com"}],"homepage":"https://apirelio.com/docs","bugs":{"url":"https://github.com/pryznar/apirelio-nestjs/issues"},"dist":{"shasum":"34bd0739607648498a06dcfb9397efe499edc09c","tarball":"https://registry.npmjs.org/@apirelio/nestjs/-/nestjs-0.1.0.tgz","fileCount":8,"integrity":"sha512-yVjxmpe7sBs9GbNHOMqO9smTSEzQtZYIrHt7bKavb3mVaEHNlcLxVPPShKMdziQrAIyLpke6Pr0vUZheJhEXFw==","signatures":[{"sig":"MEUCIDkzdwHjS5KYVz8MkRfmwgG6mU5oDKA9lbdDptOl/T4EAiEA1EGHz6nt7rqyAUNjv2dHtqSfWTAwh9h+hYpqZ6XE8TY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21579},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4c872b639aff68f4f8775df11b6129b6a84fa751","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"pryznar","email":"pryznar@gmail.com"},"overrides":{"tsup":{"esbuild":"^0.28.1"}},"repository":{"url":"git+https://github.com/pryznar/apirelio-nestjs.git","type":"git"},"_npmVersion":"11.9.0","description":"Platform-aware customer integration analytics for NestJS APIs.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.0","tsup":"^8.5.0","vitest":"^4.0.0","esbuild":"^0.28.1","typescript":"^5.9.0","@types/node":"^24.0.0","@nestjs/core":"^11.1.0","@apirelio/core":"file:../node-core","@nestjs/common":"^11.1.0","@nestjs/testing":"^11.1.0","reflect-metadata":"^0.2.0","@nestjs/platform-express":"^11.1.0"},"peerDependencies":{"rxjs":"^7.8.0","@nestjs/core":">=10 <12","@apirelio/core":"^0.1.0","@nestjs/common":">=10 <12","reflect-metadata":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs_0.1.0_1785508220724_0.6652854153925716","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@apirelio/nestjs","version":"0.2.0","description":"Platform-aware customer integration analytics for NestJS APIs.","keywords":["apirelio","nestjs","api","analytics","observability"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pryznar/apirelio-nestjs.git"},"homepage":"https://apirelio.com/docs","bugs":{"url":"https://github.com/pryznar/apirelio-nestjs/issues"},"type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"engines":{"node":">=20"},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","typecheck":"tsc --noEmit","test":"vitest run","prepublishOnly":"npm run typecheck && npm test && npm run build"},"peerDependencies":{"@apirelio/core":"^0.2.0","@nestjs/common":">=10 <12","@nestjs/core":">=10 <12","reflect-metadata":"^0.2.0","rxjs":"^7.8.0"},"devDependencies":{"@apirelio/core":"file:../node-core","@nestjs/common":"^11.1.0","@nestjs/core":"^11.1.0","@nestjs/platform-express":"^11.1.0","@nestjs/testing":"^11.1.0","@types/node":"^24.0.0","esbuild":"^0.28.1","reflect-metadata":"^0.2.0","rxjs":"^7.8.0","tsup":"^8.5.0","typescript":"^5.9.0","vitest":"^4.0.0"},"publishConfig":{"access":"public"},"overrides":{"tsup":{"esbuild":"^0.28.1"}},"gitHead":"9b109fb2217eba8229f832b49c816b815631b5f7","_id":"@apirelio/nestjs@0.2.0","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-x6e0DoqzfWN5ZEdToZA6XStAaXNzurgfpJWQyN6aqqohsuUOYEVXtzBmjpc8SQrmHq+9BPovFmXJqvrNv9msBA==","shasum":"3baf52393ba7a72c19e285be3456c41433253928","tarball":"https://registry.npmjs.org/@apirelio/nestjs/-/nestjs-0.2.0.tgz","fileCount":8,"unpackedSize":22322,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDdl91TZjoBdAhz70TZPrLjHb6l7WsrVWlz/O+s48cybAiBDirjqKCfROAdM0Gx34YcKdqx5UYG9dtnx0TsdmDIOxA=="}]},"_npmUser":{"name":"pryznar","email":"pryznar@gmail.com"},"directories":{},"maintainers":[{"name":"pryznar","email":"pryznar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs_0.2.0_1785512553354_0.48126703549427496"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-31T14:30:20.599Z","modified":"2026-07-31T15:42:33.713Z","0.1.0":"2026-07-31T14:30:20.851Z","0.2.0":"2026-07-31T15:42:33.508Z"},"bugs":{"url":"https://github.com/pryznar/apirelio-nestjs/issues"},"license":"MIT","homepage":"https://apirelio.com/docs","keywords":["apirelio","nestjs","api","analytics","observability"],"repository":{"type":"git","url":"git+https://github.com/pryznar/apirelio-nestjs.git"},"description":"Platform-aware customer integration analytics for NestJS APIs.","maintainers":[{"name":"pryznar","email":"pryznar@gmail.com"}],"readme":"# Apirelio NestJS SDK\n\nGlobal NestJS interceptor for customer-aware API analytics on both Express and Fastify platforms.\nEvents enter a bounded background batch queue and never await Apirelio from the request pipeline.\n\n```bash\nnpm install @apirelio/nestjs\n```\n\n```ts\nimport { Module } from '@nestjs/common'\nimport { ApirelioModule } from '@apirelio/nestjs'\n\n@Module({\n  imports: [\n    ApirelioModule.forRoot({\n      apiKey: process.env.APIRELIO_API_KEY ?? '',\n      endpoint: process.env.APIRELIO_ENDPOINT ?? 'https://apirelio.com',\n      service: 'billing-api',\n      environment: 'production',\n      includeRoutes: ['/api/**'],\n      excludeRoutes: ['/api/health', '/api/internal/**'],\n      resolveCustomer: request => request.user ? {\n        id: String(request.user.companyId),\n        name: request.user.companyName,\n      } : null,\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\nUse `ApirelioModule.forRootAsync()` when credentials come from Nest's configuration module.\n\nThe module registers a global interceptor and flushes during Nest application shutdown. Enable\nNest shutdown hooks with `app.enableShutdownHooks()` so container termination triggers the flush.\nBodies, query strings, credentials, cookies, email addresses and IP addresses are never captured.\n\nRoute patterns are exact paths or prefixes ending in `/**`. If `includeRoutes` is omitted, all\nincoming NestJS HTTP routes are eligible; `excludeRoutes` always takes precedence.\n","readmeFilename":"README.md"}