UNPKG

express-rate-limiter-ts

Version:

A powerful, flexible and modern rate limiter middleware for Express.js written in TypeScript.

54 lines (36 loc) 2.33 kB
[![npm](https://img.shields.io/npm/v/express-rate-limiter-ts)](https://www.npmjs.com/package/express-rate-limiter-ts) [![license](https://img.shields.io/npm/l/express-rate-limiter-ts)](https://github.com/benemiryilmazer/express-rate-limiter-ts/blob/main/LICENSE) [![downloads](https://img.shields.io/npm/dm/express-rate-limiter-ts)](https://www.npmjs.com/package/express-rate-limiter-ts) [![TypeScript](https://img.shields.io/badge/TypeScript-4.x-blue?logo=typescript)](https://www.typescriptlang.org/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/benemiryilmazer/express-rate-limiter-ts/pulls) # 🚦 express-rate-limiter-ts Modern, asynchronous and production-ready Express.js rate limiter middleware. --- ## 🚀 What is it? **express-rate-limiter-ts** is a powerful, flexible, and type-safe rate limiting solution for Node.js/Express projects. It can be easily used in both development and production environments. Fully compatible with popular databases like Redis, MongoDB, and Postgres. --- ## 🎯 Key Features - Asynchronous and production-ready store support (Redis, MongoDB, Postgres, Memory, Dummy) - Route-based and user-based dynamic limits - Whitelist, blacklist, ban, and custom response support - Advanced rate limit headers (X-RateLimit-*, RateLimit-*) - Live statistics and ban management with admin panel (works with all stores) - Full TypeScript support and type safety - Comprehensive tests and documentation --- ## 📚 Setup & Usage Guides ➡️ For all setup and usage guides, please see the full documentation at: [Documentation](https://github.com/benemiryilmazer/express-rate-limiter-ts/blob/main/docs/README.md) --- ## 🤝 Contributing 1. Fork and work on your own branch. 2. Test your changes. 3. Submit a pull request. For detailed contribution guidelines, see: - [🤝 Contributing Guide](https://github.com/benemiryilmazer/express-rate-limiter-ts/blob/main/docs/general/CONTRIBUTING.md) --- ## 📝 License This project is licensed under the MIT License. See the full license at: [LICENSE](https://github.com/benemiryilmazer/express-rate-limiter-ts/blob/main/LICENSE) --- For any suggestions, contributions, or bug reports, please open an issue on GitHub!