{"bugs":{"url":"https://github.com/animir/node-rate-limiter-flexible/issues"},"dist":{"shasum":"81be017f6adfa6a305422d3fd11f04e0e2ff9d3d","tarball":"https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-11.2.3.tgz","fileCount":44,"integrity":"sha512-w4HX4toAsEbu1VksOauZwI9d6URb6/4WqJJ5Hg1bESihMt2KJfQ2iTwvDkhIg+y2HetLh65DGu/8xIkUz/xNPA==","signatures":[{"sig":"MEUCIQDVIZ8Ienafodq5m6FosM6KFvzSWVFiMxzFvoujiuSMvAIgW9m6xWVhIat+skkf7gaQmG/sL4CkmNoI/48tMBIbuQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHmaTW7yuL16gr9pWkgrrkfl5UqrCt6J1fPnFspHTiRhAiB+fsCGepmssVhqFk+f3NLGapyQYfA7fAVBgp0HbpUbmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230173},"main":"index.js","name":"rate-limiter-flexible","types":"./types.d.ts","author":{"name":"animir","email":"animirr@gmail.com"},"browser":{"crypto":false,"cluster":false},"gitHead":"d19a457455338b73172d47d004f402bd0b748152","license":"ISC","scripts":{"test":"npm run prisma:postgres && npm run drizzle:postgres && nyc --reporter=html --reporter=text mocha \"test/**/*.test.js\" && npm run test:drizzle:postgres:v1","dc:up":"docker-compose -f docker-compose.yml up -d","eslint":"eslint --quiet lib/**/**.js test/**/**.js","dc:down":"docker-compose -f docker-compose.yml down","coveralls":"cat ./coverage/lcov.info | coveralls","debug-test":"mocha --inspect-brk lib/**/**.test.js","eslint-fix":"eslint --fix lib/**/**.js test/**/**.js","prisma:postgres":"prisma generate --schema=./test/RateLimiterPrisma/Postgres/schema.prisma && prisma db push --schema=./test/RateLimiterPrisma/Postgres/schema.prisma","drizzle:postgres":"cd ./test/RateLimiterDrizzle/Postgres && drizzle-kit push","valkey-cluster:up":"docker-compose -f docker-compose.valkey-cluster.yml up -d","test:valkey-cluster":"VALKEY_CLUSTER_PORT=7001 mocha test/RateLimiterValkeyGlide.test.js --  -g 'RateLimiterValkeyGlide with cluster client'","valkey-cluster:down":"docker-compose -f docker-compose.valkey-cluster.yml down -v","test:drizzle:postgres:v1":"npm i --no-save --no-package-lock drizzle-orm@^1.0.0-beta.23 && mocha test/RateLimiterDrizzle/Postgres/RateLimiterDrizzlePostgres.test.js && ( [ \"$GITHUB_ACTIONS\" = \"true\" ] || npm i )"},"_npmUser":{"name":"animir","email":"animirr@gmail.com"},"homepage":"https://github.com/animir/node-rate-limiter-flexible#readme","keywords":["ratelimter","authorization","security","rate","limit","bruteforce","throttle","redis","mongodb","dynamodb","mysql","postgres","prisma","drizzle","koa","express","hapi","valkey","valkey-glide","GLIDE","cluster","memcached"],"repository":{"url":"git+https://github.com/animir/node-rate-limiter-flexible.git","type":"git"},"_npmVersion":"10.9.4","description":"Node.js atomic and non-atomic counters, rate limiting tools, protection from DoS and brute-force attacks at scale","directories":{},"maintainers":[{"name":"animir","email":"animirr@gmail.com"}],"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.20.0","nyc":"^15.1.0","chai":"^4.5.0","knex":"^3.2.9","etcd3":"^1.1.2","mocha":"^10.8.2","redis":"^4.7.1","sinon":"^17.0.2","eslint":"^4.19.1","prisma":"^5.22.0","ioredis":"^5.10.1","sqlite3":"^5.1.7","iovalkey":"^0.3.3","istanbul":"^1.1.0-alpha.1","coveralls":"^3.1.1","redis-mock":"^0.56.3","drizzle-kit":"^0.31.10","drizzle-orm":"^0.45.2","@prisma/client":"^5.22.0","better-sqlite3":"^11.10.0","memcached-mock":"^0.1.0","eslint-plugin-node":"^6.0.1","@valkey/valkey-glide":"^1.3.4","eslint-plugin-import":"^2.32.0","eslint-plugin-security":"^1.7.1","@aws-sdk/client-dynamodb":"^3.1029.0","eslint-config-airbnb-base":"^12.1.0"},"_npmOperationalInternal":{"tmp":"tmp/rate-limiter-flexible_11.2.3_1792225536627_0.8272280113499362","host":"s3://npm-registry-packages-npm-production"},"_id":"rate-limiter-flexible@11.2.3","version":"11.2.3"}