rate-limiter-flexible
Version:
Node.js rate limiter by key and protection from DDoS and Brute-Force attacks in process Memory, Redis, MongoDb, Memcached, MySQL, PostgreSQL, Cluster or PM
89 lines (88 loc) • 2.94 kB
JSON
{
"name": "rate-limiter-flexible",
"version": "7.2.0",
"description": "Node.js rate limiter by key and protection from DDoS and Brute-Force attacks in process Memory, Redis, MongoDb, Memcached, MySQL, PostgreSQL, Cluster or PM",
"main": "index.js",
"scripts": {
"dc:up": "docker-compose -f docker-compose.yml up -d",
"dc:down": "docker-compose -f docker-compose.yml down",
"valkey-cluster:up": "docker-compose -f docker-compose.valkey-cluster.yml up -d",
"valkey-cluster:down": "docker-compose -f docker-compose.valkey-cluster.yml down -v",
"test:valkey-cluster": "VALKEY_CLUSTER_PORT=7001 mocha test/RateLimiterValkeyGlide.test.js -- -g 'RateLimiterValkeyGlide with cluster client'",
"prisma:postgres": "prisma generate --schema=./test/RateLimiterPrisma/Postgres/schema.prisma && prisma db push --schema=./test/RateLimiterPrisma/Postgres/schema.prisma",
"drizzle:postgres": "cd ./test/RateLimiterDrizzle/Postgres && drizzle-kit push",
"test": "npm run prisma:postgres && npm run drizzle:postgres && nyc --reporter=html --reporter=text mocha",
"debug-test": "mocha --inspect-brk lib/**/**.test.js",
"coveralls": "cat ./coverage/lcov.info | coveralls",
"eslint": "eslint --quiet lib/**/**.js test/**/**.js",
"eslint-fix": "eslint --fix lib/**/**.js test/**/**.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/animir/node-rate-limiter-flexible.git"
},
"keywords": [
"ratelimter",
"authorization",
"security",
"rate",
"limit",
"bruteforce",
"throttle",
"redis",
"mongodb",
"dynamodb",
"mysql",
"postgres",
"prisma",
"drizzle",
"koa",
"express",
"hapi",
"valkey",
"valkey-glide",
"GLIDE",
"cluster",
"memcached"
],
"author": "animir <animirr@gmail.com>",
"license": "ISC",
"bugs": {
"url": "https://github.com/animir/node-rate-limiter-flexible/issues"
},
"homepage": "https://github.com/animir/node-rate-limiter-flexible#readme",
"types": "./lib/index.d.ts",
"devDependencies": {
"@aws-sdk/client-dynamodb": "^3.431.0",
"@prisma/client": "^5.8.0",
"@valkey/valkey-glide": "^1.3.1",
"better-sqlite3": "^11.9.0",
"chai": "^4.1.2",
"coveralls": "^3.0.1",
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.3",
"eslint": "^4.19.1",
"eslint-config-airbnb-base": "^12.1.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-security": "^1.4.0",
"etcd3": "^1.1.2",
"ioredis": "^5.3.2",
"iovalkey": "^0.3.1",
"istanbul": "^1.1.0-alpha.1",
"knex": "^3.1.0",
"memcached-mock": "^0.1.0",
"mocha": "^10.2.0",
"nyc": "^15.1.0",
"pg": "^8.16.3",
"prisma": "^5.8.0",
"redis": "^4.6.8",
"redis-mock": "^0.48.0",
"sinon": "^17.0.1",
"sqlite3": "^5.1.7"
},
"browser": {
"cluster": false,
"crypto": false
}
}