{"_id":"@apirelio/nuxt","_rev":"2-715e3ed694822e72bf2c41ddbed089c3","name":"@apirelio/nuxt","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@apirelio/nuxt","version":"0.1.0","keywords":["apirelio","nuxt","nitro","api","analytics","observability"],"license":"MIT","_id":"@apirelio/nuxt@0.1.0","maintainers":[{"name":"pryznar","email":"pryznar@gmail.com"}],"homepage":"https://apirelio.com/docs","bugs":{"url":"https://github.com/pryznar/apirelio-nuxt/issues"},"dist":{"shasum":"386b0ca947ab906cc7513474a1433c8f024b1bb2","tarball":"https://registry.npmjs.org/@apirelio/nuxt/-/nuxt-0.1.0.tgz","fileCount":16,"integrity":"sha512-6o/BcyFBZYJZaMNujCkPBxgcHUL0RygUg3VJImfVyix+sF5g0vpgfebw6MAZU/pQt/rKoRAryhvvJem0ohQAlg==","signatures":[{"sig":"MEUCICRGJ86osrH0AtzBlpoGRzJn7mFfsoGCMcnAQxnhI/2yAiEA4tuavRwlRrbaQhjc8jHsHBRRSfvBP8luLXYQuGZP4xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12660},"main":"./dist/module.mjs","type":"module","types":"./dist/types.d.mts","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"d2635440b6f8a92d4ac5a9e4bd64c6b4a65ea9c3","scripts":{"test":"vitest run","build":"nuxt-module-build build","prepare":"nuxt-module-build build","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"pryznar","email":"pryznar@gmail.com"},"repository":{"url":"git+https://github.com/pryznar/apirelio-nuxt.git","type":"git"},"_npmVersion":"11.9.0","description":"Fail-safe asynchronous API analytics for Nuxt and Nitro.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"@nuxt/kit":"^3.15.0 || ^4.0.0"},"publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/types.d.mts"],"runtime":["./dist/runtime/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"h3":"^1.15.0","nuxt":"^4.5.1","vitest":"^4.1.0","nitropack":"^2.12.0","typescript":"^5.9.0","@types/node":"^24.0.0","@apirelio/core":"file:../node-core","@nuxt/module-builder":"^1.0.3"},"peerDependencies":{"h3":">=1.13 <2","nuxt":">=3.15 <5","nitropack":">=2.10 <3","@apirelio/core":"^0.1.0"},"peerDependenciesMeta":{"h3":{"optional":true},"nitropack":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.0_1785510211246_0.4080254273978956","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@apirelio/nuxt","version":"0.2.0","description":"Fail-safe asynchronous API analytics for Nuxt and Nitro.","keywords":["apirelio","nuxt","nitro","api","analytics","observability"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pryznar/apirelio-nuxt.git"},"homepage":"https://apirelio.com/docs","bugs":{"url":"https://github.com/pryznar/apirelio-nuxt/issues"},"type":"module","sideEffects":false,"main":"./dist/module.mjs","types":"./dist/types.d.mts","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"typesVersions":{"*":{".":["./dist/types.d.mts"],"runtime":["./dist/runtime/index.d.ts"]}},"engines":{"node":">=20.19"},"scripts":{"build":"nuxt-module-build build","prepare":"nuxt-module-build build","typecheck":"tsc --noEmit","test":"vitest run","prepublishOnly":"npm run typecheck && npm test && npm run build"},"dependencies":{"@nuxt/kit":"^3.15.0 || ^4.0.0"},"peerDependencies":{"@apirelio/core":"^0.2.0","h3":">=1.13 <2","nitropack":">=2.10 <3","nuxt":">=3.15 <5"},"peerDependenciesMeta":{"h3":{"optional":true},"nitropack":{"optional":true}},"devDependencies":{"@apirelio/core":"file:../node-core","@nuxt/module-builder":"^1.0.3","@types/node":"^24.0.0","h3":"^1.15.0","nitropack":"^2.12.0","nuxt":"^4.5.1","typescript":"^5.9.0","vitest":"^4.1.0"},"publishConfig":{"access":"public"},"gitHead":"9b109fb2217eba8229f832b49c816b815631b5f7","_id":"@apirelio/nuxt@0.2.0","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-pAyBL4I0w2XW/4HETnbIHTScLxtAtrXZxH5JhVCnxcIHU/c6H8d1fODLHxteUfdY9uJf4V0A/6g3YeRSlEsAog==","shasum":"ecee5f935098c021d59f142634e1d03033bfc4a3","tarball":"https://registry.npmjs.org/@apirelio/nuxt/-/nuxt-0.2.0.tgz","fileCount":16,"unpackedSize":13142,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFJw3t2SoD8IeIBRAFa83YHeUXSWATvTfv0wfQQorgYsAiBcYNnDpuZgTYuzFz5ZC77j7P0zTFodsnn98kt4g9rBPQ=="}]},"_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/nuxt_0.2.0_1785512561164_0.60133265864266"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-31T15:03:31.099Z","modified":"2026-07-31T15:42:41.506Z","0.1.0":"2026-07-31T15:03:31.402Z","0.2.0":"2026-07-31T15:42:41.333Z"},"bugs":{"url":"https://github.com/pryznar/apirelio-nuxt/issues"},"license":"MIT","homepage":"https://apirelio.com/docs","keywords":["apirelio","nuxt","nitro","api","analytics","observability"],"repository":{"type":"git","url":"git+https://github.com/pryznar/apirelio-nuxt.git"},"description":"Fail-safe asynchronous API analytics for Nuxt and Nitro.","maintainers":[{"name":"pryznar","email":"pryznar@gmail.com"}],"readme":"# @apirelio/nuxt\n\nAsynchronous, privacy-safe API analytics for Nuxt 3/4 and Nitro server routes.\n\n## Install\n\n```bash\nnpm install @apirelio/nuxt @apirelio/core\n```\n\n```ts\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['@apirelio/nuxt'],\n  apirelio: {\n    service: 'billing-api',\n    environment: 'production',\n    metadataKeys: ['region'],\n    includeRoutes: ['/api/**'],\n    excludeRoutes: ['/api/health', '/api/internal/**'],\n  },\n})\n```\n\nKeep the project key in private runtime config:\n\n```bash\nNUXT_APIRELIO_API_KEY=aprl_live_...\n```\n\nThe module captures server route templates, methods, status codes, latency, request/response sizes and explicitly allowed headers. Custom metadata is retained only when its key is listed in `metadataKeys`. It never captures request or response payloads, cookies, authorization headers or query values.\n\nNuxt tracks only `/api/**` by default. Patterns are exact paths or prefixes ending in `/**`, and\n`excludeRoutes` always wins. Set `includeRoutes: []` explicitly if the application intentionally\nneeds analytics for every Nitro server route.\n\n## Customer context\n\nSet integration context from your server authentication middleware. The module reads it after the response finishes.\n\n```ts\nimport { setApirelioContext } from '@apirelio/nuxt/runtime'\n\nexport default defineEventHandler((event) => {\n  setApirelioContext(event, {\n    customer: { id: 'cus_123', plan: 'pro' },\n    application: { id: 'shopify', name: 'Shopify' },\n    metadata: { region: 'eu' },\n  })\n})\n```\n\nAll delivery is fail-safe and uses the bounded asynchronous queue from `@apirelio/core`. Pending events are flushed when Nitro shuts down.\n","readmeFilename":"README.md"}