{"_id":"express-rate-limit","_rev":"4252401","name":"express-rate-limit","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","dist-tags":{"backport-3.x":"3.5.3","backport-8.0.x":"8.0.2","backport-8.1.x":"8.1.1","backport-8.2.x":"8.2.2","latest":"8.3.2","typescript":"0.0.0-typescript-beta-7","v2backports":"2.14.2"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"time":{"modified":"2026-04-02T02:26:52.000Z","created":"2014-12-11T01:58:05.543Z","8.3.2":"2026-03-30T18:04:02.108Z","8.3.1":"2026-03-09T14:52:20.837Z","8.0.2":"2026-03-05T19:11:47.171Z","8.2.2":"2026-03-05T19:07:13.728Z","8.1.1":"2026-03-05T19:06:23.857Z","8.3.0":"2026-03-05T16:36:17.982Z","8.2.1":"2025-10-31T18:48:12.457Z","8.2.0":"2025-10-29T15:11:51.972Z","8.1.0":"2025-09-04T14:37:43.596Z","8.0.1":"2025-07-16T21:12:27.149Z","8.0.0":"2025-07-15T16:17:42.676Z","7.5.1":"2025-06-21T03:08:25.153Z","7.5.0":"2024-12-15T05:04:55.384Z","7.4.1":"2024-10-04T13:49:52.139Z","7.4.0":"2024-07-23T15:45:36.551Z","7.3.1":"2024-06-07T16:30:22.094Z","7.3.0":"2024-06-01T00:40:29.269Z","7.2.0":"2024-03-02T21:40:48.791Z","7.1.5":"2023-11-27T18:48:36.683Z","7.1.4":"2023-11-06T14:38:14.511Z","7.1.3":"2023-10-26T15:57:35.872Z","7.1.2":"2023-10-23T12:18:50.463Z","7.1.1":"2023-10-09T10:52:54.198Z","7.1.0":"2023-10-04T14:19:31.658Z","7.0.2":"2023-09-26T19:50:18.888Z","7.0.1":"2023-09-16T07:49:36.325Z","7.0.0":"2023-09-12T16:25:10.663Z","6.11.2":"2023-09-12T02:02:18.599Z","6.11.1":"2023-09-10T17:10:16.449Z","6.11.0":"2023-09-06T13:55:33.181Z","6.10.0":"2023-08-30T23:32:22.857Z","6.9.0":"2023-08-06T03:35:45.701Z","6.8.1":"2023-07-27T13:08:38.737Z","6.7.2":"2023-07-27T12:58:32.778Z","6.8.0":"2023-07-21T00:39:22.367Z","6.7.1":"2023-07-06T21:31:06.430Z","6.7.0":"2022-11-15T19:00:57.416Z","6.6.0":"2022-09-04T19:36:36.620Z","6.5.2":"2022-08-24T19:36:27.539Z","6.5.1":"2022-07-23T16:51:11.368Z","6.4.0":"2022-04-24T15:55:08.722Z","6.3.0":"2022-02-19T12:24:53.568Z","6.2.1":"2022-02-10T15:17:24.046Z","6.2.0":"2022-01-22T13:49:25.429Z","6.1.0":"2022-01-12T04:22:23.546Z","6.0.5":"2022-01-06T13:26:08.466Z","6.0.4":"2022-01-02T13:52:44.656Z","6.0.3":"2021-12-30T17:00:39.272Z","6.0.2":"2021-12-30T06:38:42.092Z","6.0.1":"2021-12-25T10:03:19.446Z","6.0.0":"2021-12-24T17:28:34.110Z","5.5.1":"2021-11-06T03:16:54.480Z","5.5.0":"2021-10-12T19:59:06.389Z","5.4.1":"2021-10-05T20:12:12.780Z","5.4.0":"2021-10-01T19:05:37.135Z","5.3.0":"2021-07-01T15:49:54.570Z","5.2.6":"2021-02-17T14:45:24.702Z","5.2.5":"2021-02-08T15:49:05.132Z","5.2.3":"2020-11-19T17:00:30.779Z","5.2.2":"2020-11-19T16:24:49.168Z","5.2.1":"2020-11-19T16:12:25.961Z","5.1.3":"2020-04-29T15:27:33.568Z","5.1.1":"2020-02-13T22:31:03.992Z","0.0.0-typescript-beta-7":"2019-07-12T15:43:37.655Z","0.0.0-typescript-beta-6":"2019-07-11T20:37:09.501Z","0.0.0-typescript-beta-5":"2019-07-11T18:24:17.998Z","0.0.0-typescript-beta-4":"2019-07-09T15:19:10.169Z","0.0.0-typescript-beta-3":"2019-07-09T15:10:39.060Z","0.0.0-typescript-beta-2":"2019-07-09T14:57:03.296Z","5.0.0":"2019-06-08T00:06:09.325Z","4.0.4":"2019-06-01T18:33:48.089Z","4.0.3":"2019-05-29T17:23:47.827Z","4.0.2":"2019-05-27T12:24:34.567Z","4.0.1":"2019-05-22T01:33:52.265Z","3.5.3":"2019-05-22T01:30:00.524Z","4.0.0":"2019-05-21T13:47:34.857Z","3.5.2":"2019-05-21T13:17:41.793Z","3.5.1":"2019-05-10T16:27:07.080Z","3.5.0":"2019-04-29T15:06:08.280Z","3.4.1":"2019-04-16T18:45:25.853Z","3.4.0":"2019-02-19T19:23:53.146Z","3.3.2":"2018-11-12T18:16:18.236Z","3.3.1":"2018-11-08T14:58:17.593Z","3.3.0":"2018-10-30T12:37:53.523Z","3.2.1":"2018-10-09T01:53:40.027Z","3.2.0":"2018-09-18T03:33:06.176Z","3.1.1":"2018-09-06T20:33:51.508Z","2.14.2":"2018-08-23T15:53:01.261Z","3.1.0":"2018-08-23T15:40:58.418Z","2.13.1":"2018-08-22T17:45:28.392Z","3.0.3":"2018-08-22T17:43:52.447Z","3.0.2":"2018-08-21T13:37:05.622Z","3.0.1":"2018-08-21T01:18:17.410Z","3.0.0":"2018-08-21T00:08:17.751Z","2.13.0":"2018-08-21T00:00:24.962Z","2.12.2":"2018-08-07T18:13:52.588Z","2.12.1":"2018-08-03T14:01:11.721Z","2.11.0":"2017-12-10T19:40:58.646Z","2.10.0":"2017-12-10T15:58:15.215Z","2.9.0":"2017-07-26T20:06:10.714Z","2.8.1":"2017-07-25T19:38:01.317Z","2.8.0":"2017-05-15T18:04:40.238Z","2.7.0":"2017-05-02T14:48:45.199Z","2.6.0":"2016-11-18T15:08:27.264Z","2.5.0":"2016-09-14T23:16:51.886Z","2.4.0":"2016-07-08T19:42:59.530Z","2.3.1":"2016-05-18T18:58:19.005Z","2.3.0":"2016-05-18T18:54:18.892Z","2.2.0":"2016-04-25T14:03:00.014Z","2.1.3":"2016-04-25T14:02:01.652Z","2.1.2":"2016-03-30T12:34:49.122Z","2.1.0":"2016-01-20T15:54:39.521Z","2.0.2":"2015-09-29T22:17:23.231Z","2.0.1":"2015-09-29T22:13:19.612Z","2.0.0":"2015-09-29T21:27:37.030Z","1.2.0":"2015-09-02T16:21:12.698Z","1.1.0":"2015-09-02T16:05:14.697Z","1.0.3":"2015-07-27T20:48:03.264Z","1.0.2":"2014-12-11T15:05:32.874Z","1.0.1":"2014-12-11T02:01:17.663Z","1.0.0":"2014-12-11T01:58:05.543Z"},"users":{"clong365":true,"hexalyse":true,"hengkiardo":true,"spiros.politis":true,"rochejul":true,"klombomb":true,"predatorkill":true,"jmsherry":true,"uh-engineer":true,"crellison":true,"tsrisudh":true,"martinspinks":true,"goliatone":true,"lonjoy":true,"tmurngon":true,"justinshea":true,"theaklair":true,"boopathisakthivel.in":true,"spad":true,"rocket0191":true,"yazanrawashdeh":true,"leizongmin":true,"luukmoret":true,"dylanh724":true,"juju.chen":true,"cxm":true,"mjurincic":true,"hitalos":true,"shanewholloway":true,"processbrain":true,"william_an2000":true,"ys_sidson_aidson":true,"zeusbaba":true,"modood":true,"seldo":true,"hibernating":true,"touskar":true,"nazy":true,"maxwelldu":true,"mcharper":true,"obsessiveprogrammer":true,"andrewyang96":true,"ywk93":true,"brightchen":true,"santi8ago8":true,"elitelegendary":true,"wfalkwallace":true},"author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"versions":{"8.3.2":{"name":"express-rate-limit","version":"8.3.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"dependencies":{"ip-address":"10.1.0"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.4.6","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.3.0","@types/express":"5.0.6","@types/jest":"30.0.0","@types/node":"25.5.0","@types/supertest":"7.2.0","del-cli":"7.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.27.4","express":"5.2.1","husky":"9.1.7","jest":"30.3.0","lint-staged":"16.4.0","mintlify":"4.2.446","npm-run-all":"4.1.5","prettier":"3.8.1","ratelimit-header-parser":"0.1.0","supertest":"7.2.2","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"gitHead":"c4dbb42c1b4891056545e30a9187a64c8bfeb8bc","_id":"express-rate-limit@8.3.2","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"shasum":"81bbdbf599b7889a5b3cc272ec115aff200011be","size":29975,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.3.2.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3ab95d32-b4b7-467d-9f79-24e7891773d3"}},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.3.2_1774893841952_0.5751727456778315"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-30T18:04:02.108Z","publish_time":1774893842108,"_source_registry_name":"default","_cnpm_publish_time":1774893842108},"8.3.1":{"name":"express-rate-limit","version":"8.3.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"dependencies":{"ip-address":"10.1.0"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.4.6","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.2.0","@types/express":"5.0.6","@types/jest":"30.0.0","@types/node":"25.3.3","@types/supertest":"7.2.0","del-cli":"7.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.27.3","express":"5.2.1","husky":"9.1.7","jest":"30.2.0","lint-staged":"16.3.2","mintlify":"4.2.392","npm-run-all":"4.1.5","prettier":"3.8.1","ratelimit-header-parser":"0.1.0","supertest":"7.2.2","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"gitHead":"47e5b2952fe697ac0a5f8a6aa86f050f6f2c0ce5","_id":"express-rate-limit@8.3.1","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"shasum":"0aaba098eadd40f6737f30a98e6b16fa1a29edfb","size":30127,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.3.1.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3ab95d32-b4b7-467d-9f79-24e7891773d3"}},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.3.1_1773067940677_0.37323928697746545"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-09T14:52:20.837Z","publish_time":1773067940837,"_source_registry_name":"default","_cnpm_publish_time":1773067940837},"8.0.2":{"name":"express-rate-limit","version":"8.0.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"dependencies":{"ip-address":"10.1.0"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.1.1","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.0.4","@types/express":"5.0.3","@types/jest":"30.0.0","@types/node":"24.0.14","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.0.1","esbuild":"0.25.6","express":"5.1.0","husky":"9.1.7","jest":"30.0.4","lint-staged":"16.1.2","mintlify":"4.2.15","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.3","ts-jest":"29.4.0","ts-node":"10.9.2","typescript":"5.8.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged"},"readmeFilename":"readme.md","_id":"express-rate-limit@8.0.2","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_integrity":"sha512-Chd2YCll60tjgsqDY8yZBoxrf8NiTsHkCY4VbveilUcecVsFzJ6yOXJeMyq9f1wZslN1L9sQk61Ycdqy2maiJQ==","_resolved":"/tmp/158df3d93e6e8cb9ca74472346260fa0/express-rate-limit-8.0.2.tgz","_from":"file:express-rate-limit-8.0.2.tgz","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"shasum":"62eaf5aad4731963c03ed194b04c4ef199d395c5","size":28474,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.0.2.tgz"},"_npmUser":{"name":"gamemaker1","email":"gamemaker0042@gmail.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.0.2_1772737907035_0.8223680442711068"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-05T19:11:47.171Z","publish_time":1772737907171,"_source_registry_name":"default","_cnpm_publish_time":1772737907171},"8.2.2":{"name":"express-rate-limit","version":"8.2.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"dependencies":{"ip-address":"10.1.0"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.3.1","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.2.0","@types/express":"5.0.4","@types/jest":"30.0.0","@types/node":"24.9.1","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.25.11","express":"5.1.0","husky":"9.1.7","jest":"30.2.0","lint-staged":"16.2.6","mintlify":"4.2.179","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.4","ts-jest":"29.4.5","ts-node":"10.9.2","typescript":"5.9.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged"},"readmeFilename":"readme.md","_id":"express-rate-limit@8.2.2","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_integrity":"sha512-Ybv7bqtOgA914MLwaHWVFXMpMYeR1MQu/D+z2MaLYteqBsTIp9sY3AU7mGNLMJv8eLg8uQMpE20I+L2Lv49nSg==","_resolved":"/tmp/287a87b9109e1a02d4b703bb1a2e7f94/express-rate-limit-8.2.2.tgz","_from":"file:express-rate-limit-8.2.2.tgz","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"shasum":"dc1fc33482ab63cc8f6bcf473f2c93ad9b46e261","size":30224,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.2.2.tgz"},"_npmUser":{"name":"gamemaker1","email":"gamemaker0042@gmail.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.2.2_1772737633562_0.5661048089235812"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-05T19:07:13.728Z","publish_time":1772737633728,"_source_registry_name":"default","_cnpm_publish_time":1772737633728},"8.1.1":{"name":"express-rate-limit","version":"8.1.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"dependencies":{"ip-address":"10.1.0"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.2.2","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.1.2","@types/express":"5.0.3","@types/jest":"30.0.0","@types/node":"24.3.0","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.25.9","express":"5.1.0","husky":"9.1.7","jest":"30.1.2","lint-staged":"16.1.6","mintlify":"4.2.94","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.4","ts-jest":"29.4.1","ts-node":"10.9.2","typescript":"5.9.2"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged"},"readmeFilename":"readme.md","_id":"express-rate-limit@8.1.1","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_integrity":"sha512-rvFqXBfcsC4rBEKqGfSKXY6CQZTTJ9yoAnIIXGeW3SYZ4QIfg6MLEXoj6gcax7DGYfEnCSZ4vc9xiwMy8myRWw==","_resolved":"/tmp/679ab00458f7474b4d00a28e9d9d9dc1/express-rate-limit-8.1.1.tgz","_from":"file:express-rate-limit-8.1.1.tgz","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"shasum":"d6a6769f820c53ae823c3ed59a76a3ba078a2fc5","size":29446,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.1.1.tgz"},"_npmUser":{"name":"gamemaker1","email":"gamemaker0042@gmail.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.1.1_1772737583691_0.06820862740289613"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-05T19:06:23.857Z","publish_time":1772737583857,"_source_registry_name":"default","_cnpm_publish_time":1772737583857},"8.3.0":{"name":"express-rate-limit","version":"8.3.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"dependencies":{"ip-address":"10.1.0"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.3.4","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.2.0","@types/express":"5.0.6","@types/jest":"30.0.0","@types/node":"25.3.3","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.27.3","express":"5.2.1","husky":"9.1.7","jest":"30.2.0","lint-staged":"16.3.1","mintlify":"4.2.392","npm-run-all":"4.1.5","prettier":"3.8.1","ratelimit-header-parser":"0.1.0","supertest":"7.2.2","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"gitHead":"9c90752747e169904c44ea1b1bc61a636b9594db","_id":"express-rate-limit@8.3.0","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"shasum":"0ed00d3af24bcf74930d884a78595a96b0a9838c","size":30144,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.3.0.tgz"},"_npmUser":{"name":"gamemaker1","email":"gamemaker0042@gmail.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.3.0_1772728577732_0.35955229781574394"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-05T16:36:17.982Z","publish_time":1772728577982,"_source_registry_name":"default","_cnpm_publish_time":1772728577982},"8.2.1":{"name":"express-rate-limit","version":"8.2.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.3.1","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.2.0","@types/express":"5.0.4","@types/jest":"30.0.0","@types/node":"24.9.1","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.25.11","express":"5.1.0","husky":"9.1.7","jest":"30.2.0","lint-staged":"16.2.6","mintlify":"4.2.179","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.4","ts-jest":"29.4.5","ts-node":"10.9.2","typescript":"5.9.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"dependencies":{"ip-address":"10.0.1"},"gitHead":"fe1604d2aec7759fbe5721caf9b10664026ea672","_id":"express-rate-limit@8.2.1","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"shasum":"ec75fdfe280ecddd762b8da8784c61bae47d7f7f","size":30046,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.2.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.2.1_1761936492217_0.4218561174689097"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-31T18:48:12.457Z","publish_time":1761936492457,"_source_registry_name":"default","_cnpm_publish_time":1761936492457},"8.2.0":{"name":"express-rate-limit","version":"8.2.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.3.1","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.2.0","@types/express":"5.0.4","@types/jest":"30.0.0","@types/node":"24.9.1","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.25.11","express":"5.1.0","husky":"9.1.7","jest":"30.2.0","lint-staged":"16.2.6","mintlify":"4.2.179","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.4","ts-jest":"29.4.5","ts-node":"10.9.2","typescript":"5.9.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"dependencies":{"ip-address":"10.0.1"},"gitHead":"37347330ecb5e0f6e34a278fa77502b3572f57f7","_id":"express-rate-limit@8.2.0","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"shasum":"3416dc0dbb136d6096d0ed3358687493a8cbf24d","size":29928,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.2.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.2.0_1761750711761_0.007180635527616053"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-29T15:11:51.972Z","publish_time":1761750711972,"_source_registry_name":"default","_cnpm_publish_time":1761750711972},"8.1.0":{"name":"express-rate-limit","version":"8.1.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.2.2","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.1.2","@types/express":"5.0.3","@types/jest":"30.0.0","@types/node":"24.3.0","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.1.2","esbuild":"0.25.9","express":"5.1.0","husky":"9.1.7","jest":"30.1.2","lint-staged":"16.1.6","mintlify":"4.2.94","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.4","ts-jest":"29.4.1","ts-node":"10.9.2","typescript":"5.9.2"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"dependencies":{"ip-address":"10.0.1"},"_id":"express-rate-limit@8.1.0","gitHead":"60619359e1a479cceaf5893c0eb4ec68a99d5347","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"shasum":"b956708999347e4d87146f8c3e6dd954fde7718b","size":29307,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.1.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.1.0_1756996663383_0.5375494799768554"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-04T14:37:43.596Z","publish_time":1756996663596,"_source_registry_name":"default","_cnpm_publish_time":1756996663596},"8.0.1":{"name":"express-rate-limit","version":"8.0.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = Object.assign(rateLimit, module.exports);\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.1.1","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.0.4","@types/express":"5.0.3","@types/jest":"30.0.0","@types/node":"24.0.14","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"8.0.1","esbuild":"0.25.6","express":"5.1.0","husky":"9.1.7","jest":"30.0.4","lint-staged":"16.1.2","mintlify":"4.2.15","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.3","ts-jest":"29.4.0","ts-node":"10.9.2","typescript":"5.8.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"dependencies":{"ip-address":"10.0.1"},"_id":"express-rate-limit@8.0.1","gitHead":"b70f456969776326614713cfab01b6ddc076120c","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"shasum":"3bc13aaf9f448085686180ef60679a68ea89654d","size":28340,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.0.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.0.1_1752700346946_0.3686614956277956"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-16T21:12:27.149Z","publish_time":1752700347149,"_source_registry_name":"default","_cnpm_publish_time":1752700347149},"8.0.0":{"name":"express-rate-limit","version":"8.0.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --packages=external --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"biome check","lint:docs":"prettier --check docs/ *.md","lint":"run-s lint:*","format:code":"biome check --write","format:docs":"prettier --write docs/ *.md","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky"},"dependencies":{"ip":"2.0.1"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@biomejs/biome":"2.1.1","@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"30.0.4","@types/express":"5.0.3","@types/ip":"1.1.3","@types/jest":"30.0.0","@types/node":"24.0.14","@types/supertest":"6.0.3","del-cli":"6.0.0","dts-bundle-generator":"9.5.1","esbuild":"0.25.6","express":"5.1.0","husky":"9.1.7","jest":"30.0.4","lint-staged":"16.1.2","mintlify":"4.2.15","npm-run-all":"4.1.5","prettier":"3.6.2","ratelimit-header-parser":"0.1.0","supertest":"7.1.3","ts-jest":"29.4.0","ts-node":"10.9.2","typescript":"5.8.3"},"prettier":"@express-rate-limit/prettier","lint-staged":{"*.{js,ts,json}":"biome check --write","*.{md,yaml}":"prettier --write"},"_id":"express-rate-limit@8.0.0","gitHead":"c299d5c89f9a75e52bfc28b81c22df0f059520e8","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"shasum":"2f011f2fd42078100f50341c416e7c15b95c4189","size":28588,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-8.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-8.0.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_8.0.0_1752596262501_0.11545924185767009"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-15T16:17:42.676Z","publish_time":1752596262676,"_source_registry_name":"default","_cnpm_publish_time":1752596262676},"7.5.1":{"name":"express-rate-limit","version":"7.5.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":">= 4.11"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.25.0","express":"4.21.1","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.5.1","gitHead":"f2287179c3785fe0377006d23cb9fa3c8bdb2574","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"8c3a42f69209a3a1c969890070ece9e20a879dec","size":25842,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.5.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com","actor":{"name":"nfriedly","email":"nathan@nfriedly.com","type":"user"}},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_7.5.1_1750475304978_0.0183677994686251"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-21T03:08:25.153Z","publish_time":1750475305153,"_source_registry_name":"default","_cnpm_publish_time":1750475305153},"7.5.0":{"name":"express-rate-limit","version":"7.5.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4.11 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.21.1","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.5.0","gitHead":"fe46b43783313ff6660c8bc20233e0bb4a470c7d","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"shasum":"6a67990a724b4fbbc69119419feef50c51e8b28f","size":25795,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.5.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-rate-limit_7.5.0_1734239095221_0.1909110283797948"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-15T05:04:55.384Z","publish_time":1734239095384,"_source_registry_name":"default","_cnpm_publish_time":1734239095384},"7.4.1":{"name":"express-rate-limit","version":"7.4.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.21.0","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.4.1","gitHead":"eaea95b4f7d8008340eac82fb261ebf8b79e6192","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.17.0","_npmVersion":"10.8.2","dist":{"shasum":"90954ecbcde9e7ae7b5000325395f86991191d94","size":24260,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.4.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.4.1_1728049791917_0.8297536263056633"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-04T13:49:52.139Z","publish_time":1728049792139,"_source_registry_name":"default","_cnpm_publish_time":1728049792139},"7.4.0":{"name":"express-rate-limit","version":"7.4.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.19.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.4.0","gitHead":"68e0dcc2d8464d87d89a3ce44d5905009c6f5c94","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"shasum":"5db412b8de83fa07ddb40f610c585ac8c1dab988","size":24266,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.4.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.4.0_1721749536394_0.5951585330213953"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-23T15:45:36.551Z","publish_time":1721749536551,"_source_registry_name":"default","_cnpm_publish_time":1721749536551},"7.3.1":{"name":"express-rate-limit","version":"7.3.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.19.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.3.1","gitHead":"609972a282118cde0c6ce62b23c79ab1b6875f2f","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"shasum":"c0887ba746cdd358d17b8ab63d6eba1bae0f670b","size":23649,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.3.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.3.1_1717777821794_0.1331068726241691"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-07T16:30:22.094Z","publish_time":1717777822094,"_source_registry_name":"default","_cnpm_publish_time":1717777822094},"7.3.0":{"name":"express-rate-limit","version":"7.3.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.19.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.3.0","gitHead":"82a5de648f92702485635ae79f1ffacb7ce4ec3f","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"shasum":"b3ea0dc4fc3ca9739e3af04565184f6edcdf0240","size":23397,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.3.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.3.0_1717202429108_0.5626888528322609"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-01T00:40:29.269Z","publish_time":1717202429269,"_source_registry_name":"default","_cnpm_publish_time":1717202429269},"7.2.0":{"name":"express-rate-limit","version":"7.2.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.18.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.2.0","gitHead":"f77addc8db9532924d920d4d310f7d91ba85885c","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"shasum":"06ce387dd5388f429cab8263c514fc07bf90a445","size":22588,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.2.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.2.0_1709415648610_0.29450916064959864"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-02T21:40:48.791Z","publish_time":1709415648791,"_source_registry_name":"default","_cnpm_publish_time":1709415648791},"7.1.5":{"name":"express-rate-limit","version":"7.1.5","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"funding":"https://github.com/sponsors/express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.18.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","mintlify":"4.0.63","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.1.5","gitHead":"782773e488da0accf34145fc61af25f879b93934","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"shasum":"af4c81143a945ea97f2599d13957440a0ddbfcfe","size":21251,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.1.5.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.1.5_1701110916452_0.7894917601094942"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-11-27T18:48:36.683Z","publish_time":1701110916683,"_source_registry_name":"default","_cnpm_publish_time":1701110916683},"7.1.4":{"name":"express-rate-limit","version":"7.1.4","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.18.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.1.4","gitHead":"6f81e8ea60996374153145e5824d2a2d3a19d2d8","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"shasum":"c321fe186a8366eacdb2c5edf2ad6a2f6d93e576","size":25866,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.1.4.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.1.4_1699281494303_0.9612730009261101"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-11-06T14:38:14.511Z","publish_time":1699281494511,"_source_registry_name":"default","_cnpm_publish_time":1699281494511},"7.1.3":{"name":"express-rate-limit","version":"7.1.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"4 || 5 || ^5.0.0-beta.1"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.18.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.1.3","gitHead":"a5c66a6684044df7c982f162b4adbc8dabfa9417","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.8.1","_npmVersion":"10.1.0","dist":{"shasum":"0eae6c7733316f3d9403a71ad488e31e94ca0aa4","size":25789,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.1.3.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.1.3_1698335855644_0.5226672367913348"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-26T15:57:35.872Z","publish_time":1698335855872,"_source_registry_name":"default","_cnpm_publish_time":1698335855872},"7.1.2":{"name":"express-rate-limit","version":"7.1.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","docs":"cd docs && mintlify dev","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.1.1","@express-rate-limit/tsconfig":"1.0.2","@jest/globals":"29.7.0","@types/express":"4.17.20","@types/jest":"29.5.6","@types/node":"20.8.7","@types/supertest":"2.0.15","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.5","express":"4.18.2","husky":"8.0.3","jest":"29.7.0","lint-staged":"15.0.2","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.1.2","gitHead":"04a6f18fef114ec674ce9fa7aa0d158b7757a967","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"shasum":"42156c9135ca7b77d4e0d74b06162bfe02cd45f7","size":25736,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.1.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.1.2_1698063530299_0.8597901540307615"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-23T12:18:50.463Z","publish_time":1698063530463,"_source_registry_name":"default","_cnpm_publish_time":1698063530463},"7.1.1":{"name":"express-rate-limit","version":"7.1.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.1.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.4","@types/express":"4.17.17","@types/jest":"29.5.4","@types/node":"20.5.9","@types/supertest":"2.0.12","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.2","express":"4.18.2","husky":"8.0.3","jest":"29.6.4","lint-staged":"14.0.1","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.1.1","gitHead":"8e2a93e1bf31e97415c0333e72df46e16a43b310","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"shasum":"a9fe92d90a1091f0d2b1d07d97d6df83b412471b","size":29707,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.1.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.1.1_1696848774025_0.2088178361161115"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-09T10:52:54.198Z","publish_time":1696848774198,"_source_registry_name":"default","_cnpm_publish_time":1696848774198},"7.1.0":{"name":"express-rate-limit","version":"7.1.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.1.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.4","@types/express":"4.17.17","@types/jest":"29.5.4","@types/node":"20.5.9","@types/supertest":"2.0.12","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.2","express":"4.18.2","husky":"8.0.3","jest":"29.6.4","lint-staged":"14.0.1","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@7.1.0","gitHead":"c946e3d0de03b94901dc11e4aba9f0786895067a","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"shasum":"0942f76e78a5089fd3e24ef0a1a81c7e4ad2a92b","size":29658,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.1.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.1.0_1696429171482_0.8001555638046223"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-04T14:19:31.658Z","publish_time":1696429171658,"_source_registry_name":"default","_cnpm_publish_time":1696429171658},"7.0.2":{"name":"express-rate-limit","version":"7.0.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.1.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.4","@types/express":"4.17.17","@types/jest":"29.5.4","@types/node":"20.5.9","@types/supertest":"2.0.12","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.2","express":"4.18.2","husky":"8.0.3","jest":"29.6.4","lint-staged":"14.0.1","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"gitHead":"c1fd7b82bc2ef9995bae160d52003eaeadff9616","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_id":"express-rate-limit@7.0.2","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"0257a823d1547bca35c268d4111e2c7da2473407","size":29453,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.0.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.0.2_1695757818633_0.1011228557182573"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-26T19:50:18.888Z","publish_time":1695757818888,"_source_registry_name":"default","_cnpm_publish_time":1695757818888},"7.0.1":{"name":"express-rate-limit","version":"7.0.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.1.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.4","@types/express":"4.17.17","@types/jest":"29.5.4","@types/node":"20.5.9","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.2","express":"4.18.2","husky":"8.0.3","jest":"29.6.4","lint-staged":"14.0.1","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"gitHead":"e641a54ee86a49260152d71813e481abda990e1c","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_id":"express-rate-limit@7.0.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"933af24166990ea4fc8004335e6cd6c86fd31562","size":29300,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.0.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.0.1_1694850576095_0.6005758058605783"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-16T07:49:36.325Z","publish_time":1694850576325,"_source_registry_name":"default","_cnpm_publish_time":1694850576325},"7.0.0":{"name":"express-rate-limit","version":"7.0.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 16"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2022 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2022 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.1.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.4","@types/express":"4.17.17","@types/jest":"29.5.4","@types/node":"20.5.9","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.1.0","dts-bundle-generator":"8.0.1","esbuild":"0.19.2","express":"4.18.2","husky":"8.0.3","jest":"29.6.4","lint-staged":"14.0.1","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.2.2","xo":"0.56.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"gitHead":"1b6c5efe1eeb73b7e40c031ed50b9e2f4d195a3f","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_id":"express-rate-limit@7.0.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"606d393bebf62f2f44d98d76330151587015cba0","size":29282,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-7.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-7.0.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_7.0.0_1694535910433_0.3933439390699942"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-12T16:25:10.663Z","publish_time":1694535910663,"_source_registry_name":"default","_cnpm_publish_time":1694535910663},"6.11.2":{"name":"express-rate-limit","version":"6.11.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --config config/jest.json","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.0.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.2","@types/express":"4.17.17","@types/jest":"29.5.3","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.2","lint-staged":"13.2.3","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@6.11.2","gitHead":"1f7d05e4716ee7dfbe08fe0abe64d4cd964a4b2e","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.6.1","_npmVersion":"9.8.1","dist":{"shasum":"6c42035603d3b52e4e2fb59f6ebaa89e628ef980","size":26776,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.11.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.11.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.11.2_1694484138349_0.39566582959071006"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-12T02:02:18.599Z","publish_time":1694484138599,"_source_registry_name":"default","_cnpm_publish_time":1694484138599},"6.11.1":{"name":"express-rate-limit","version":"6.11.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --config config/jest.json","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.0.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.2","@types/express":"4.17.17","@types/jest":"29.5.3","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.2","lint-staged":"13.2.3","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@6.11.1","gitHead":"08f936db43f4db01f8b5487a40e122cce59a96fd","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"shasum":"52e05c5d379cd5d06ae29665862436eb712e414a","size":26676,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.11.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.11.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.11.1_1694365816233_0.8862023946792541"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-10T17:10:16.449Z","publish_time":1694365816449,"_source_registry_name":"default","_cnpm_publish_time":1694365816449},"6.11.0":{"name":"express-rate-limit","version":"6.11.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo","lint:rest":"prettier --check .","lint":"run-s lint:*","format:code":"xo --fix","format:rest":"prettier --write .","format":"run-s format:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --config config/jest.json","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.0.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.2","@types/express":"4.17.17","@types/jest":"29.5.3","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.2","lint-staged":"13.2.3","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}],"ignore":["test/external"]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write "},"_id":"express-rate-limit@6.11.0","gitHead":"625ce86459a544f97743f0876a2dd490ea8c400f","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.6.0","_npmVersion":"9.8.1","dist":{"shasum":"bbb474c9765e5027ac92683a494e06162ea7c542","size":26441,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.11.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.11.0_1694008532997_0.6141092517837137"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-06T13:55:33.181Z","publish_time":1694008533181,"_source_registry_name":"default","_cnpm_publish_time":1694008533181},"6.10.0":{"name":"express-rate-limit","version":"6.10.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","format:code":"npm run lint:code -- --fix","format:rest":"npm run lint:rest -- --write .","format":"run-s format:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --config config/jest.json","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@express-rate-limit/prettier":"1.0.0","@express-rate-limit/tsconfig":"1.0.0","@jest/globals":"29.6.2","@types/express":"4.17.17","@types/jest":"29.5.3","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.2","lint-staged":"13.2.3","npm-run-all":"4.1.5","ratelimit-header-parser":"0.1.0","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0,"@typescript-eslint/no-unsafe-assignment":0}}]},"prettier":"@express-rate-limit/prettier","lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"_id":"express-rate-limit@6.10.0","gitHead":"57ee25cb66bf1838898641f5641b496e9e7efa04","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.5.1","_npmVersion":"9.8.0","dist":{"shasum":"e881fcfb1d2a5b364e4850bacb333d537b05e414","size":26093,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.10.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.10.0_1693438342608_0.31761000490978053"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-30T23:32:22.857Z","publish_time":1693438342857,"_source_registry_name":"default","_cnpm_publish_time":1693438342857},"6.9.0":{"name":"express-rate-limit","version":"6.9.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.0.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","format:code":"npm run lint:code -- --fix","format:rest":"npm run lint:rest -- --write .","format":"run-s format:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:lib","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"29.6.1","@types/express":"4.17.17","@types/jest":"29.5.2","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.1","lint-staged":"13.2.3","npm-run-all":"4.1.5","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0}}]},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"_id":"express-rate-limit@6.9.0","gitHead":"242e224cee92b69c709231c3e9b9eea149951d8d","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.5.0","_npmVersion":"9.8.0","dist":{"shasum":"afecb23936d9cd1d133a3c20056708b9955cad0f","size":23439,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.9.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.9.0_1691292945499_0.6373058206696085"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-06T03:35:45.701Z","publish_time":1691292945701,"_source_registry_name":"default","_cnpm_publish_time":1691292945701},"6.8.1":{"name":"express-rate-limit","version":"6.8.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.0.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"npm run lint:code -- --fix","autofix:rest":"npm run lint:rest -- --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"29.6.1","@types/express":"4.17.17","@types/jest":"29.5.2","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.1","lint-staged":"13.2.3","npm-run-all":"4.1.5","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0}}]},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"_id":"express-rate-limit@6.8.1","gitHead":"30c3187bdf6bb3446bc34f31f3b4a18efb2071af","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.5.0","_npmVersion":"9.8.0","dist":{"shasum":"f614bc3a7040fe6f75dc3198536f4cc13526f989","size":21622,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.8.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.8.1_1690463318556_0.6665481779165985"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-27T13:08:38.737Z","publish_time":1690463318737,"_source_registry_name":"default","_cnpm_publish_time":1690463318737},"6.7.2":{"name":"express-rate-limit","version":"6.7.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.0.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"run-s lint:code --fix","autofix:rest":"run-s lint:rest --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"29.6.1","@types/express":"4.17.17","@types/jest":"29.5.2","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.1","lint-staged":"13.2.3","npm-run-all":"4.1.5","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"4.9.5","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"_id":"express-rate-limit@6.7.2","gitHead":"8780cd5179f17430d2d8c569ea8aca672037f4b8","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_nodeVersion":"20.5.0","_npmVersion":"9.8.0","dist":{"shasum":"4bbc7edc5846e2d7a7a9f160b02d26ac80ea88f3","size":19018,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.7.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.7.2_1690462712556_0.18600386815700176"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-27T12:58:32.778Z","publish_time":1690462712778,"_source_registry_name":"default","_cnpm_publish_time":1690462712778},"6.8.0":{"name":"express-rate-limit","version":"6.8.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.0.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --platform=node --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --platform=node --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"npm run lint:code -- --fix","autofix:rest":"npm run lint:rest -- --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"29.6.1","@types/express":"4.17.17","@types/jest":"29.5.2","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"8.0.1","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.1","lint-staged":"13.2.3","npm-run-all":"4.1.5","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.1.6","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0},"overrides":[{"files":"test/library/*.ts","rules":{"@typescript-eslint/no-unsafe-argument":0}}]},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"3b8ccf782087cea0fed070135b77f187bd28f282","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_id":"express-rate-limit@6.8.0","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"shasum":"4f1f8238ba209caee2a43be921813f1b70e29beb","size":21449,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.8.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.8.0_1689899962175_0.9251967145363227"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-21T00:39:22.367Z","publish_time":1689899962367,"_source_registry_name":"default","_cnpm_publish_time":1689899962367},"6.7.1":{"name":"express-rate-limit","version":"6.7.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.0.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts && cp dist/index.d.ts dist/index.d.cts && cp dist/index.d.ts dist/index.d.mts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"run-s lint:code --fix","autofix:rest":"run-s lint:rest --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"29.6.1","@types/express":"4.17.17","@types/jest":"29.5.2","@types/node":"20.4.0","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"8.0.1","esbuild":"0.18.11","express":"4.18.2","husky":"8.0.3","jest":"29.6.1","lint-staged":"13.2.3","npm-run-all":"4.1.5","supertest":"6.3.3","ts-jest":"29.1.1","ts-node":"10.9.1","typescript":"5.1.6","xo":"0.54.2"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"6ee8113b559c4e36c9ed4f0d3e02d7cd49b3bf78","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_id":"express-rate-limit@6.7.1","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"shasum":"ca93de8eaa25878b539d478948fc94592742e526","size":19020,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.7.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.7.1_1688679066155_0.5943004784931363"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-06T21:31:06.430Z","publish_time":1688679066430,"_source_registry_name":"default","_cnpm_publish_time":1688679066430},"6.7.0":{"name":"express-rate-limit","version":"6.7.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/express-rate-limit/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"29.3.1","@types/express":"4.17.14","@types/jest":"29.2.3","@types/node":"18.11.9","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"5.0.0","dts-bundle-generator":"7.0.0","esbuild":"0.15.14","express":"4.18.2","husky":"8.0.2","jest":"29.3.1","lint-staged":"13.0.3","npm-run-all":"4.1.5","supertest":"6.3.1","ts-jest":"29.0.3","ts-node":"10.9.1","typescript":"4.8.4","xo":"0.49.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"n/no-unsupported-features/es-syntax":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"8fdcbf01843e54dbcf971439623fb314b7391ccc","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"_id":"express-rate-limit@6.7.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"6aa8a1bd63dfe79702267b3af1161a93afc1d3c2","size":15700,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.7.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.7.0_1668538857182_0.7073476153755591"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-11-15T19:06:03.857Z","publish_time":1668538857416,"_cnpm_publish_time":1668538857416},"6.6.0":{"name":"express-rate-limit","version":"6.6.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"28.1.3","@types/express":"4.17.13","@types/jest":"28.1.6","@types/node":"18.0.6","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"4.0.1","dts-bundle-generator":"6.12.0","esbuild":"0.14.49","express":"4.18.1","husky":"8.0.1","jest":"28.1.3","lint-staged":"13.0.3","npm-run-all":"4.1.5","supertest":"6.2.4","ts-jest":"28.0.7","ts-node":"10.9.1","typescript":"4.7.4","xo":"0.49.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"a567fda35e2335a38ce7a83838ca26f39811e89b","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.6.0","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"shasum":"3bbc2546540d327b1b0bfa9ab5f1b2c49075af98","size":15259,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.6.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.6.0_1662320196421_0.06725458585811928"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-04T19:36:42.344Z","publish_time":1662320196620,"_cnpm_publish_time":1662320196620},"6.5.2":{"name":"express-rate-limit","version":"6.5.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"28.1.3","@types/express":"4.17.13","@types/jest":"28.1.6","@types/node":"18.0.6","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"4.0.1","dts-bundle-generator":"6.12.0","esbuild":"0.14.49","express":"4.18.1","husky":"8.0.1","jest":"28.1.3","lint-staged":"13.0.3","npm-run-all":"4.1.5","supertest":"6.2.4","ts-jest":"28.0.7","ts-node":"10.9.1","typescript":"4.7.4","xo":"0.49.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"c2e2082ae2a9abe37967a006e7b871f5df088d17","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.5.2","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"shasum":"5d2322e680ed43ae303b775fa7e19496c9014b58","size":15118,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.5.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.5.2_1661369787288_0.8357823259493307"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-24T19:49:34.146Z","publish_time":1661369787539,"_cnpm_publish_time":1661369787539},"6.5.1":{"name":"express-rate-limit","version":"6.5.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"28.1.3","@types/express":"4.17.13","@types/jest":"28.1.6","@types/node":"18.0.6","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"4.0.1","dts-bundle-generator":"6.12.0","esbuild":"0.14.49","express":"4.18.1","husky":"8.0.1","jest":"28.1.3","lint-staged":"13.0.3","npm-run-all":"4.1.5","supertest":"6.2.4","ts-jest":"28.0.7","ts-node":"10.9.1","typescript":"4.7.4","xo":"0.49.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"12deb5cc3d77710b4bc7fe36bf4ac439cb5d43da","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.5.1","_nodeVersion":"18.6.0","_npmVersion":"8.13.2","dist":{"shasum":"2b4c329f03265f94f19613519b169afbd018e783","size":15115,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.5.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.5.1_1658595071150_0.6492614207031631"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-23T16:51:15.787Z","publish_time":1658595071368,"_cnpm_publish_time":1658595071368},"6.4.0":{"name":"express-rate-limit","version":"6.4.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4 || ^5"},"devDependencies":{"@jest/globals":"27.4.6","@types/express":"4.17.13","@types/jest":"27.4.1","@types/node":"16.11.27","@types/supertest":"2.0.12","cross-env":"7.0.3","del-cli":"4.0.1","dts-bundle-generator":"6.8.0","esbuild":"0.14.38","express":"4.17.3","husky":"7.0.4","jest":"27.5.1","lint-staged":"12.4.0","npm-run-all":"4.1.5","supertest":"6.2.2","ts-jest":"27.1.4","ts-node":"10.7.0","typescript":"4.6.3","xo":"0.48.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"e7820d21335a149d638bdda913fb3ec035a84a96","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.4.0","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"shasum":"b7066afe21157a012ed2b7c9adde386e712485cd","size":14886,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.4.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.4.0_1650815708544_0.003080821636361364"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-24T15:55:13.997Z","publish_time":1650815708722,"_cnpm_publish_time":1650815708722},"6.3.0":{"name":"express-rate-limit","version":"6.3.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --target=es2019 --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --target=es2019 --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.6","@types/express":"^4.17.13","@types/jest":"^27.4.0","@types/node":"^16.11.21","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.4.0","esbuild":"^0.14.12","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.7","lint-staged":"^12.2.2","npm-run-all":"^4.1.5","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.4.0","typescript":"^4.5.5","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"435e1e404b28bd6f9e10edda5137e65009f685e9","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.3.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"shasum":"253387ce4d36c9c2cc77c7c676068deb36cc0821","size":14823,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.3.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.3.0_1645273493437_0.8100994785553923"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-19T12:24:58.139Z","publish_time":1645273493568,"_cnpm_publish_time":1645273493568},"6.2.1":{"name":"express-rate-limit","version":"6.2.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.5.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.6","@types/express":"^4.17.13","@types/jest":"^27.4.0","@types/node":"^16.11.21","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.4.0","esbuild":"^0.14.12","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.7","lint-staged":"^12.2.2","npm-run-all":"^4.1.5","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.4.0","typescript":"^4.5.5","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"49294c8b72c4e46756d554f594eccfd1b1a7811a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.2.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"shasum":"4a7619634fb24417ae723ad2ac3707b38e2e1c64","size":14682,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.2.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.2.1_1644506243889_0.7651811426577069"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-10T15:17:29.265Z","publish_time":1644506244046,"_cnpm_publish_time":1644506244046},"6.2.0":{"name":"express-rate-limit","version":"6.2.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.5.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit; module.exports.MemoryStore = MemoryStore;\" source/index.ts","build:esm":"esbuild --bundle --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.6","@types/express":"^4.17.13","@types/jest":"^27.4.0","@types/node":"^16.11.21","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.4.0","esbuild":"^0.14.12","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.7","lint-staged":"^12.2.2","npm-run-all":"^4.1.5","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.4.0","typescript":"^4.5.5","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"a8dc1f7b38b47b219a6578b455129fc180634ba9","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.2.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"shasum":"be644be082d4d5da8c368aed07cef80152f6e218","size":14505,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.2.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.2.0_1642859365280_0.1602881872965891"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-22T13:49:54.719Z","publish_time":1642859365429,"_cnpm_publish_time":1642859365429},"6.1.0":{"name":"express-rate-limit","version":"6.1.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.5.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit; module.exports.default = rateLimit; module.exports.rateLimit = rateLimit;\" source/index.ts","build:esm":"esbuild --bundle --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.6","@types/express":"^4.17.13","@types/jest":"^27.4.0","@types/node":"^16.11.19","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.4.0","esbuild":"^0.14.11","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.7","lint-staged":"^12.1.7","npm-run-all":"^4.1.5","supertest":"^6.2.1","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"7adc75624de8d1b182a4bc78eeaba508497588b4","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.1.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"aa6fd49cb4f53337420b83ea826d47dac613d121","size":14398,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.1.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.1.0_1641961343366_0.11753132533141941"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-12T04:32:40.533Z","publish_time":1641961343546,"_cnpm_publish_time":1641961343546},"6.0.5":{"name":"express-rate-limit","version":"6.0.5","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.5.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit;\" source/index.ts","build:esm":"esbuild --bundle --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"npm pack && cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.6","@types/express":"^4.17.13","@types/jest":"^27.4.0","@types/node":"^16.11.17","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.3.0","esbuild":"^0.14.10","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.7","lint-staged":"^12.1.5","npm-run-all":"^4.1.5","supertest":"^6.1.6","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"2fdc2ffd9477d8c9320e490bdf1fafa9dbd2313a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.0.5","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"caee8f6634ed9db7b6bf7d5d7086f90ecd92e6e9","size":14271,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.0.5.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.0.5_1641475568279_0.21217399761129063"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-06T13:36:21.681Z","publish_time":1641475568466,"_cnpm_publish_time":1641475568466},"6.0.4":{"name":"express-rate-limit","version":"6.0.4","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","engines":{"node":">= 14.5.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit;\" source/index.ts","build:esm":"esbuild --bundle --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"npm pack && cd test/external/ && bash run-all-tests","test":"run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.2","@types/express":"^4.17.13","@types/jest":"^27.0.3","@types/node":"^16.11.17","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.2.0","esbuild":"^0.14.8","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.3","lint-staged":"^12.1.2","npm-run-all":"^4.1.5","supertest":"^6.1.6","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"]}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"2ac0274069fbb7eeba9be246c01372175ed131b8","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.0.4","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"1f3d663e8d640be1c8c5e1ad2fb55a7d7a7b118c","size":14266,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.0.4.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.0.4_1641131564516_0.6426592294382067"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-02T14:02:56.370Z","publish_time":1641131564656,"_cnpm_publish_time":1641131564656},"6.0.3":{"name":"express-rate-limit","version":"6.0.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"engines":{"node":">= 14.5.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild --bundle --format=cjs --outfile=dist/index.cjs --footer:js=\"module.exports = rateLimit;\" source/index.ts","build:esm":"esbuild --bundle --format=esm --outfile=dist/index.mjs source/index.ts","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"npm pack && run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.2","@types/express":"^4.17.13","@types/jest":"^27.0.3","@types/node":"^16.11.17","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.2.0","esbuild":"^0.14.8","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.3","lint-staged":"^12.1.2","npm-run-all":"^4.1.5","supertest":"^6.1.6","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"import/no-named-as-default-member":0,"import/no-cycle":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"de47e0787383695567bf87a3f65d07e7ea56ad59","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.0.3","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"8360308ea1e5ccc0e6939b0a69adbf5166e1f93c","size":13894,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.0.3.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.0.3_1640883639104_0.20485790137287285"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-30T17:10:48.736Z","publish_time":1640883639272,"_cnpm_publish_time":1640883639272},"6.0.2":{"name":"express-rate-limit","version":"6.0.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"esbuild source/index.ts --bundle --format=cjs --outfile=dist/index.cjs --footer:js='module.exports = rateLimit;'","build:esm":"esbuild source/index.ts --bundle --format=esm --outfile=dist/index.mjs","build:types":"dts-bundle-generator --out-file=dist/index.d.ts source/index.ts","compile":"run-s clean build:*","lint:code":"xo --ignore test/external/","lint:rest":"prettier --ignore-path .gitignore --ignore-unknown --check .","lint":"run-s lint:*","autofix:code":"xo --ignore test/external/ --fix","autofix:rest":"prettier --ignore-path .gitignore --ignore-unknown --write .","autofix":"run-s autofix:*","test:lib":"cross-env NODE_OPTIONS=--experimental-vm-modules jest","test:ext":"cd test/external/ && bash run-all-tests","test":"npm pack && run-s lint test:*","pre-commit":"lint-staged","prepare":"run-s compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.2","@types/express":"^4.17.13","@types/jest":"^27.0.3","@types/node":"^16.11.17","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","dts-bundle-generator":"^6.2.0","esbuild":"^0.14.8","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.3","lint-staged":"^12.1.2","npm-run-all":"^4.1.5","supertest":"^6.1.6","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"import/no-named-as-default-member":0,"import/no-cycle":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/library/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --ignore test/external/ --fix","**/*.{json,yaml,md}":"prettier --ignore-path .gitignore --ignore-unknown --write "},"gitHead":"09444436a201d31841e5e9bbd1fd6a16ca2979db","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.0.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"aff7ad09cbade378351f12af72317b7d08857048","size":13411,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.0.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.0.2_1640846321949_0.017371263257926373"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-30T06:38:53.868Z","publish_time":1640846322092,"_cnpm_publish_time":1640846322092},"6.0.1":{"name":"express-rate-limit","version":"6.0.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","types":"./dist/esm/index.d.ts","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"tsc --project config/typescript/cjs.json && cpy --rename package.json config/node/cjs.json dist/cjs/","build:esm":"tsc --project config/typescript/esm.json && cpy --rename package.json config/node/esm.json dist/esm/","build":"run-p build:*","compile":"run-s clean build","lint":"xo","autofix":"xo --fix","test-lib":"cross-env TS_NODE_PROJECT=config/typescript/test.json NODE_OPTIONS=--experimental-vm-modules jest","test":"run-s compile lint test-lib","view-coverage":"npx serve coverage/lcov-report","pre-commit":"lint-staged","prepare":"npm run compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.2","@types/express":"^4.17.13","@types/jest":"^27.0.3","@types/node":"^16.11.17","@types/supertest":"^2.0.11","cpy-cli":"^3.1.1","cross-env":"^7.0.3","del-cli":"^4.0.1","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.3","lint-staged":"^12.1.2","npm-run-all":"^4.1.5","supertest":"^6.1.6","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"import/no-named-as-default-member":0,"import/no-cycle":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write"},"gitHead":"b160f0086d761e4cfc2b613768670e45947e270f","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.0.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"f6d0b0417dc5dcb7e4d4936f8bdbba20f408860f","size":23999,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.0.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.0.1_1640426599276_0.042164434738028334"},"_hasShrinkwrap":false,"publish_time":1640426599446,"_cnpm_publish_time":1640426599446},"6.0.0":{"name":"express-rate-limit","version":"6.0.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"license":"MIT","homepage":"https://github.com/nfriedly/express-rate-limit","repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"type":"module","module":"dist/esm/index.js","main":"dist/cjs/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./memory-store":{"import":"./dist/esm/memory-store.js","require":"./dist/cjs/memory-store.js"}},"typesVersions":{"*":{".":["./dist/esm/index.d.ts"],"./memory-store":["./dist/esm/memory-store.d.ts"]}},"engines":{"node":">= 12.9.0"},"scripts":{"clean":"del-cli dist/ coverage/ *.log *.tmp *.bak *.tgz","build:cjs":"tsc --project config/typescript/cjs.json","build:esm":"tsc --project config/typescript/esm.json","build":"run-p build:*","compile":"run-s clean build","lint":"xo","autofix":"xo --fix","test-lib":"cross-env TS_NODE_PROJECT=config/typescript/test.json NODE_OPTIONS=--experimental-vm-modules jest","test":"run-s compile lint test-lib","view-coverage":"npx serve coverage/lcov-report","pre-commit":"lint-staged","prepare":"npm run compile && husky install config/husky"},"peerDependencies":{"express":"^4"},"devDependencies":{"@jest/globals":"^27.4.2","@types/express":"^4.17.13","@types/jest":"^27.0.3","@types/node":"^16.11.17","@types/supertest":"^2.0.11","cross-env":"^7.0.3","del-cli":"^4.0.1","express":"^4.17.1","husky":"^7.0.4","jest":"^27.4.3","lint-staged":"^12.1.2","npm-run-all":"^4.1.5","supertest":"^6.1.6","ts-jest":"^27.1.1","ts-node":"^10.4.0","typescript":"^4.5.2","xo":"^0.47.0"},"xo":{"prettier":true,"rules":{"@typescript-eslint/no-empty-function":0,"@typescript-eslint/no-dynamic-delete":0,"@typescript-eslint/no-confusing-void-expression":0,"@typescript-eslint/consistent-indexed-object-style":["error","index-signature"],"import/no-named-as-default-member":0,"import/no-cycle":0}},"prettier":{"semi":false,"useTabs":true,"singleQuote":true,"bracketSpacing":true,"trailingComma":"all","proseWrap":"always"},"jest":{"preset":"ts-jest/presets/default-esm","globals":{"ts-jest":{"useESM":true}},"verbose":true,"collectCoverage":true,"collectCoverageFrom":["source/**/*.ts"],"testTimeout":30000,"testMatch":["**/test/**/*-test.[jt]s?(x)"],"moduleFileExtensions":["js","jsx","json","ts","tsx"],"moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"lint-staged":{"{source,test}/**/*.ts":"xo --fix","**/*.{json,yaml,md}":"prettier --write"},"types":"./dist/cjs/index.d.ts","gitHead":"81346ba9af65447673525fa47f28e77b3a7c9b8e","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@6.0.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"6afdb010d07d5e0ec2639fde25f742a4c77c7a0a","size":23916,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-6.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-6.0.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_6.0.0_1640366913949_0.8738865456676621"},"_hasShrinkwrap":false,"publish_time":1640366914110,"_cnpm_publish_time":1640366914110},"5.5.1":{"name":"express-rate-limit","version":"5.5.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.1","husky":"^7.0.2","mocha":"^9.1.2","prettier":"^2.4.1","pretty-quick":"^3.1.1","sinon":"^11.1.2","supertest":"^6.1.6"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"b9e0e59d1b65621d92827ec50208420936114106","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.5.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"shasum":"110c23f6a65dfa96ab468eda95e71697bc6987a2","size":7360,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.5.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.5.1_1636168614258_0.047891164380319484"},"_hasShrinkwrap":false,"publish_time":1636168614480,"_cnpm_publish_time":1636168614480},"5.5.0":{"name":"express-rate-limit","version":"5.5.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.1","husky":"^7.0.2","mocha":"^9.1.2","prettier":"^2.4.1","pretty-quick":"^3.1.1","sinon":"^11.1.2","supertest":"^6.1.6"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"bbeca82dc736a21c5ef51a1f0b6e5ec833c6c71b","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.5.0","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"shasum":"27dc48b5cc325448df47d02d5f4a2183b723781d","size":7262,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.5.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.5.0_1634068746223_0.6478101269585446"},"_hasShrinkwrap":false,"publish_time":1634068746389,"_cnpm_publish_time":1634068746389},"5.4.1":{"name":"express-rate-limit","version":"5.4.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.1","husky":"^7.0.2","mocha":"^9.1.2","prettier":"^2.4.1","pretty-quick":"^3.1.1","sinon":"^11.1.2","supertest":"^6.1.6"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"67d365f552a1412a1657bbb318027615885f9a01","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.4.1","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"shasum":"1cbdf895b9ecbf00eb661f993d00a24ce4d26cf8","size":7210,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.4.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.4.1_1633464732438_0.8106318835507771"},"_hasShrinkwrap":false,"publish_time":1633464732780,"_cnpm_publish_time":1633464732780},"5.4.0":{"name":"express-rate-limit","version":"5.4.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.1","husky":"^7.0.2","mocha":"^9.1.2","prettier":"^2.4.1","pretty-quick":"^3.1.1","sinon":"^11.1.2","supertest":"^6.1.6"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"67aa4fcbb65b18a53c5e9b5715c60de60037f2b6","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.4.0","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"shasum":"2c17427ada8f2a19dba153c917937da849b4473a","size":7149,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.4.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.4.0_1633115136891_0.9687065007641276"},"_hasShrinkwrap":false,"publish_time":1633115137135,"_cnpm_publish_time":1633115137135},"5.3.0":{"name":"express-rate-limit","version":"5.3.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.19.0","eslint-config-prettier":"^7.2.0","eslint-plugin-prettier":"^3.3.1","express":"^4.17.1","husky":"^4.3.8","mocha":"^8.2.1","prettier":"^2.2.1","pretty-quick":"^3.1.0","sinon":"^9.2.4","supertest":"^6.1.3"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"c4f9c46ddf6d6f86861007df431d775deb5f379c","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.3.0","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"shasum":"e7b9d3c2e09ece6e0406a869b2ce00d03fe48aea","size":6958,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.3.0.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.3.0_1625154594415_0.8609301197694739"},"_hasShrinkwrap":false,"publish_time":1625154594570,"_cnpm_publish_time":1625154594570},"5.2.6":{"name":"express-rate-limit","version":"5.2.6","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.19.0","eslint-config-prettier":"^7.2.0","eslint-plugin-prettier":"^3.3.1","express":"^4.17.1","husky":"^4.3.8","mocha":"^8.2.1","prettier":"^2.2.1","pretty-quick":"^3.1.0","supertest":"^6.1.3"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"683e89bbce099473f6de64d1a2a67af96b4398f1","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.2.6","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"shasum":"b454e1be8a252081bda58460e0a25bf43ee0f7b0","size":6807,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.2.6.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.2.6_1613573124543_0.6250209791029837"},"_hasShrinkwrap":false,"publish_time":1613573124702,"_cnpm_publish_time":1613573124702},"5.2.5":{"name":"express-rate-limit","version":"5.2.5","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"devDependencies":{"bluebird":"^3.7.2","eslint":"^7.19.0","eslint-config-prettier":"^7.2.0","eslint-plugin-prettier":"^3.3.1","express":"^4.17.1","husky":"^4.3.8","mocha":"^8.2.1","prettier":"^2.2.1","pretty-quick":"^3.1.0","supertest":"^6.1.3"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"5429151643795234c5c0ca5d7731e75cd2dfab54","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.2.5","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"shasum":"956fde02aaf28724c0fd01b932986baa35143ece","size":6815,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.2.5.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.2.5_1612799345019_0.006403082068567656"},"_hasShrinkwrap":false,"publish_time":1612799345132,"_cnpm_publish_time":1612799345132},"5.2.3":{"name":"express-rate-limit","version":"5.2.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","express":"^4.17.1","husky":"^4.2.3","mocha":"^7.1.1","prettier":"^2.0.4","pretty-quick":"^2.0.1","supertest":"^4.0.2"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"2a48493756ff2f04c79be1be0330f5781e2855dd","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.2.3","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"shasum":"ae73b3dc723decd697797611bd96e9b34a912f6c","size":6676,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.2.3.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.2.3_1605805230657_0.004247953155696926"},"_hasShrinkwrap":false,"publish_time":1605805230779,"_cnpm_publish_time":1605805230779},"5.2.2":{"name":"express-rate-limit","version":"5.2.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","express":"^4.17.1","husky":"^4.2.3","mocha":"^7.1.1","prettier":"^2.0.4","pretty-quick":"^2.0.1","supertest":"^4.0.2"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"6e6369e5524a74d83dde7b7c6790b1deefd7a3b5","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.2.2","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"shasum":"024d9b7218c530142ae622fc18a66ce075ad3e58","size":6724,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.2.2.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.2.2_1605803089039_0.7275828074225694"},"_hasShrinkwrap":false,"publish_time":1605803089168,"_cnpm_publish_time":1605803089168},"5.2.1":{"name":"express-rate-limit","version":"5.2.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","express":"^4.17.1","husky":"^4.2.3","mocha":"^7.1.1","prettier":"^2.0.4","pretty-quick":"^2.0.1","supertest":"^4.0.2"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"03c4bc38b749519e6dfe575e8b516f447eb7eb2f","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.2.1","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"shasum":"9f0b65fa6eaa49f9bec4f0fffe80c361007f7e8a","size":6724,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.2.1.tgz"},"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.2.1_1605802345823_0.18918549564142895"},"_hasShrinkwrap":false,"publish_time":1605802345961,"_cnpm_publish_time":1605802345961},"5.1.3":{"name":"express-rate-limit","version":"5.1.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","express":"^4.17.1","husky":"^4.2.3","mocha":"^7.1.1","prettier":"^2.0.4","pretty-quick":"^2.0.1","supertest":"^4.0.2"},"scripts":{"lint":"eslint .","autofix":"npm run lint -- --fix","test":"npm run lint && mocha","precommit":"pretty-quick --staged"},"gitHead":"41dc7e638c24d501e691bdad1b34825e23b5cd49","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.1.3","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"shasum":"656bacce3f093034976346958a0f0199902c9174","size":6664,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.1.3.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.1.3_1588174053412_0.04446174338670561"},"_hasShrinkwrap":false,"publish_time":1588174053568,"_cnpm_publish_time":1588174053568},"5.1.1":{"name":"express-rate-limit","version":"5.1.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^6.8.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","express":"^4.17.1","husky":"^4.2.3","mocha":"^7.0.1","prettier":"^1.19.1","pretty-quick":"^2.0.1","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"23d8ae795b46411aca3b151fc27615d1d03e6a28","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.1.1","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"shasum":"572e75c47ef890a6c9a3347f27bf3557d571f9ed","size":6639,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.1.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.1.1_1581633063887_0.5510599445989075"},"_hasShrinkwrap":false,"publish_time":1581633063992,"_cnpm_publish_time":1581633063992},"0.0.0-typescript-beta-7":{"name":"express-rate-limit","version":"0.0.0-typescript-beta-7","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"dist/express-rate-limit.js","types":"dist/express-rate-limit.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"@types/express":"^4.17.0","@types/mocha":"^5.2.7","@types/node":"^12.0.12","@types/supertest":"^2.0.8","@typescript-eslint/parser":"^1.11.0","eslint":"^6.0.1","eslint-config-prettier":"^6.0.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^3.0.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2","ts-node":"^8.3.0","typescript":"^3.5.2"},"scripts":{"build":"tsc","pretest":"npm run build","test":"eslint . && TS_NODE_PROJECT=test/tsconfig.json mocha --require ts-node/register test/*-test.*","precommit":"pretty-quick --staged","prepublish":"npm run build"},"readmeFilename":"README.md","gitHead":"3d09922bc62cef2741a5d726ec5368d48d6c3cb5","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@0.0.0-typescript-beta-7","_nodeVersion":"8.11.3","_npmVersion":"6.10.0","dist":{"shasum":"5397cc433504f3d15a15554d08162f986dbbdb40","size":9886,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-0.0.0-typescript-beta-7.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-0.0.0-typescript-beta-7.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_0.0.0-typescript-beta-7_1562946217511_0.36888825229894606"},"_hasShrinkwrap":false,"publish_time":1562946217655,"_cnpm_publish_time":1562946217655},"0.0.0-typescript-beta-6":{"name":"express-rate-limit","version":"0.0.0-typescript-beta-6","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"dist/express-rate-limit.js","types":"dist/express-rate-limit.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"@types/express":"^4.17.0","@types/mocha":"^5.2.7","@types/node":"^12.0.12","@typescript-eslint/parser":"^1.11.0","eslint":"^6.0.1","eslint-config-prettier":"^6.0.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^3.0.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2","ts-node":"^8.3.0","typescript":"^3.5.2"},"scripts":{"build":"tsc","pretest":"npm run build","test":"eslint . && mocha --require ts-node/register test/*-test.*","precommit":"pretty-quick --staged","prepublish":"npm run build"},"readmeFilename":"README.md","gitHead":"b370897d3f2782e6c48a4c1cf7651a3f42dba027","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@0.0.0-typescript-beta-6","_nodeVersion":"8.11.3","_npmVersion":"6.10.0","dist":{"shasum":"eb4ec9db2cc14d589f5347a7c2d47c2634c98676","size":9197,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-0.0.0-typescript-beta-6.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-0.0.0-typescript-beta-6.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_0.0.0-typescript-beta-6_1562877429388_0.24673624891235213"},"_hasShrinkwrap":false,"publish_time":1562877429501,"_cnpm_publish_time":1562877429501},"0.0.0-typescript-beta-5":{"name":"express-rate-limit","version":"0.0.0-typescript-beta-5","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"dist/express-rate-limit.js","types":"dist/express-rate-limit.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"@types/express":"^4.17.0","@types/mocha":"^5.2.7","@types/node":"^12.0.12","@typescript-eslint/parser":"^1.11.0","eslint":"^6.0.1","eslint-config-prettier":"^6.0.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^3.0.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2","ts-node":"^8.3.0","typescript":"^3.5.2"},"scripts":{"build":"tsc","pretest":"npm run build","test":"eslint . && mocha --require ts-node/register test/*-test.*","precommit":"pretty-quick --staged","prepublish":"npm run build"},"readmeFilename":"README.md","gitHead":"609a03c8183ee228c977653f111be61968cef72d","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@0.0.0-typescript-beta-5","_nodeVersion":"8.11.3","_npmVersion":"6.10.0","dist":{"shasum":"1325d6a4379fe5fccb4b404fff767a258a77404b","size":9189,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-0.0.0-typescript-beta-5.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-0.0.0-typescript-beta-5.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_0.0.0-typescript-beta-5_1562869457834_0.023333798969506603"},"_hasShrinkwrap":false,"publish_time":1562869457998,"_cnpm_publish_time":1562869457998},"0.0.0-typescript-beta-4":{"name":"express-rate-limit","version":"0.0.0-typescript-beta-4","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"dist/express-rate-limit.js","types":"dist/express-rate-limit.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"@types/express":"^4.17.0","@types/node":"^12.0.12","@typescript-eslint/parser":"^1.11.0","eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2","typescript":"^3.5.2"},"scripts":{"build":"tsc","pretest":"npm run build","test":"eslint lib/* test/* && mocha","precommit":"pretty-quick --staged","prepublish":"npm run build"},"readmeFilename":"README.md","gitHead":"8a62e10561a91e4bc7a01cbec0298be0157f30eb","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@0.0.0-typescript-beta-4","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"84ad235faf171bdd36443c504601123b391a6d22","size":9081,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-0.0.0-typescript-beta-4.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-0.0.0-typescript-beta-4.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_0.0.0-typescript-beta-4_1562685550033_0.036784958699135784"},"_hasShrinkwrap":false,"publish_time":1562685550169,"_cnpm_publish_time":1562685550169},"0.0.0-typescript-beta-3":{"name":"express-rate-limit","version":"0.0.0-typescript-beta-3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"dist/express-rate-limit.js","types":"dist/express-rate-limit.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"@types/express":"^4.17.0","@types/node":"^12.0.12","@typescript-eslint/parser":"^1.11.0","eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2","typescript":"^3.5.2"},"scripts":{"build":"tsc","pretest":"npm run build","test":"eslint lib/* test/* && mocha","precommit":"pretty-quick --staged","prepublish":"npm run build"},"readmeFilename":"README.md","gitHead":"c933a2d79ba07b62440d9e3ffd1294322d649530","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@0.0.0-typescript-beta-3","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"fe98fe3662763ff4fa585e1108015af17b24933a","size":7806,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-0.0.0-typescript-beta-3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-0.0.0-typescript-beta-3.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_0.0.0-typescript-beta-3_1562685038925_0.3006567295017759"},"_hasShrinkwrap":false,"publish_time":1562685039060,"_cnpm_publish_time":1562685039060},"0.0.0-typescript-beta-2":{"name":"express-rate-limit","version":"0.0.0-typescript-beta-2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"dist/express-rate-limit.js","types":"dist/express-rate-limit.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"@types/express":"^4.17.0","@types/node":"^12.0.12","@typescript-eslint/parser":"^1.11.0","eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2","typescript":"^3.5.2"},"scripts":{"build":"tsc","pretest":"npm run build","test":"eslint lib/* test/* && mocha","precommit":"pretty-quick --staged"},"readmeFilename":"README.md","gitHead":"cee977c1a128ed7a4d7130ba9c1253b6db51475a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@0.0.0-typescript-beta-2","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"842513afb14687257ddab3bce8357db981b0a265","size":4056,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-0.0.0-typescript-beta-2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-0.0.0-typescript-beta-2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_0.0.0-typescript-beta-2_1562684223192_0.10701872754598041"},"_hasShrinkwrap":false,"publish_time":1562684223296,"_cnpm_publish_time":1562684223296},"5.0.0":{"name":"express-rate-limit","version":"5.0.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"cdb6db46a7c5620bd449abe1537aa04fee7cc879","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@5.0.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"9a6f4cacc388c1a1da7ba2f65db69f7395e9b04e","size":5498,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-5.0.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_5.0.0_1559952369210_0.5757450816669021"},"_hasShrinkwrap":false,"publish_time":1559952369325,"_cnpm_publish_time":1559952369325},"4.0.4":{"name":"express-rate-limit","version":"4.0.4","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"a06e2336efe0b2a0f239307a1fdd0a957bb8d0a9","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@4.0.4","_nodeVersion":"12.3.1","_npmVersion":"6.9.0","dist":{"shasum":"a495338ae9e58c856b66d1346ec0d86f43ba2e43","size":5791,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-4.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-4.0.4.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_4.0.4_1559414027950_0.4337192144707174"},"_hasShrinkwrap":false,"publish_time":1559414028089,"_cnpm_publish_time":1559414028089},"4.0.3":{"name":"express-rate-limit","version":"4.0.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"b2cb5de5a110bc1ebd754a0f23ed0bfc5373cd19","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@4.0.3","_nodeVersion":"12.3.1","_npmVersion":"6.9.0","dist":{"shasum":"70ec815f6ba2d6a62400c8a7bd341c420b4330cc","size":5791,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-4.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-4.0.3.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_4.0.3_1559150627671_0.550001689144894"},"_hasShrinkwrap":false,"publish_time":1559150627827,"_cnpm_publish_time":1559150627827},"4.0.2":{"name":"express-rate-limit","version":"4.0.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"67cec62f64204b7c47cf8564621b39f1353d7b02","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@4.0.2","_nodeVersion":"12.3.1","_npmVersion":"6.9.0","dist":{"shasum":"89daacfbc3817ea77a4b3410e4126d8e61ac7396","size":5800,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-4.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-4.0.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_4.0.2_1558959874245_0.9917357751928111"},"_hasShrinkwrap":false,"publish_time":1558959874567,"_cnpm_publish_time":1558959874567},"4.0.1":{"name":"express-rate-limit","version":"4.0.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"5e123ad26ee6aa2447b11eaef370031e95980b3a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@4.0.1","_nodeVersion":"12.3.0","_npmVersion":"6.9.0","dist":{"shasum":"de61c81a8b113db824925310b4793d42b099bde1","size":5838,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-4.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-4.0.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_4.0.1_1558488831985_0.9600359319207308"},"_hasShrinkwrap":false,"publish_time":1558488832265,"_cnpm_publish_time":1558488832265},"3.5.3":{"name":"express-rate-limit","version":"3.5.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"74ecd741c26a209a5177296f33956d952f55d8a6","readmeFilename":"README.md","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.5.3","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"dd3c321b8b99e2e74388aa86c8d14d5c02a24426","size":5768,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.5.3.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.5.3_1558488600398_0.39618854807003134"},"_hasShrinkwrap":false,"publish_time":1558488600524,"_cnpm_publish_time":1558488600524},"4.0.0":{"name":"express-rate-limit","version":"4.0.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"876b020dd3fd9c7f4ccef99c337de7c59479ac2b","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@4.0.0","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"shasum":"e1c36ae1f8f50eab1479df176203830402d7804d","size":5842,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-4.0.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_4.0.0_1558446454706_0.5869253247937694"},"_hasShrinkwrap":false,"publish_time":1558446454857,"_cnpm_publish_time":1558446454857},"3.5.2":{"name":"express-rate-limit","version":"3.5.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"ea1ebaeb3755df09868180f959aedc8ed776e28b","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.5.2","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"shasum":"c019d506fbb77f59b03c140eec499483d4f720b6","size":5768,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.5.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.5.2_1558444661684_0.1487176967616144"},"_hasShrinkwrap":false,"publish_time":1558444661793,"_cnpm_publish_time":1558444661793},"3.5.1":{"name":"express-rate-limit","version":"3.5.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","types":"index.d.ts","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^4.2.0","eslint-plugin-prettier":"^3.0.1","express":"^4.16.3","husky":"^2.2.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^4.0.2"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"9b4c280616fa60eef6cbeafc31f01dfaf7dab0ba","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.5.1","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"shasum":"159e3bb2b92b8d55949a416cb1fa8ad431b8044d","size":5369,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.5.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.5.1_1557505626937_0.9031020688695286"},"_hasShrinkwrap":false,"publish_time":1557505627080,"_cnpm_publish_time":1557505627080},"3.5.0":{"name":"express-rate-limit","version":"3.5.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^2.1.0","mocha":"^6.1.4","prettier":"^1.17.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"3184b765eb35dd2f1970ad20943a30dc17754627","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.5.0","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"shasum":"6aa3f62f5adc4dbea9162e8101208d7aa5745789","size":5355,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.5.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.5.0_1556550368121_0.9220219460753385"},"_hasShrinkwrap":false,"publish_time":1556550368280,"_cnpm_publish_time":1556550368280},"3.4.1":{"name":"express-rate-limit","version":"3.4.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.15.3","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"aa39dde884bdb2f6a81db22702836fdb2c74ad3a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.4.1","_nodeVersion":"11.14.0","_npmVersion":"6.7.0","dist":{"shasum":"be15f84e257893bb9e6de6d098dd2f84b7e0d0cc","size":5354,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.4.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.4.1_1555440325706_0.4397409141731259"},"_hasShrinkwrap":false,"publish_time":1555440325853,"_cnpm_publish_time":1555440325853},"3.4.0":{"name":"express-rate-limit","version":"3.4.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"abd3548bdc85b2f92a5d3c79fde13215b310c593","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.4.0","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","dist":{"shasum":"c053ee294feac6d3529863de549438749fd83ef1","size":5265,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.4.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.4.0_1550604232999_0.4670220245848269"},"_hasShrinkwrap":false,"publish_time":1550604233146,"_cnpm_publish_time":1550604233146},"3.3.2":{"name":"express-rate-limit","version":"3.3.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"2f0d649d8dd3aae17b3efcb3aaa32cd91d301519","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.3.2","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"c5b2fc770d533878ce01a5dbbfadca340f3b8915","size":5267,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.3.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.3.2_1542046577955_0.37493080808801493"},"_hasShrinkwrap":false,"publish_time":1542046578236,"_cnpm_publish_time":1542046578236},"3.3.1":{"name":"express-rate-limit","version":"3.3.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"f763e8080812cf54b0869a072879e2840b18dbdb","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.3.1","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"e334e53b82bd3516b3cfae800dcdb8ddb7d64ae1","size":5262,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.3.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.3.1_1541689097456_0.1192907455963843"},"_hasShrinkwrap":false,"publish_time":1541689097593,"_cnpm_publish_time":1541689097593},"3.3.0":{"name":"express-rate-limit","version":"3.3.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"794eb73a6e10910c8c0cbae8b91e7625f35c9674","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.3.0","_npmVersion":"6.4.1","_nodeVersion":"11.0.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"e7f3ee6564d4f8f5a2eb918fb71a79bee9afaf2a","size":5255,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.3.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.3.0_1540903073355_0.8479028750897057"},"_hasShrinkwrap":false,"publish_time":1540903073523,"_cnpm_publish_time":1540903073523},"3.2.1":{"name":"express-rate-limit","version":"3.2.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"2ab4a6cb394f10af3510a838146ed26d7e913b9a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.2.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"939e64d7a2173c72c1c3229896e6911791de5972","size":5056,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.2.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.2.1_1539050019895_0.49721581767446743"},"_hasShrinkwrap":false,"publish_time":1539050020027,"_cnpm_publish_time":1539050020027},"3.2.0":{"name":"express-rate-limit","version":"3.2.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"a1fbf54e82c0fc55aa65b123b6ebac46e04585db","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.2.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"92368aab15a6b17c68399d4d4b4289850f13c4fe","size":5052,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.2.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.2.0_1537241586021_0.2171069424564167"},"_hasShrinkwrap":false,"publish_time":1537241586176,"_cnpm_publish_time":1537241586176},"3.1.1":{"name":"express-rate-limit","version":"3.1.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"9fd746cceb21b00e593abe2f0941510684ad69ff","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"a1e431df7f12f8cc39d691b72bcac09a3771ff7c","size":4852,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.1.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.1.1_1536266031277_0.22080281191971252"},"_hasShrinkwrap":false,"publish_time":1536266031508,"_cnpm_publish_time":1536266031508},"2.14.2":{"name":"express-rate-limit","version":"2.14.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"e1cce0b8d4eaafd0dde566b95b3b60a6f0370c84","readmeFilename":"README.md","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.14.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"d1effcdddc7cd36ba91ef71da3cc737d037a6ec2","size":5088,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.14.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.14.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_2.14.2_1535039581163_0.19848970979912872"},"_hasShrinkwrap":false,"publish_time":1535039581261,"_cnpm_publish_time":1535039581261},"3.1.0":{"name":"express-rate-limit","version":"3.1.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"548acbee07ac9fc28cf39c85122e9e37f850e060","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"d00ace41fd0ae1173ed3fc76812bf59035aeda2e","size":4845,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.1.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.1.0_1535038858361_0.0013616151364079787"},"_hasShrinkwrap":false,"publish_time":1535038858418,"_cnpm_publish_time":1535038858418},"2.13.1":{"name":"express-rate-limit","version":"2.13.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"419b651230a93b761c7a40f067e6ad54d43e6f64","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.13.1","_shasum":"6c897ff201caf4bfeb50389a324fdf468e122e8b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.14.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"6c897ff201caf4bfeb50389a324fdf468e122e8b","size":4987,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.13.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.13.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_2.13.1_1534959928162_0.10679855541403271"},"_hasShrinkwrap":false,"publish_time":1534959928392,"_cnpm_publish_time":1534959928392},"3.0.3":{"name":"express-rate-limit","version":"3.0.3","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"b2d02e35bcc679b0e5e156d60769a9ec46e5d7b8","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"2d695c0e4dea4d85f32b1fcb92a43c37bba8c1a8","size":4778,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.0.3.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.0.3_1534959832347_0.6883365705161213"},"_hasShrinkwrap":false,"publish_time":1534959832447,"_cnpm_publish_time":1534959832447},"3.0.2":{"name":"express-rate-limit","version":"3.0.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"3b5fe600b3f88add876add420e6898b83dda0f3f","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.0.2","_shasum":"f8705b21a08f8cdc084ec4ca25f8e77b424e4060","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.14.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"f8705b21a08f8cdc084ec4ca25f8e77b424e4060","size":4861,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.0.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.0.2_1534858625560_0.14036382492255184"},"_hasShrinkwrap":false,"publish_time":1534858625622,"_cnpm_publish_time":1534858625622},"3.0.1":{"name":"express-rate-limit","version":"3.0.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"e9b94635573e8d61a4f0ced08d7568c4fbd99583","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"248a00c1c97589307cc21a7803be7f9f895766e8","size":4799,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.0.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.0.1_1534814297343_0.9218806933591384"},"_hasShrinkwrap":false,"publish_time":1534814297410,"_cnpm_publish_time":1534814297410},"3.0.0":{"name":"express-rate-limit","version":"3.0.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"f49fbe289058b546f5c68535146dd9f772bc7499","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@3.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"86e02a5ab8fc33f73d8ee84d10393c98625a735b","size":4888,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-3.0.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_3.0.0_1534810097527_0.16486344267543873"},"_hasShrinkwrap":false,"publish_time":1534810097751,"_cnpm_publish_time":1534810097751},"2.13.0":{"name":"express-rate-limit","version":"2.13.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"2842e5e3e26893e517b1770e8ae3c3ec9727e259","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.13.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"83a00a7ca8ebfec58a036ebe4ddfd4bef9e88dbf","size":5044,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.13.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.13.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_2.13.0_1534809624875_0.59360555009325"},"_hasShrinkwrap":false,"publish_time":1534809624962,"_cnpm_publish_time":1534809624962},"2.12.2":{"name":"express-rate-limit","version":"2.12.2","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"596ada393abfe4f7cb27791ebda7d55af94d23c1","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.12.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"bb4a04e8dc246340610824dd987c648cdef04ce1","size":4809,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.12.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.12.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_2.12.2_1533665632490_0.8229561482297196"},"_hasShrinkwrap":false,"publish_time":1533665632588,"_cnpm_publish_time":1533665632588},"2.12.1":{"name":"express-rate-limit","version":"2.12.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"eslint":"^5.2.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","express":"^4.16.3","husky":"^0.14.3","mocha":"^5.2.0","prettier":"1.14.0","pretty-quick":"^1.6.0","supertest":"^3.1.0"},"scripts":{"test":"eslint . && mocha","precommit":"pretty-quick --staged"},"gitHead":"f7a8de3299f60de33497d3eadb0329877431769b","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.12.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"ee5943a30c8285db3add6fc943f206cdc9d6ac01","size":4783,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.12.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.12.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit_2.12.1_1533304871666_0.23338250077409572"},"_hasShrinkwrap":false,"publish_time":1533304871721,"_cnpm_publish_time":1533304871721},"2.11.0":{"name":"express-rate-limit","version":"2.11.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.16.2","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^3.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"f893d58b59d9bece36fcd3280fdaf30cf5ab289f","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.11.0","_npmVersion":"5.5.1","_nodeVersion":"9.2.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"092122218c86eddb56fb350f431e522fb8024ea9","size":4558,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.11.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit-2.11.0.tgz_1512934858579_0.4344173970166594"},"directories":{},"publish_time":1512934858646,"_hasShrinkwrap":false,"_cnpm_publish_time":1512934858646},"2.10.0":{"name":"express-rate-limit","version":"2.10.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.16.2","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^3.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"6cd60034273fd58533d061f81652383bc897eeeb","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.10.0","_npmVersion":"5.5.1","_nodeVersion":"9.2.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"b6eb37395f9385940642932f9e67bdd2a48b7472","size":4560,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.10.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit-2.10.0.tgz_1512921494243_0.010755656054243445"},"directories":{},"publish_time":1512921495215,"_hasShrinkwrap":false,"_cnpm_publish_time":1512921495215},"2.9.0":{"name":"express-rate-limit","version":"2.9.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^3.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"7cb873a9e82848326bac2feafc5c2e8811780c5f","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.9.0","_shasum":"62c29fc939d72f0a03a87428c647fc4ee0d15978","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"62c29fc939d72f0a03a87428c647fc4ee0d15978","size":4386,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.9.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit-2.9.0.tgz_1501099569659_0.24823052226565778"},"directories":{},"publish_time":1501099570714,"_cnpm_publish_time":1501099570714,"_hasShrinkwrap":false},"2.8.1":{"name":"express-rate-limit","version":"2.8.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^3.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"dd9d7241655a99af7ab96defa682879c22ece35a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.8.1","_shasum":"8b02904f359686393c816c32fbe6887c798f78af","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"8b02904f359686393c816c32fbe6887c798f78af","size":4318,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.8.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rate-limit-2.8.1.tgz_1501011480271_0.6986723390873522"},"directories":{},"publish_time":1501011481317,"_hasShrinkwrap":false,"_cnpm_publish_time":1501011481317},"2.8.0":{"name":"express-rate-limit","version":"2.8.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^3.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"d798a80e8970c5fb28f1f3ac63bf878564cfc692","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.8.0","_shasum":"678ea64fe339b5d7c64c4df81538bb12a5ef1cc4","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"678ea64fe339b5d7c64c4df81538bb12a5ef1cc4","size":4285,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.8.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.8.0.tgz_1494871479015_0.41359540610574186"},"directories":{},"publish_time":1494871480238,"_cnpm_publish_time":1494871480238,"_hasShrinkwrap":false},"2.7.0":{"name":"express-rate-limit","version":"2.7.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^3.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"abf118c1e60097bc138bc61e29630d2da12429bd","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.7.0","_shasum":"259c6b1c15c48c08c972e5e3c74dd772b7a179d5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"259c6b1c15c48c08c972e5e3c74dd772b7a179d5","size":4200,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.7.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.7.0.tgz_1493736523150_0.9613334382884204"},"directories":{},"publish_time":1493736525199,"_hasShrinkwrap":false,"_cnpm_publish_time":1493736525199},"2.6.0":{"name":"express-rate-limit","version":"2.6.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^3.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^2.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"9e2f76407c9ce5bcd401a52634fecdfaa49ba3d4","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.6.0","_shasum":"ecd359e15aa7f596dc80a604555765c02a3b2436","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"ecd359e15aa7f596dc80a604555765c02a3b2436","size":4138,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.6.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.6.0.tgz_1479481705264_0.7925162492319942"},"directories":{},"publish_time":1479481707264,"_cnpm_publish_time":1479481707264,"_hasShrinkwrap":false},"2.5.0":{"name":"express-rate-limit","version":"2.5.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.1.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^2.0.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"4a47beddb0874babcbcc5b25a113224c48474272","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.5.0","_shasum":"17f0cf8e4b69385e71d3592b80860aeb151f4cde","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"17f0cf8e4b69385e71d3592b80860aeb151f4cde","size":4050,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.5.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.5.0.tgz_1473895010766_0.6559324448462576"},"directories":{},"publish_time":1473895011886,"_cnpm_publish_time":1473895011886,"_hasShrinkwrap":false},"2.4.0":{"name":"express-rate-limit","version":"2.4.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.1.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"795be3c9e56cddb1f1531746265d83e986a08ddf","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.4.0","_shasum":"456eea8c85e38972e49eae7d07d6ea59e00020a5","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"456eea8c85e38972e49eae7d07d6ea59e00020a5","size":4043,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.4.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.4.0.tgz_1468006976777_0.9473255064804107"},"directories":{},"publish_time":1468006979530,"_cnpm_publish_time":1468006979530,"_hasShrinkwrap":false},"2.3.1":{"name":"express-rate-limit","version":"2.3.1","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.1.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"0ffc4a4cd5d437305fb43d17de220c909e43fb9e","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.3.1","_shasum":"e6b0fa88d81ec0002c0a2ea5e5658f902c0a857f","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"e6b0fa88d81ec0002c0a2ea5e5658f902c0a857f","size":1789,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.3.1.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.3.1.tgz_1463597896128_0.4810517805162817"},"directories":{},"publish_time":1463597899005,"_cnpm_publish_time":1463597899005,"_hasShrinkwrap":false},"2.3.0":{"name":"express-rate-limit","version":"2.3.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.1.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.5.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"5412d1b6a53f272bb07e15c3f6d592d7caf66888","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.3.0","_shasum":"673ccaebc2d5654aa47a055be72678e738210d6f","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.4","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"673ccaebc2d5654aa47a055be72678e738210d6f","size":3763,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.3.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.3.0.tgz_1463597655925_0.9663033746182919"},"directories":{},"publish_time":1463597658892,"_cnpm_publish_time":1463597658892,"_hasShrinkwrap":false},"2.2.0":{"name":"express-rate-limit","version":"2.2.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^1.0.1","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.1.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.4.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"78d568ddac0639007a61f6af87ac1db7e437f98e","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.2.0","_shasum":"fc69dcf595e8ec01a361f29e949d637ede63791d","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"fc69dcf595e8ec01a361f29e949d637ede63791d","size":3165,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.2.0.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.2.0.tgz_1461592977922_0.2762043869588524"},"directories":{},"publish_time":1461592980014,"_cnpm_publish_time":1461592980014,"_hasShrinkwrap":false},"2.1.3":{"name":"express-rate-limit","version":"2.1.3","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^0.4.5","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.4.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"08950d7dd21004f15ca55233c664bf43a997992c","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.1.3","_shasum":"dffd783388e3d0bab1644541a390ce31841fc974","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"dffd783388e3d0bab1644541a390ce31841fc974","size":3037,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.1.3.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.1.3.tgz_1461592919783_0.9198288375046104"},"directories":{},"publish_time":1461592921652,"_cnpm_publish_time":1461592921652,"_hasShrinkwrap":false},"2.1.2":{"name":"express-rate-limit","version":"2.1.2","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce","brute-force","attack"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^0.4.5","grunt-cli":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-mocha-cli":"^2.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.4.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"c06b3bfa573de42df835d0ae55db9012f3b57675","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.1.2","_shasum":"c503a3250ab012d0e4a004045acc61c8877f74f2","_from":".","_npmVersion":"2.14.20","_nodeVersion":"4.4.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"dist":{"shasum":"c503a3250ab012d0e4a004045acc61c8877f74f2","size":2931,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.1.2.tgz"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-rate-limit-2.1.2.tgz_1459341288093_0.788089074427262"},"directories":{},"publish_time":1459341289122,"_cnpm_publish_time":1459341289122,"_hasShrinkwrap":false},"2.1.0":{"name":"express-rate-limit","version":"2.1.0","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.3"},"devDependencies":{"express":"^4.13.3","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.12.0","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^2.0.0","jshint-stylish":"^2.1.0","load-grunt-tasks":"^3.4.0","supertest":"^1.1.0","time-grunt":"^1.3.0"},"scripts":{"test":"grunt"},"gitHead":"42feb182036e7164c991a767e13a0721dfe66462","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.1.0","_shasum":"16b99162bb6a5edb35dfd985c4d9519530ffa086","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"16b99162bb6a5edb35dfd985c4d9519530ffa086","size":2896,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.1.0.tgz"},"directories":{},"publish_time":1453305279521,"_cnpm_publish_time":1453305279521,"_hasShrinkwrap":false},"2.0.2":{"name":"express-rate-limit","version":"2.0.2","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.2"},"devDependencies":{"express":"^4.13.3","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.3","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.14.0","jshint-stylish":"^2.0.1","load-grunt-tasks":"^3.3.0","supertest":"^1.1.0","time-grunt":"^1.2.1"},"scripts":{"test":"grunt"},"gitHead":"7d220e0ea140a0462ca993ddb4d72a4113f6aad7","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.0.2","_shasum":"046b4aa0b6b911a11cdb782220ab98e221d1ac2a","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"046b4aa0b6b911a11cdb782220ab98e221d1ac2a","size":2701,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.0.2.tgz"},"directories":{},"publish_time":1443565043231,"_cnpm_publish_time":1443565043231,"_hasShrinkwrap":false},"2.0.1":{"name":"express-rate-limit","version":"2.0.1","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.2"},"devDependencies":{"express":"^4.13.1","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.14.0","jshint-stylish":"^2.0.1","load-grunt-tasks":"^3.2.0","sinon":"^1.16.1","supertest":"^1.0.1","time-grunt":"^1.2.1"},"scripts":{"test":"grunt"},"gitHead":"75f3055b9500327b74d740901a2fea669b6aa66a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.0.1","_shasum":"4bdf0c3166fc1f5e103a4bf7c9f1f5cbc674e5c7","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"4bdf0c3166fc1f5e103a4bf7c9f1f5cbc674e5c7","size":2707,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.0.1.tgz"},"directories":{},"publish_time":1443564799612,"_cnpm_publish_time":1443564799612,"_hasShrinkwrap":false},"2.0.0":{"name":"express-rate-limit","version":"2.0.0","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.2"},"devDependencies":{"express":"^4.13.1","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.14.0","jshint-stylish":"^2.0.1","load-grunt-tasks":"^3.2.0","sinon":"^1.16.1","supertest":"^1.0.1","time-grunt":"^1.2.1"},"scripts":{"test":"grunt"},"gitHead":"961bf1ea0c1c57bbf810bdb9d85ca62ef5720c7b","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@2.0.0","_shasum":"13c519f20fa02270246a1b204c2a543418d432c9","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"13c519f20fa02270246a1b204c2a543418d432c9","size":2700,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-2.0.0.tgz"},"directories":{},"publish_time":1443562057030,"_cnpm_publish_time":1443562057030,"_hasShrinkwrap":false},"1.2.0":{"name":"express-rate-limit","version":"1.2.0","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.2"},"devDependencies":{"express":"^4.13.1","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.14.0","jshint-stylish":"^2.0.1","load-grunt-tasks":"^3.2.0","sinon":"^1.16.1","supertest":"^1.0.1","time-grunt":"^1.2.1"},"scripts":{"test":"grunt"},"gitHead":"f6be83244fa3d1d6cb04d779a50a79048e57969e","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@1.2.0","_shasum":"d83fc00ecee970393d6460d704863c700fcc8d73","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"d83fc00ecee970393d6460d704863c700fcc8d73","size":2462,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-1.2.0.tgz"},"directories":{},"publish_time":1441210872698,"_cnpm_publish_time":1441210872698,"_hasShrinkwrap":false},"1.1.0":{"name":"express-rate-limit","version":"1.1.0","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.2"},"devDependencies":{"express":"^4.13.1","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.14.0","jshint-stylish":"^2.0.1","load-grunt-tasks":"^3.2.0","sinon":"^1.16.1","supertest":"^1.0.1","time-grunt":"^1.2.1"},"scripts":{"test":"grunt"},"gitHead":"c539dd15d98c2a31687ff80a8f861c0db29d6ece","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@1.1.0","_shasum":"11333f52aa15e816acc35e12297383897e703c24","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"11333f52aa15e816acc35e12297383897e703c24","size":2423,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-1.1.0.tgz"},"directories":{},"publish_time":1441209914697,"_cnpm_publish_time":1441209914697,"_hasShrinkwrap":false},"1.0.3":{"name":"express-rate-limit","version":"1.0.3","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"git+https://github.com/nfriedly/express-rate-limit.git"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.0"},"devDependencies":{"express":"^4.10.4","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.10.0","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.11.0","jshint-stylish":"^1.0.0","load-grunt-tasks":"^1.0.0","supertest":"^0.15.0","time-grunt":"^1.0.0"},"scripts":{"test":"grunt"},"gitHead":"66182cf81f7c47a0120d27d961051dbf6ea72033","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@1.0.3","_shasum":"1649c4b582bf6fd8c068310eca64960b308b8a6b","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"1649c4b582bf6fd8c068310eca64960b308b8a6b","size":2066,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-1.0.3.tgz"},"directories":{},"publish_time":1438030083264,"_cnpm_publish_time":1438030083264,"_hasShrinkwrap":false},"1.0.2":{"name":"express-rate-limit","version":"1.0.2","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"https://github.com/nfriedly/express-rate-limit"},"license":"MIT","main":"lib/express-rate-limit.js","files":["lib/"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip","auth","authorization","security"],"dependencies":{"defaults":"^1.0.0"},"devDependencies":{"express":"^4.10.4","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.10.0","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.11.0","jshint-stylish":"^1.0.0","load-grunt-tasks":"^1.0.0","supertest":"^0.15.0","time-grunt":"^1.0.0"},"scripts":{"test":"grunt"},"gitHead":"d3662088d848138bf3cfb56193a45914063e83e0","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@1.0.2","_shasum":"899005e6f9ccae77d756011a0fb3dbbd1fbb9551","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"899005e6f9ccae77d756011a0fb3dbbd1fbb9551","size":2000,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-1.0.2.tgz"},"directories":{},"publish_time":1418310332874,"_cnpm_publish_time":1418310332874,"_hasShrinkwrap":false},"1.0.1":{"name":"express-rate-limit","version":"1.0.1","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"https://github.com/nfriedly/express-rate-limit"},"license":"MIT","files":["index.js"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip"],"dependencies":{"defaults":"^1.0.0"},"devDependencies":{"express":"^4.10.4","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.10.0","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.11.0","jshint-stylish":"^1.0.0","load-grunt-tasks":"^1.0.0","supertest":"^0.15.0","time-grunt":"^1.0.0"},"scripts":{"test":"grunt"},"gitHead":"d76f8ae86b0a589557baec689f68d8213b6fbab8","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@1.0.1","_shasum":"445d59a9bbdd910ffcff722b8722e293c8d8283b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"445d59a9bbdd910ffcff722b8722e293c8d8283b","size":1428,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-1.0.1.tgz"},"directories":{},"publish_time":1418263277663,"_cnpm_publish_time":1418263277663,"_hasShrinkwrap":false},"1.0.0":{"name":"express-rate-limit","version":"1.0.0","description":"Basic rate-limiting middleware for Express. Use to limit access to public endpoints such as account creation and password reset.","homepage":"https://github.com/nfriedly/express-rate-limit","author":{"name":"Nathan Friedly","url":"http://nfriedly.com/"},"repository":{"type":"git","url":"https://github.com/nfriedly/express-rate-limit"},"license":"MIT","files":["index.js"],"keywords":["express-rate-limit","express","rate","limit","middleware","ip"],"dependencies":{"defaults":"^1.0.0"},"devDependencies":{"express":"^4.10.4","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.10.0","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-mocha-cli":"^1.11.0","jshint-stylish":"^1.0.0","load-grunt-tasks":"^1.0.0","supertest":"^0.15.0","time-grunt":"^1.0.0"},"scripts":{"test":"grunt"},"gitHead":"a563bdce8ed17d92b61b4d8f4267081aa4b8f54a","bugs":{"url":"https://github.com/nfriedly/express-rate-limit/issues"},"_id":"express-rate-limit@1.0.0","_shasum":"f1effdc270696b339c944bbe1213c7a1e80eaed5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nfriedly","email":"nathan@nfriedly.com"},"maintainers":[{"name":"gamemaker1","email":""},{"name":"nfriedly","email":"nathan@nfriedly.com"}],"dist":{"shasum":"f1effdc270696b339c944bbe1213c7a1e80eaed5","size":1432,"noattachment":false,"key":"/express-rate-limit/-/express-rate-limit-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/express-rate-limit/download/express-rate-limit-1.0.0.tgz"},"directories":{},"publish_time":1418263085543,"_cnpm_publish_time":1418263085543,"_hasShrinkwrap":false}},"readme":"<h1 align=\"center\"> <code>express-rate-limit</code> </h1>\n\n<div align=\"center\">\n\n[![tests](https://img.shields.io/github/actions/workflow/status/express-rate-limit/express-rate-limit/ci.yaml)](https://github.com/express-rate-limit/express-rate-limit/actions/workflows/ci.yaml)\n[![npm version](https://img.shields.io/npm/v/express-rate-limit.svg)](https://npmjs.org/package/express-rate-limit 'View this project on NPM')\n[![npm downloads](https://img.shields.io/npm/dm/express-rate-limit)](https://www.npmjs.com/package/express-rate-limit)\n[![license](https://img.shields.io/npm/l/express-rate-limit)](license.md)\n\n</div>\n\nBasic rate-limiting middleware for [Express](http://expressjs.com/). Use to\nlimit repeated requests to public APIs and/or endpoints such as password reset.\nPlays nice with\n[express-slow-down](https://www.npmjs.com/package/express-slow-down) and\n[ratelimit-header-parser](https://www.npmjs.com/package/ratelimit-header-parser).\n\n## Usage\n\nThe [full documentation](https://express-rate-limit.mintlify.app/overview) is\navailable on-line.\n\n```ts\nimport { rateLimit } from 'express-rate-limit'\n\nconst limiter = rateLimit({\n\twindowMs: 15 * 60 * 1000, // 15 minutes\n\tlimit: 100, // Limit each IP to 100 requests per `window` (here, per 15 minutes).\n\tstandardHeaders: 'draft-8', // draft-6: `RateLimit-*` headers; draft-7 & draft-8: combined `RateLimit` header\n\tlegacyHeaders: false, // Disable the `X-RateLimit-*` headers.\n\tipv6Subnet: 56, // Set to 60 or 64 to be less aggressive, or 52 or 48 to be more aggressive\n\t// store: ... , // Redis, Memcached, etc. See below.\n})\n\n// Apply the rate limiting middleware to all requests.\napp.use(limiter)\n```\n\n### Data Stores\n\nThe rate limiter comes with a built-in memory store, and supports a variety of\n[external data stores](https://express-rate-limit.mintlify.app/reference/stores).\n\n### Configuration\n\nAll function options may be async. Click the name for additional info and\ndefault values.\n\n| Option                     | Type                                      | Remarks                                                                                         |\n| -------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| [`windowMs`]               | `number`                                  | How long to remember requests for, in milliseconds.                                             |\n| [`limit`]                  | `number` \\| `function`                    | How many requests to allow.                                                                     |\n| [`message`]                | `string` \\| `json` \\| `function`          | Response to return after limit is reached.                                                      |\n| [`statusCode`]             | `number`                                  | HTTP status code after limit is reached (default is 429).                                       |\n| [`handler`]                | `function`                                | Function to run after limit is reached (overrides `message` and `statusCode` settings, if set). |\n| [`legacyHeaders`]          | `boolean`                                 | Enable the `X-Rate-Limit` header.                                                               |\n| [`standardHeaders`]        | `'draft-6'` \\| `'draft-7'` \\| `'draft-8'` | Enable the `Ratelimit` header.                                                                  |\n| [`identifier`]             | `string` \\| `function`                    | Name associated with the quota policy enforced by this rate limiter.                            |\n| [`store`]                  | `Store`                                   | Use a custom store to share hit counts across multiple nodes.                                   |\n| [`passOnStoreError`]       | `boolean`                                 | Allow (`true`) or block (`false`, default) traffic if the store becomes unavailable.            |\n| [`keyGenerator`]           | `function`                                | Identify users (defaults to IP address).                                                        |\n| [`ipv6Subnet`]             | `number` (32-64) \\| `function` \\| `false` | How many bits of IPv6 addresses to use in default `keyGenerator`                                |\n| [`requestPropertyName`]    | `string`                                  | Add rate limit info to the `req` object.                                                        |\n| [`skip`]                   | `function`                                | Return `true` to bypass the limiter for the given request.                                      |\n| [`skipSuccessfulRequests`] | `boolean`                                 | Uncount 1xx/2xx/3xx responses.                                                                  |\n| [`skipFailedRequests`]     | `boolean`                                 | Uncount 4xx/5xx responses.                                                                      |\n| [`requestWasSuccessful`]   | `function`                                | Used by `skipSuccessfulRequests` and `skipFailedRequests`.                                      |\n| [`validate`]               | `boolean` \\| `object`                     | Enable or disable built-in validation checks.                                                   |\n\n## Thank You\n\n---\n\nThanks to Mintlify for hosting the documentation at\n[express-rate-limit.mintlify.app](https://express-rate-limit.mintlify.app)\n\n<p align=\"center\">\n\t<a href=\"https://mintlify.com/?utm_campaign=devmark&utm_medium=readme&utm_source=express-rate-limit\">\n\t\t<img height=\"75\" src=\"https://devmark-public-assets.s3.us-west-2.amazonaws.com/sponsorships/mintlify.svg\" alt=\"Create your docs today\">\n\t</a>\n</p>\n\n---\n\nAnd thank you to everyone who's contributed to this project in any way! ????\n\n## Issues and Contributing\n\nIf you encounter a bug or want to see something added/changed, please go ahead\nand\n[open an issue](https://github.com/express-rate-limit/express-rate-limit/issues/new)!\nIf you need help with something, feel free to\n[start a discussion](https://github.com/express-rate-limit/express-rate-limit/discussions/new)!\n\nIf you wish to contribute to the library, thanks! First, please read\n[the contributing guide](https://express-rate-limit.mintlify.app/guides/contributing).\nThen you can pick up any issue and fix/implement it!\n\n## License\n\nMIT © [Nathan Friedly](http://nfriedly.com/),\n[Vedant K](https://github.com/gamemaker1)\n\n[`windowMs`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#windowms\n[`limit`]: https://express-rate-limit.mintlify.app/reference/configuration#limit\n[`message`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#message\n[`statusCode`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#statuscode\n[`handler`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#handler\n[`legacyHeaders`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#legacyheaders\n[`standardHeaders`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#standardheaders\n[`identifier`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#identifier\n[`store`]: https://express-rate-limit.mintlify.app/reference/configuration#store\n[`passOnStoreError`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#passonstoreerror\n[`keyGenerator`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#keygenerator\n[`ipv6Subnet`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#ipv6subnet\n[`requestPropertyName`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#requestpropertyname\n[`skip`]: https://express-rate-limit.mintlify.app/reference/configuration#skip\n[`skipSuccessfulRequests`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#skipsuccessfulrequests\n[`skipFailedRequests`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#skipfailedrequests\n[`requestWasSuccessful`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#requestwassuccessful\n[`validate`]:\n\thttps://express-rate-limit.mintlify.app/reference/configuration#validate\n","_attachments":{},"homepage":"https://github.com/express-rate-limit/express-rate-limit","bugs":{"url":"https://github.com/express-rate-limit/express-rate-limit/issues"},"license":"MIT"}