{"_id":"@mrjasonroy/cache-components-cache-handler","_rev":"10-85a2dc6916d476c2abf8a431514d1ab6","name":"@mrjasonroy/cache-components-cache-handler","dist-tags":{"alpha":"16.0.0-alpha.6","latest":"16.2.9"},"versions":{"16.0.0-alpha.0":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.0-alpha.0","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.0-alpha.0","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"e0f47651516ebccb75be3c0d6e7f4f09ed33afe2","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.0-alpha.0.tgz","fileCount":50,"integrity":"sha512-BfducuIeJpfuJ5NEmI1oyNaH38Q4A9UF+f2nHBM1JulYrqFSsFnOgU+cU1JDi5nsQBiRI+i9Qti8ubn/iVysIw==","signatures":[{"sig":"MEUCIQCXkEnCxNr/8GA55RjFbk3U7UsvLRsaSyxhja4jKOX40gIgM9Ijh5JpdaWRvgbh+dRHNwbk7KIB73PqhIg+1u3k+Vs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126251},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d0d0d5ae8f92700b16f4d3b71bbb96aed5163301","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.0","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.0-alpha.0_1763233091834_0.47400108352050907","host":"s3://npm-registry-packages-npm-production"}},"16.0.0-alpha.3":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.0-alpha.3","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.0-alpha.3","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"be8cfbde61c3905af5f47f74617f4684b6893345","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.0-alpha.3.tgz","fileCount":50,"integrity":"sha512-1vlvD3RSVO+QN/OdSfvGW4PoqTBY7gx3hszJVxfXkDw8owscT69xiYGPGIEis954sdsY7lQgRgAW4icdbHZStA==","signatures":[{"sig":"MEYCIQDdmy7TGT/AJPShe5VbrMaxqTkyMYhC6r+tkXMWpn+gZgIhANNQm4HW25w4fiwY7OLXbhImeOcfKK322276wns35twp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126259},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"2638897ae5f2adfe9668fa1e1a2305c4b5f665de","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.0-alpha.3_1763238261626_0.0474370437121896","host":"s3://npm-registry-packages-npm-production"}},"16.0.0-alpha.4":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.0-alpha.4","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.0-alpha.4","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"4d64e9781cf07205062ed66a64eab8a093e7ab07","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.0-alpha.4.tgz","fileCount":50,"integrity":"sha512-z3zYgWa+o5j3be8hUNsQi0oCq93oEfQ7uFJrnnNi4B6kU6iTpdxjbZzEwvjohsCkJhCt0FZStFMktZqCb7elHw==","signatures":[{"sig":"MEQCICFqhQsIgU6rvxhUIw/WFH/Nb7NDHjtfXsN+IUxmM4NpAiBFjMK5D0TpvQFlSTrwivwUG0W5AAo8I9XadCZZKsOadw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126259},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"8d9dd9e8ff1681d0bacc185b7baaf0ee628a47c5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.0-alpha.4_1763239818855_0.8320979653765128","host":"s3://npm-registry-packages-npm-production"}},"16.0.0-alpha.6":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.0-alpha.6","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.0-alpha.6","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"2ff1d5716e3f364ad41ba28e1a3e2fa85791276a","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.0-alpha.6.tgz","fileCount":50,"integrity":"sha512-7qvKTovrkD2/X3JuyRL5LB3Z/x96uSGSGtFrHboqX7ojyT1TiiDnssbOEZ0XwQsy3JME4mN0+4pU8Wa1xYH0zQ==","signatures":[{"sig":"MEUCIE3KNWGYbaNR4dkqMIRyrGMF5B+sFBj6O/4bBuvLJermAiEAh0jVA2+/oL6zyps+0J8zluXcihwKv0IbmIVSZr1/Rm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126259},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"9fe3f6d42dbae015ddbba0e2606325568a243019","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.0-alpha.6_1763352407491_0.8984690416678704","host":"s3://npm-registry-packages-npm-production"}},"16.0.1":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.1","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.1","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"ff5b2c307e81932f6c94e78cc99f1213e35ef635","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.1.tgz","fileCount":54,"integrity":"sha512-063XVwi+TGfeBEnMqSKfkV3XfltGltPIuB4Gaj5IWDRgsR4ZRxyXYhE+Xua2ZN3RAwWxk1r4e5LYn5nPyLBoEA==","signatures":[{"sig":"MEUCIQC7lDacgmpYnK0/0swJl0YtwR+MA3LVw3VdXjwIPwXHYgIgERbwOtT6Ph4qjbebxR9Rzz/o1Dieq4bB2LK2UiHep88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137363},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5771a8c2539c92e658bae9f239bebe6962ff23eb","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.1_1763602790486_0.536851687838291","host":"s3://npm-registry-packages-npm-production"}},"16.0.3":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.3","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.3","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"8e0cfaa5a918466224990998989b2040644a371d","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.3.tgz","fileCount":54,"integrity":"sha512-ZhzVjyfOyIjsUFdz9U0Ltjf1/OmuwKf/nlB5iTojBEOZI5njY3h4iPnREJUa2f+gd623uiOz6oHfgBrFXQF2Ow==","signatures":[{"sig":"MEQCIHojg004pGnyQ+mBcQnbbHPnALxR7Det4PuVSiAYUHoqAiB2PYKmE5w78hC+9Hde0xk7SgGsH1MUz3T9Ty0VCPpI+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134157},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"6bbe63ea7f2eb39a66898c6d7e528cb32f1bd8f0","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.0","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.3_1763612405625_0.9634892714039824","host":"s3://npm-registry-packages-npm-production"}},"16.0.4":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.0.4","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.0.4","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"26f448aeb1628c0f064ee7f1c6c0345b20a5d55b","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.0.4.tgz","fileCount":54,"integrity":"sha512-EbrCBmryz2I6LGMFAfaLYN3gfhbWgZsKQkd4ozJSr32gW2nU6uGYovCOM6dX8A0AkE1eS0l6lkcIN/mkHWS0ww==","signatures":[{"sig":"MEQCIHSMwXXNAyunDHvTo/DAmOkndO+E7cq87F7MZ2arM1dgAiAd6g1DBgM4WhdavyAjRKB/KYdj1yEAD+7pUTMEqhXjpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135770},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"ad463aba21f6354f65ac99e038c6df4fd57fba03","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"~16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.0.4_1764541657434_0.17180641928007034","host":"s3://npm-registry-packages-npm-production"}},"16.1.0":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.1.0","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.1.0","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"8a9db88fb1374a941ad2e0fcb8333a4dee67c765","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.1.0.tgz","fileCount":54,"integrity":"sha512-L+uaPZqHrj6ef8Q/OwNUAeL5I6ZvNvOQOQxwHgfofLLwG+7stIZyxGiTgQybljRkGyCg+RJa6pqLExx2puL8Xw==","signatures":[{"sig":"MEUCIQCyrXX7pKgzFUt3uk4GGPrKl7HeWpD3mCmyf/+q4YUA3AIgHx4PXIojE2JYxgsD7B5qtlX8L2drdBkjEasrP78X5PE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136200},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"456e30aeee3292b1b34cedc1f795408b75cec6da","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"^16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.1.0_1770177326815_0.2777077946546098","host":"s3://npm-registry-packages-npm-production"}},"16.1.6":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.1.6","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"author":{"name":"Jason Roy"},"license":"MIT","_id":"@mrjasonroy/cache-components-cache-handler@16.1.6","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"dist":{"shasum":"31e24a6c870f6b6ffebbbde714d59f1acfb0d625","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.1.6.tgz","fileCount":54,"integrity":"sha512-B+PafiwJ97pbWN9/7ExD+SDPkKA4S93VVALi+5AAD0l0ba6ACx68FDGm7nQThQFma8tEn8ij0nHOrwwZiFUh2g==","signatures":[{"sig":"MEQCIChCnTb01hrunS9RBfwkqDT1Je0LnfboMWP/911n9SiKAiBK2ltk6Plr8zNKNQqxty7iedokh7yurtvMNW0vxnlF1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136200},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9fa6ce69340fbd9716c1e1768298a472e8b3bd6e","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mrjasonroy","email":"jason@mrjasonroy.com"},"repository":{"url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","type":"git","directory":"packages/cache-handler"},"_npmVersion":"10.9.4","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"peerDependencies":{"next":"^16.0.0"},"optionalDependencies":{"ioredis":"^5.4.1"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cache-components-cache-handler_16.1.6_1770180347143_0.4067923371291946","host":"s3://npm-registry-packages-npm-production"}},"16.2.9":{"name":"@mrjasonroy/cache-components-cache-handler","version":"16.2.9","description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","author":{"name":"Jason Roy"},"license":"MIT","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","clean":"rm -rf dist .turbo node_modules"},"keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"peerDependencies":{"next":"^16.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"optionalDependencies":{"ioredis":"^5.4.1"},"devDependencies":{"@types/node":"^22.10.2","typescript":"^5.7.2","vitest":"^2.1.8"},"engines":{"node":">=22.0.0"},"repository":{"type":"git","url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","directory":"packages/cache-handler"},"homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"gitHead":"1883c276fd92367aaf648d556ea0c5b738fae9cd","_id":"@mrjasonroy/cache-components-cache-handler@16.2.9","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-nt6B/h8adMAGFTUiFQVgbfTqPuBIwgS3xMai8zFKuil7pd0A6VgDp4M0D8HH9n99E1UuUu4o/EuIL2RTwR1muA==","shasum":"a97b5c37e23ea4488c54174e7a05d211d2bc5175","tarball":"https://registry.npmjs.org/@mrjasonroy/cache-components-cache-handler/-/cache-components-cache-handler-16.2.9.tgz","fileCount":62,"unpackedSize":152472,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mrjasonroy%2fcache-components-cache-handler@16.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC0ZZ4HPxKR3T0Oegl+kaJRLJhb8aAHcSA5+SfGbMvtCwIhALvS/DSgm4KEntPFTPkClMp+3o1wG5DpZkli98QnOX87"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b1fb54d-5ffa-48d8-b8f5-759e42836ded"}},"directories":{},"maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cache-components-cache-handler_16.2.9_1782353802653_0.3240151004850955"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-15T18:58:11.750Z","modified":"2026-06-25T02:16:43.076Z","16.0.0-alpha.0":"2025-11-15T18:58:12.027Z","16.0.0-alpha.3":"2025-11-15T20:24:21.837Z","16.0.0-alpha.4":"2025-11-15T20:50:19.053Z","16.0.0-alpha.6":"2025-11-17T04:06:47.725Z","16.0.1":"2025-11-20T01:39:50.683Z","16.0.3":"2025-11-20T04:20:05.818Z","16.0.4":"2025-11-30T22:27:37.616Z","16.1.0":"2026-02-04T03:55:26.977Z","16.1.6":"2026-02-04T04:45:47.308Z","16.2.9":"2026-06-25T02:16:42.791Z"},"bugs":{"url":"https://github.com/mrjasonroy/cache-components-cache-handler/issues"},"author":{"name":"Jason Roy"},"license":"MIT","homepage":"https://github.com/mrjasonroy/cache-components-cache-handler#readme","keywords":["nextjs","next","cache","cache-handler","use-cache","isr","revalidation","redis","elasticache","valkey"],"repository":{"type":"git","url":"git+https://github.com/mrjasonroy/cache-components-cache-handler.git","directory":"packages/cache-handler"},"description":"Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components","maintainers":[{"name":"mrjasonroy","email":"jason@mrjasonroy.com"}],"readme":"# @mrjasonroy/cache-components-cache-handler\n\nCache handler for Next.js 16+ with support for Cache Components and \"use cache\" directive.\n\n> Why another cache handler? I was originally going to contribute to [fortedigital/nextjs-cache-handler](https://github.com/fortedigital/nextjs-cache-handler) but that project is focused on backwards compatibility and carries a lot of legacy baggage. This repo is a ground-up rewrite that:\n> - Targets **Next.js 16+ only** (Cache Components, `\"use cache\"`, `cacheLife`, etc.)\n> - Ships with **true E2E coverage** (Playwright + Next 16) for every backend\n> - Keeps the surface area small: zero-config memory handler for dev, Redis/Valkey/ElastiCache factory for prod\n> - Provides an AI-first workflow so contributors (human or agent) can ship confidently\n\n[![npm version](https://badge.fury.io/js/@mrjasonroy%2Fcache-components-cache-handler.svg)](https://www.npmjs.com/package/@mrjasonroy/cache-components-cache-handler)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)\n[![Next.js 16+](https://img.shields.io/badge/Next.js-16%2B-black)](https://nextjs.org/)\n[![Tests](https://img.shields.io/badge/tests-passing-brightgreen)](https://github.com/mrjasonroy/cache-components-cache-handler/tree/main/apps/e2e-test-app)\n\n**📦 [View on npm](https://www.npmjs.com/package/@mrjasonroy/cache-components-cache-handler) | 🚀 [Releases](https://github.com/mrjasonroy/cache-components-cache-handler/releases)**\n\n## What This Does\n\nImplements Next.js 16+ caching APIs:\n- `\"use cache\"` directive\n- `cacheLife()` - Configure cache lifetime\n- `cacheTag()` - Tag cache entries\n- `revalidateTag()` - Invalidate by tags\n- `updateTag()` - Update tags\n- `revalidatePath()` - Invalidate by path\n- Cache Components and PPR\n\n## Supported Backends\n\nAll backends are **integration tested** with Next.js 16+ in CI so you can trust a release tag.\n\n| Backend | Use Case | Key Features |\n|---------|----------|--------------|\n| **Memory** | Development, Single-instance | Zero config, fast, no external dependencies |\n| **Redis** | Production, Distributed | Industry standard, high performance, clustering |\n| **Valkey** | Production, Open Source | Redis-compatible, LGPL licensed, drop-in replacement |\n| **AWS ElastiCache** | Production, Managed | Fully managed, IAM auth, auto-scaling, high availability |\n\n## Install\n\n```bash\nnpm install @mrjasonroy/cache-components-cache-handler\n\n# For Redis/Valkey/ElastiCache, also install ioredis\nnpm install ioredis\n```\n\n## Quick Start\n\n### Zero-Config (Recommended)\n\n```javascript\n// data-cache-handler.mjs\nimport { createCacheHandler } from \"@mrjasonroy/cache-components-cache-handler\";\n\n// Memory (dev)\nexport default createCacheHandler({ type: \"memory\" });\n\n// Redis (production)\nexport default createCacheHandler({ type: \"redis\" });\n\n// Valkey (production)\nexport default createCacheHandler({ type: \"valkey\" });\n\n// ElastiCache (AWS)\nexport default createCacheHandler({ type: \"elasticache\" });\n```\n\n```javascript\n// next.config.js\nexport default {\n  cacheComponents: true,\n  cacheHandlers: {\n    default: \"./data-cache-handler.mjs\",\n    remote: \"./data-cache-handler.mjs\",\n  },\n  cacheMaxMemorySize: 0, // Disable Next's built-in in-memory handler\n};\n```\n\n**Environment Variables:**\n- `REDIS_URL` / `VALKEY_URL` - Primary connection string for Redis-compatible stores (Valkey works with the same URI format, e.g. `redis://localhost:6380` when using the provided docker-compose service)\n- `REDIS_PASSWORD` - Password/token used when your URL lacks credentials (works for every backend)\n- `ELASTICACHE_ENDPOINT` / `ELASTICACHE_PORT` - AWS ElastiCache hostname + port\n- `ELASTICACHE_TLS` - `\"true\"`/`\"false\"` toggle (defaults to `true` for ElastiCache)\n- `ELASTICACHE_AUTH_TOKEN` - Password/token for IAM-authenticated ElastiCache clusters\n\n### Advanced: Custom Configuration\n\nNeed more control? You can override any option:\n\n```javascript\n// data-cache-handler.mjs\nimport { createCacheHandler } from \"@mrjasonroy/cache-components-cache-handler\";\n\nexport default createCacheHandler({\n  type: \"elasticache\",\n  endpoint: \"cache.prod-cluster.cache.amazonaws.com\",\n  port: 6380,\n  tls: true,\n  password: process.env.CACHE_AUTH_TOKEN,\n  keyPrefix: \"myapp:cache:\",\n  tagPrefix: \"myapp:tags:\",\n  debug: process.env.NODE_ENV === \"development\",\n});\n```\n\n## Usage\n\n```typescript\n// Basic caching\nasync function ProductList() {\n  \"use cache\";\n  const products = await db.products.findMany();\n  return <ProductGrid products={products} />;\n}\n\n// With cache lifetime\nimport { cacheLife } from \"next/cache\";\n\nasync function BlogPost({ id }: { id: string }) {\n  \"use cache\";\n  cacheLife(\"hours\"); // 1 hour\n  const post = await db.posts.findUnique({ where: { id } });\n  return <Article post={post} />;\n}\n\n// With tags for selective invalidation\nimport { cacheTag } from \"next/cache\";\n\nasync function UserProfile({ userId }: { userId: string }) {\n  \"use cache\";\n  cacheTag(\"user-profile\", `user:${userId}`);\n  const user = await db.user.findUnique({ where: { id: userId } });\n  return <Profile user={user} />;\n}\n\n// Invalidate from API route\nimport { revalidateTag } from \"next/cache\";\n\nexport async function POST(request: Request) {\n  const { userId } = await request.json();\n  revalidateTag(`user:${userId}`);\n  return Response.json({ revalidated: true });\n}\n```\n\n## Cache Handler API\n\nThis library implements the Next.js 16+ `DataCacheHandler` interface:\n\n```typescript\ninterface DataCacheHandler {\n  // Retrieve cached entry for a cache key\n  get(cacheKey: string, softTags: string[]): Promise<DataCacheEntry | undefined>;\n\n  // Store a cache entry (handles streaming responses)\n  set(cacheKey: string, pendingEntry: Promise<DataCacheEntry>): Promise<void>;\n\n  // Called periodically to refresh local tag manifest\n  refreshTags(): Promise<void>;\n\n  // Get maximum revalidation timestamp for tags\n  getExpiration(tags: string[]): Promise<Timestamp>;\n\n  // Called when revalidateTag() invalidates tags\n  updateTags(tags: string[], durations?: { expire?: number }): Promise<void>;\n}\n```\n\nWhen you call `revalidateTag('my-tag')` in your application, Next.js internally calls our `updateTags(['my-tag'])` implementation, which marks all cache entries with that tag as stale.\n\n## Documentation\n\n- [GitHub Repository](https://github.com/mrjasonroy/cache-components-cache-handler)\n- [Redis Configuration](https://github.com/mrjasonroy/cache-components-cache-handler/blob/main/docs/redis.md)\n- [Valkey & ElastiCache Setup](https://github.com/mrjasonroy/cache-components-cache-handler/blob/main/docs/redis.md#valkey)\n- [Contributing](https://github.com/mrjasonroy/cache-components-cache-handler/blob/main/CONTRIBUTING.md)\n\n## CI & Test Matrix\n\n| Workflow | What it Verifies |\n|----------|------------------|\n| **CI** | Biome lint + format check, typecheck, Vitest, and Playwright e2e suites against Memory, Redis, Valkey, and ElastiCache-mode backends |\n| **Next.js Canary Test** | Daily compatibility runs against Next.js canary/rc/latest to catch upstream breakage |\n| **Next.js Version Check** | Nightly scan for new Next.js releases, opens PRs to bump peer deps |\n| **Publish** | Trusted publishing with provenance – release tags must pass the full matrix before npm sees them |\n\n## Development\n\n```bash\ngit clone https://github.com/mrjasonroy/cache-components-cache-handler\ncd cache-components-cache-handler\npnpm install\npnpm build\npnpm test\n```\n\n## Contributing\n\nThis project is AI-friendly and contributor-friendly.\n\n- **For AI Agents:** See [CLAUDE.md](https://github.com/mrjasonroy/cache-components-cache-handler/blob/main/CLAUDE.md) for instructions\n- **For Humans:** See [CONTRIBUTING.md](https://github.com/mrjasonroy/cache-components-cache-handler/blob/main/CONTRIBUTING.md)\n\n## License\n\nMIT © [Jason Roy](https://github.com/mrjasonroy)\n\n## Acknowledgments\n\nForked from/Inspired by [@fortedigital/nextjs-cache-handler](https://github.com/fortedigital/nextjs-cache-handler), but focusing only on supporting Next.js 16+ and the new caching system.\n","readmeFilename":"README.md"}