89 lines
2.8 KiB
JSON
89 lines
2.8 KiB
JSON
{
|
|
"name": "rate-limiter-flexible",
|
|
"version": "9.0.0",
|
|
"description": "Node.js atomic and non-atomic counters, rate limiting tools, protection from DoS and brute-force attacks at scale",
|
|
"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 \"test/**/*.test.js\"",
|
|
"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": "./types.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
|
|
}
|
|
}
|