{"_id":"@adaptive-debounce/nuxt","_rev":"2-f677ba9f29ed474ef8a5a66ffbe5fc4a","name":"@adaptive-debounce/nuxt","dist-tags":{"next":"0.1.0-rc.1","latest":"0.1.0"},"versions":{"0.1.0-rc.1":{"name":"@adaptive-debounce/nuxt","version":"0.1.0-rc.1","license":"MIT","_id":"@adaptive-debounce/nuxt@0.1.0-rc.1","maintainers":[{"name":"kjaal","email":"olivergamborg@gmail.com"}],"homepage":"https://github.com/Kjaal/adaptive-debounce#readme","bugs":{"url":"https://github.com/Kjaal/adaptive-debounce/issues"},"dist":{"shasum":"e367db9e9f1c5604f43dd2bca6facd4b78adfb5a","tarball":"https://registry.npmjs.org/@adaptive-debounce/nuxt/-/nuxt-0.1.0-rc.1.tgz","fileCount":15,"integrity":"sha512-YLMT0mHh/7niJKmrrxZjNR1cwTK+xOjVDiqJtMA17ad0nArSjoK2I+QTpKACFVshQ6vvhGBUwWlcOhewusGCrw==","signatures":[{"sig":"MEUCICUi9YP2D3Y2p1vIPfDhjSSIGXccynymDPrhJ/CNp4i0AiEAiIQV4Aea5YG6Yuubq7MfBXoewx6OH3Wno2Spnb/dfOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-debounce%2fnuxt@0.1.0-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22141},"main":"./dist/module.mjs","type":"module","_from":"file:/home/runner/work/adaptive-debounce/adaptive-debounce/release/adaptive-debounce-nuxt-0.1.0-rc.1.tgz","types":"./dist/module.d.mts","module":"./dist/module.mjs","exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./package.json":"./package.json"},"scripts":{"lint":"biome lint .","test":"vitest run --config vitest.config.ts && pnpm test:nuxt","build":"tsdown && tsc -p tsconfig.runtime.json","test:nuxt":"pnpm build && nuxt typecheck test/fixtures/nuxt && nuxt build test/fixtures/nuxt","typecheck":"tsc --noEmit -p tsconfig.json","format:check":"biome format ."},"_npmUser":{"name":"kjaal","email":"olivergamborg@gmail.com"},"_resolved":"/home/runner/work/adaptive-debounce/adaptive-debounce/release/adaptive-debounce-nuxt-0.1.0-rc.1.tgz","_integrity":"sha512-YLMT0mHh/7niJKmrrxZjNR1cwTK+xOjVDiqJtMA17ad0nArSjoK2I+QTpKACFVshQ6vvhGBUwWlcOhewusGCrw==","repository":{"url":"git+https://github.com/Kjaal/adaptive-debounce.git","type":"git","directory":"packages/nuxt"},"_npmVersion":"11.19.0","description":"Nuxt integration for adaptive-debounce.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@nuxt/kit":"~4.4.2","@nuxt/schema":"~4.4.2","adaptive-debounce":"^0.1.0-rc.1","@adaptive-debounce/vue":"^0.1.0-rc.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.41","nuxt":"4.4.2","tsdown":"0.22.14","vitest":"4.1.11","vue-tsc":"3.3.11","typescript":"5.9.3","@biomejs/biome":"2.5.10"},"peerDependencies":{"vue":">=3.5.0 <4.0.0","nuxt":">=4.4.0 <4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.0-rc.1_1787866323977_0.3575675024572267","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@adaptive-debounce/nuxt","version":"0.1.0","description":"Nuxt integration for adaptive-debounce.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Kjaal/adaptive-debounce.git","directory":"packages/nuxt"},"bugs":{"url":"https://github.com/Kjaal/adaptive-debounce/issues"},"homepage":"https://github.com/Kjaal/adaptive-debounce#readme","type":"module","sideEffects":false,"main":"./dist/module.mjs","module":"./dist/module.mjs","types":"./dist/module.d.mts","exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./package.json":"./package.json"},"publishConfig":{"access":"public"},"dependencies":{"@nuxt/kit":"~4.5.1","@nuxt/schema":"~4.5.1","@adaptive-debounce/vue":"^0.1.0","adaptive-debounce":"^0.1.0"},"peerDependencies":{"nuxt":">=4.5.1 <4.6.0","vue":">=3.5.0 <4.0.0"},"devDependencies":{"@biomejs/biome":"2.5.10","nuxt":"4.5.1","tsdown":"0.22.14","typescript":"5.9.3","vitest":"4.1.11","vue":"3.5.41","vue-tsc":"3.3.11"},"scripts":{"build":"tsdown && tsc -p tsconfig.runtime.json","format:check":"biome format .","lint":"biome lint .","test":"vitest run --config vitest.config.ts && pnpm test:nuxt","test:nuxt":"pnpm build && nuxt typecheck test/fixtures/nuxt && nuxt build test/fixtures/nuxt","typecheck":"tsc --noEmit -p tsconfig.json"},"_id":"@adaptive-debounce/nuxt@0.1.0","_integrity":"sha512-FN474tM4n77Bfscs2rRLCCGqGF+SeSroj5S3mlU8P/23guoxUWHPtmhWkvhG848xfIjklO91YK+o8fx7xDEJEQ==","_resolved":"/home/runner/work/adaptive-debounce/adaptive-debounce/release/adaptive-debounce-nuxt-0.1.0.tgz","_from":"file:/home/runner/work/adaptive-debounce/adaptive-debounce/release/adaptive-debounce-nuxt-0.1.0.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-FN474tM4n77Bfscs2rRLCCGqGF+SeSroj5S3mlU8P/23guoxUWHPtmhWkvhG848xfIjklO91YK+o8fx7xDEJEQ==","shasum":"1db6faa580996440e45ac1b2fd5baa92c4245cfd","tarball":"https://registry.npmjs.org/@adaptive-debounce/nuxt/-/nuxt-0.1.0.tgz","fileCount":15,"unpackedSize":22325,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-debounce%2fnuxt@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICnzUEDFdJm96/RHHPRUB4ucTv5WDWOlCdrONzEt6KK0AiAv4b6XFaC7QxaoYudrRwowDP3iOqgZghiKUyUO1c+7Tg=="}]},"_npmUser":{"name":"kjaal","email":"olivergamborg@gmail.com"},"directories":{},"maintainers":[{"name":"kjaal","email":"olivergamborg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt_0.1.0_1788720130770_0.16620608146157512"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T21:32:03.786Z","modified":"2026-09-06T18:42:11.210Z","0.1.0-rc.1":"2026-08-27T21:32:04.119Z","0.1.0":"2026-09-06T18:42:10.898Z"},"bugs":{"url":"https://github.com/Kjaal/adaptive-debounce/issues"},"license":"MIT","homepage":"https://github.com/Kjaal/adaptive-debounce#readme","repository":{"type":"git","url":"git+https://github.com/Kjaal/adaptive-debounce.git","directory":"packages/nuxt"},"description":"Nuxt integration for adaptive-debounce.","maintainers":[{"name":"kjaal","email":"olivergamborg@gmail.com"}],"readme":"# @adaptive-debounce/nuxt\n\nInstall adaptive debounce once for a Nuxt application. The module creates one request-safe runtime\nper Nuxt app, starts typing observation after client mount, and auto-imports the Vue composables.\n\n## Install\n\nRequires Nuxt `>=4.5.1 <4.6.0` and Vue `>=3.5.0 <4.0.0`. The packed consumer checks use Nuxt\n`4.5.1`; earlier Nuxt versions are excluded because they lack upstream security fixes.\n\n```sh\nnpm install adaptive-debounce@0.1.0 @adaptive-debounce/vue@0.1.0 @adaptive-debounce/nuxt@0.1.0\n```\n\n## Configure\n\n```ts\nexport default defineNuxtConfig({\n  modules: ['@adaptive-debounce/nuxt'],\n  adaptiveDebounce: {\n    persistence: true,\n    delay: {\n      minimumDelayMs: 600,\n      maximumDelayMs: 1_800,\n    },\n  },\n})\n```\n\nObservation is enabled by default. Persistence is opt-in and uses same-origin localStorage with a\none-second trailing save. Only timing metadata is stored; input values are never read or saved.\n\n## Use anywhere\n\nThe module auto-imports `useAdaptiveDebounceRuntime`, `useAdaptiveDelay`, and\n`useAdaptiveDebouncedFn`:\n\n```vue\n<script setup lang=\"ts\">\nconst delayMs = useAdaptiveDelay()\nconst saveDraft = useAdaptiveDebouncedFn(async (draft: Draft) => {\n  await api.saveDraft(draft)\n})\n</script>\n```\n\nEach composable-created callback has an independent timer. The learned delay and persisted profile\nare shared across client-side route changes. The same runtime is also available as\n`useNuxtApp().$adaptiveDebounce`.\n\nRoute-component teardown cancels that component's pending callback without flushing it. Call and\nawait the callback's `flush()` before navigation when the save must finish first. With persistence\ndisabled, the learned profile survives route changes but not a hard reload.\n\n## SSR and advanced setup\n\nThe universal plugin creates a fresh cold runtime for each Nuxt app or server request. It does not\ntouch `document` or localStorage during server rendering, and starts only on `app:mounted` in the\nbrowser. It does not use a module-global runtime.\n\nNuxt configuration stays serializable. For a custom persistence adapter, observation root, or error\nhandler, install `@adaptive-debounce/vue` directly from a Nuxt plugin instead.\n","readmeFilename":"README.md"}