Redis-based rate limiter and throttler for Node.js using sliding window and token bucket algorithms. v1.2.6 is current stable, with active maintenance (last update recent). Designed for distributed/horizontally scaled environments (Kubernetes, load-balanced servers). Uses atomic Lua scripts to prevent race conditions. Supports Express, Fastify, NestJS, Koa. Alternative to express-rate-limit but Redis-backed for multi-instance consistency. Lightweight, TypeScript support, requires ioredis peer dependency.
npm install web-gatekeeper-jsNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Basic Express rate limiting middleware using sliding window algorithm with Redis.
npm install gatekeeper-js ioredis
Ensure ioredis v5.10+ is installed: npm install ioredis
Always pass numeric values for windowSize (ms) and limit (count).
Check `if (!result.allowed)` not `if (result.allowed === false)`.
Set maxWait in milliseconds (e.g., 5000 for 5 seconds).
Stay tuned for v2 announcement; currently use 'gatekeeper-js'.
Install as: npm install gatekeeper-js
Use: import { RateLimiter } from 'gatekeeper-js'npm install ioredis && import Redis from 'ioredis'
Ensure Redis is running and connection string is correct.
Use try/catch around await limiter.consume() or add .catch().