{"_id":"@daveyplate/next-rate-limit","_rev":"14-33e2384827c871508cb1ffa11c0ce406","name":"@daveyplate/next-rate-limit","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@daveyplate/next-rate-limit","version":"1.0.0","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.0","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"dist":{"shasum":"d1d8b25cbed915e413b5b239c9c96b70e110a015","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.0.tgz","fileCount":8,"integrity":"sha512-AFEVB3cUrTdcZpXZ5D+HE79VdSPFHLTRulPzjuPU1d8LH4RlLfCJPxFrfAA6Wq0hy2JvvDzTo+DqSKkIrR5HjQ==","signatures":[{"sig":"MEUCIQC9OularmdF+pGkvC8z3xtaY0mK8vQPR2Rl4LF0Q8Ni7wIgI9/+Iw94vSAzKpnahfVui/MD3FW+ESBCPIe+d/z1RFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5806},"main":"src/index","types":"src/@types/index","gitHead":"5f05015b5d7546ebdb9478301fd5a88816983458","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.8.2","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.14.0","dependencies":{"next":"^14.2.14","uuid":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.0_1727815251608_0.36689597581597266","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@daveyplate/next-rate-limit","version":"1.0.1","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.1","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"2b54e09dca339671324a8a3f3c9d819075a94dc1","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.1.tgz","fileCount":8,"integrity":"sha512-+b2eQY3zyQ720YXIYfotj0jnxu4ByVXdbLayUO8L9TioKMgpNRh8cg1MmsYUMFYNmfiGAxBvio4s6yTwaZdUPw==","signatures":[{"sig":"MEYCIQDz01R0q16qS6QzSUkgSeQ/9ew1ZT22hminwfd8t7wmogIhAMPjJPXl6yo3CUCUE+yDiD0RrMKY0YAuvQZZO/jAZ7dU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5870},"main":"src/index","types":"src/@types/index","gitHead":"96412f1cedd58e32e71ea2ba32bea709488c4b9c","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.8.2","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.14.0","dependencies":{"next":"^14.2.14","uuid":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.1_1727815485933_0.4218136941831041","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@daveyplate/next-rate-limit","version":"1.0.2","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.2","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"304be69006a47051b052120150368cf8274dca84","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.2.tgz","fileCount":8,"integrity":"sha512-DQKmkodXel25QsfQ0FTL0QkUCUcg3AMBVoMFcXsdd7lsgsZnENcwRthkyki67CMtvX4i9uKdhH5FrpM4u41ZVA==","signatures":[{"sig":"MEUCICMEmXHkysSam7fGorjeSjab2TlV6d4s7YpP8HK5BL6lAiEAs2Cfac9ZQjongXn3MCKUBWrhWtrAyxQM6IM/xNOK7Uo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6060},"main":"src/index","types":"src/@types/index","gitHead":"e5b8a21516812ec93981c1ef3c5f278ec65c53de","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.8.2","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.14.0","dependencies":{"next":"^14.2.14","uuid":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.2_1727824252409_0.17543674181239233","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@daveyplate/next-rate-limit","version":"1.0.3","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.3","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"14a8c7782c9558d371fc0b35e60bbc4b0abf9443","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.3.tgz","fileCount":8,"integrity":"sha512-y9MnSZm+TlK5pJwigPFBk352dpIkDxNRZHXnQYhOCDBeKmP+D2fyJ0wT4SIRLHz04+EhyYPjb/aBQhBxqw/DeQ==","signatures":[{"sig":"MEQCIHF80uAYqR3CudtQZr3meC3YXj7cetKBzgR8TwbavWqGAiAEbmpAnMFBok4Q5spDsTxsWemB6Bvx76wb3RiwMHAtRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6060},"main":"src/index","types":"src/@types/index","gitHead":"7901f85836b41e8193ed4679fca864c9c6f3d00d","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.8.2","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.14.0","dependencies":{"next":"^14.2.14","uuid":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.3_1727824683749_0.7301743552200033","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@daveyplate/next-rate-limit","version":"1.0.4","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.4","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"5064973ea7c3613fe2a99f67c2bf900eb2884553","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.4.tgz","fileCount":6,"integrity":"sha512-bb4XAaxAV0FHC6W9D4nEgx0GoZaR/+9ygVbFLQt3qhM7OLShwtM9hw1G+jWgTiwfOa7GKaJk7H5ltu/AzNjoRg==","signatures":[{"sig":"MEUCIBbzjfQku0E2LEjjwlaMHS6I4GRjuOldG9EipBn6rHSZAiEAyF0O1nshr3WkBzxW0S23ldFMkUHGpAKuZyaLBvf3UK4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5693},"main":"src/index","types":"src/@types/index","gitHead":"d01964b1a9cae55139bfa4e991303a301c890d8f","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.5.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.12.0","dependencies":{"next":"^14.2.14","uuid":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.4_1727834087037_0.11801256257679471","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@daveyplate/next-rate-limit","version":"1.0.5","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.5","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"2713565c07187111be9ab355e6501f4675351864","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.5.tgz","fileCount":6,"integrity":"sha512-OkIbRjOFGS5MdfDuWDTKOr6/3PIMi645oFyHAHvqeUnRv0hu6qbawwiL53Hl5Ua4FwO52jXbIlhOX1xI9PAA/Q==","signatures":[{"sig":"MEUCIB3f+yzRu+51GSCiVQT5VSSqi4VKNazVb3FUxbcihB5wAiEAwrxTnjelYd0UVe40eJwSKHA23A/6ruV55PnKH26gICk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5705},"main":"src/index","types":"src/@types/index","gitHead":"9c2388ddd21af87ea4f7a11d94643cf6d65371ca","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.5.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.12.0","dependencies":{"next":">=14.0.0","uuid":">=10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.5_1729625828263_0.40200344529135124","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@daveyplate/next-rate-limit","version":"1.0.6","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.6","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"ddc0bdbac2b1ae0462175392496c89efa05def76","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.6.tgz","fileCount":6,"integrity":"sha512-4QmGZ8ssgoHlSA219za2RTwnuqmZojA3ZfYkCMv2PVTp1V26h8oR3YglD2Qq9UwPh/sTe9mgRhwpx8Aw8lVXCg==","signatures":[{"sig":"MEUCIQDf8MCOLVWEjjp9ZErdPKMpaY+hQevvuCYrSUEGrDCisAIgbFBsXkc3Nl20M2GrO9/X7SZxXAYTJ1X7t+6v086fR2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5661},"main":"src/index","types":"src/@types/index","gitHead":"cec58c7afa20f29421476342fd97111debb8abf2","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.2.4","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.11.0","dependencies":{"next":">=14.0.0","uuid":">=10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.6_1729853333153_0.5077320351977235","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@daveyplate/next-rate-limit","version":"1.0.7","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.7","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"be01de80eb7cef8757e1d24e135ef97b7b761728","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.7.tgz","fileCount":6,"integrity":"sha512-Leml4LUOAE6BQtsxnxa8JFxFUw01chCpmYr1qtCwm13mdgvMZK10hbbpYNe2O2TX8LD+xssEksYSBcNYJcxFpA==","signatures":[{"sig":"MEUCIAFumaBho+4ABNCsDaHJGhrU6Ro+29Ri6KbzkfLjvazNAiEA0fiarl7sjhq8SSAP7oYcqh4vWVNYLeDyjIQQeftiz5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5641},"main":"src/index","types":"src/@types/index","gitHead":"79cefd1af84486926a8c0f5c47265f8e310ffcea","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.5.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.12.0","dependencies":{"next":">=14.0.0","uuid":">=10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.7_1730020370229_0.4807568187412534","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@daveyplate/next-rate-limit","version":"1.0.8","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"LeakedDave"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.8","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"28e66f5bfd7d2a4baf1d2c729fad66129cd4a873","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.8.tgz","fileCount":6,"integrity":"sha512-fPvM3rnHaOJoc4o/xyapLFPOui8uKyfF8XSGeGArlcvO6WSzmdIKZ+7frX4XfWrfplLTaDro+5ck1C3Nn/FDBQ==","signatures":[{"sig":"MEQCIHcMt1VLAKMpms+5H8RzF9URowuWKD8AEhxPgIJqMv/bAiBTeWw+kwS8MnuHbnDpbRzq5dkk0OV3JLFn+sqOEWgGZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6069},"main":"src/index","types":"src/@types/index","gitHead":"21168687028a1c27ebfdb800913ffb7423ff06f3","scripts":{"build":"npx tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.5.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"20.12.0","dependencies":{"next":">=14.0.0","uuid":">=10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.8_1731983603961_0.38596087282459934","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@daveyplate/next-rate-limit","version":"1.0.9","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"daveycodez"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.9","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"991e5d202914db10f17a6046cf70d527a0e7ad20","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.9.tgz","fileCount":9,"integrity":"sha512-eXFabNOUHjz1UBXQOHHK5n5VYqELnumWCK97gqKxJtXKP8E4eJtcIu2cOl0uDSCV5vwjCAdjCzmBj0n1rKVqIA==","signatures":[{"sig":"MEQCIEKRjTMrF8btTyMV11Xp7tpTRHFEs3RF4exbQbN+Ek8ZAiBF2AdA8IGsvYgPZpDUmLso90hrmlZFhYh+6HwxdvjqPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44140},"types":"dist/index","module":"dist/index","gitHead":"3ed52f6163809596f54e4fc457508f51b3b40a25","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.9.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"22.12.0","dependencies":{"next":">=14.0.0","uuid":">=10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.9_1733732152456_0.8099265386588783","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@daveyplate/next-rate-limit","version":"1.0.10","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"daveycodez"},"license":"ISC","_id":"@daveyplate/next-rate-limit@1.0.10","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"74d82a0d271465b94f330594ea837330efd42e85","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-1.0.10.tgz","fileCount":9,"integrity":"sha512-d0mSDWGpqK2pPBJ1yvnD0tYa09PFquhJtpx1PHAzjarB7ORg/NRcg9PwCalzc9NM/xmrSDTlID630OSV9MQMmA==","signatures":[{"sig":"MEUCIH3EhXSAjdP+1+zYZxyhr68/+2CBcx/YWgFhpswc1+d8AiEAo62v99xzO4ASK0vljj4xx1krpyrWZFzud/Mc1YP90nw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89015},"types":"dist/index","module":"dist/index","gitHead":"dfbe24831dc02fc2e80b5d7d3acb71b7433d3182","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.9.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"next":"file:../daveyplate/node_modules/next","typescript":"^5.6.2","@types/uuid":"^10.0.0"},"peerDependencies":{"next":">=14.0.0","uuid":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_1.0.10_1734132094825_0.48818492061324736","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@daveyplate/next-rate-limit","version":"2.0.0","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"daveycodez"},"license":"ISC","_id":"@daveyplate/next-rate-limit@2.0.0","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"b501cd85c40cdd553dac9fcdad7b7fb61dedb155","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-2.0.0.tgz","fileCount":9,"integrity":"sha512-4rUwF96BI9RHo0DSkZIvU3kf/ro4+mC+khzGm7l5Aj+q87tfPRMdvWIn059Y2JRbir/tVPCbgWaJ9HtcwYDW6w==","signatures":[{"sig":"MEUCIQDhrebxZRDNi8UcwKWniCNWJyKKu/eKdpYtyfZmv1I8twIgB0GHDY76zBwHjxZNMyfCzRwzmwkp50fwBmK+3m16YpM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96806},"types":"dist/index","module":"dist/index","gitHead":"a42444526ee3296910a7ec48fb538fdc71dd902d","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.9.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"next":"file:../daveyplate/node_modules/next","typescript":"^5.6.2","@types/uuid":"^10.0.0"},"peerDependencies":{"next":">=14.0.0","uuid":">=10.0.0","@upstash/ratelimit":">=2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_2.0.0_1734139305925_0.5470532577610017","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@daveyplate/next-rate-limit","version":"2.0.1","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"author":{"name":"daveycodez"},"license":"ISC","_id":"@daveyplate/next-rate-limit@2.0.1","maintainers":[{"name":"leakeddave","email":"leakeddave@me.com"}],"homepage":"https://github.com/Daveyplate/next-rate-limit","dist":{"shasum":"67a4eb2768b2c892eb499647e18a6787425410a0","tarball":"https://registry.npmjs.org/@daveyplate/next-rate-limit/-/next-rate-limit-2.0.1.tgz","fileCount":9,"integrity":"sha512-JouwzdM4oEOnj5Lb71GDHn6fdT0Mz9OheC+mBSg15ThbmPZyOlw7vqtbq5k1rKSVhzVoCW9qGNxOlx5TwuuurQ==","signatures":[{"sig":"MEQCIF7Gnb8Cd56UE5qAXHeMWz/3M/VWTuVk2LIH3eC3P4jCAiAvhmgDBs2xtlvY3A16zSdEirSzuWrOFkDakpmxOq1q1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96807},"types":"dist/index","module":"dist/index","gitHead":"81a714b7e8c1863e426f26b37436d000d6ca0710","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"leakeddave","email":"leakeddave@me.com"},"_npmVersion":"10.9.0","description":"NextJS Rate Limiting Middleware","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"next":"file:../daveyplate/node_modules/next","typescript":"^5.6.2","@types/uuid":"^10.0.0"},"peerDependencies":{"next":">=14.0.0","uuid":">=10.0.0","@upstash/ratelimit":">=2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/next-rate-limit_2.0.1_1734159282206_0.6539918601610497","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-10-01T20:40:51.508Z","modified":"2025-11-21T03:13:06.905Z","1.0.0":"2024-10-01T20:40:51.834Z","1.0.1":"2024-10-01T20:44:46.080Z","1.0.2":"2024-10-01T23:10:52.590Z","1.0.3":"2024-10-01T23:18:03.963Z","1.0.4":"2024-10-02T01:54:47.262Z","1.0.5":"2024-10-22T19:37:08.440Z","1.0.6":"2024-10-25T10:48:53.326Z","1.0.7":"2024-10-27T09:12:50.423Z","1.0.8":"2024-11-19T02:33:24.120Z","1.0.9":"2024-12-09T08:15:52.670Z","1.0.10":"2024-12-13T23:21:35.110Z","2.0.0":"2024-12-14T01:21:46.113Z","2.0.1":"2024-12-14T06:54:42.407Z"},"author":{"name":"daveycodez"},"license":"ISC","homepage":"https://github.com/Daveyplate/next-rate-limit","keywords":["NextJS","Rate Limit","Rate Limiting","Middleware"],"description":"NextJS Rate Limiting Middleware","maintainers":[{"email":"leakeddave@me.com","name":"leakeddave"},{"email":"daveycodez@gmail.com","name":"daveycodez"}],"readme":"# NextJS Rate Limiting Middleware\n\nUses in-memory rate limiting for both session & IP. Simple easy setup, and super basic protection from abuse. Now supports Upstash configuration for distributed rate limiting.\n\n# Installation\n\n```bash\nnpm install @daveyplate/next-rate-limit\n```\n\n# Usage\n\nDefault limits are 30 requests per session within 10 seconds, and 120 requests per IP within 10 seconds.\n\n```ts\nexport function rateLimit({ \n    request, \n    response, \n    sessionLimit = 30, \n    ipLimit = 120, \n    sessionWindow = 10, \n    ipWindow = 10, \n    upstash = { \n        enabled: false, \n        url: process.env.UPSTASH_REDIS_REST_URL, \n        token: '', \n        analytics: false\n    } \n})\n```\n\nmiddleware.js\n\n```ts\nimport { NextResponse, NextRequest } from 'next/server'\nimport { rateLimit } from '@daveyplate/next-rate-limit'\n\nexport async function middleware(request: NextRequest) {\n    const response = NextResponse.next()\n\n    return await rateLimit({ request, response })\n}\n\n// Apply middleware to all API routes\nexport const config = {\n    matcher: '/api/:path*'\n}\n```\n\n# Upstash Configuration\n\nTo enable Upstash, you can configure it using environment variables or by passing the configuration directly.\n\n## Environment Variables\n\nSet the following environment variables in your `.env` file:\n\n```\nUPSTASH_REDIS_REST_URL=<your_upstash_redis_rest_url>\nUPSTASH_REDIS_REST_TOKEN=<your_upstash_redis_rest_token>\n```\n\n## Passing Configuration Directly\n\nYou can also pass the Upstash configuration directly when calling `rateLimit`:\n\n```tsx\nconst rateLimitResponse = await rateLimit({ \n    request, \n    response, \n    upstash: {\n        enabled: true,\n        url: '<your_upstash_redis_rest_url>',\n        token: '<your_upstash_redis_rest_token>',\n        analytics: true\n    }\n})\n```","readmeFilename":"README.md"}