Top 6 TypeScript rate-limiting Projects
-
Project mention: Rate limiting vs. throttling and other API traffic management | dev.to | 2024-08-14
Almost all languages and frameworks also have libraries with which you can easily implement rate limiting without reinventing the wheel; some popular ones in the JavaScript ecosystem include the express-rate-limit package for Express.js and @nestjs/throttler for NestJS applications.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Project mention: Here’s how AI-powered autocompletion is implemented in Novel, an open-source text editor | dev.to | 2024-12-03
Ratelimit is applied based on the IP address using [Upstash rate limiting strategy](https://github.com/upstash/ratelimit-js)
-
nuxt-security
🛡 Automatically configure your app to follow OWASP security patterns and principles by using HTTP Headers and Middleware
The command nuxi module add allows you to skip the second step in the list. So for modules like Nuxt Security right now, you only need to run the first step and nuxi will automatically register the module so that you can get started with the module right away.
-
arcjet-js
Arcjet JS SDKs. Bot detection, rate limiting, email validation, attack protection, data redaction for Node.js, Next.js, Deno, Bun, Remix, SvelteKit, NestJS.
import { WithArcjetRules, detectBot } from "@arcjet/nest"; import { Injectable, Get } from "@nestjs/common"; // This would normally go in your controller file e.g. // src/page/page.controller.ts // Attaches the ArcjetGuard to the controller to protect it with the specified // rules extended from the global rules defined in app.module.ts. @WithArcjetRules([ detectBot({ mode: "LIVE", // will block requests. Use "DRY_RUN" to log only // configured with a list of bots to allow from // https://arcjet.com/bot-list // Block all bots except the following allow: [ "CATEGORY:SEARCH_ENGINE", // Google, Bing, etc // Uncomment to allow these other common bot categories // See the full list at https://arcjet.com/bot-list //"CATEGORY:MONITOR", // Uptime monitoring services //"CATEGORY:PREVIEW", // Link previews e.g. Slack, Discord ], }), ]) export class PageController { constructor(private readonly pageService: PageService) {} @Get() index() { return this.pageService.message(); } }
-
GitHub - github.com/rhinobase/hono-rate-limiter NPM - npmjs.com/package/hono-rate-limiter
-
express-slow-down
Slow down repeated requests; use as an alternative (or addition) to express-rate-limit
express-slow-down provides a rate limiting middleware built on top of express-rate-limit. Instead of blocking requests outright, express-slow-down slows down the processing of incoming requests that exceed defined limits.
TypeScript rate-limiting discussion
TypeScript rate-limiting related posts
Index
What are some of the best open-source rate-limiting projects in TypeScript? This list will help you:
# | Project | Stars |
---|---|---|
1 | express-rate-limit | 3,038 |
2 | ratelimit-js | 1,843 |
3 | nuxt-security | 876 |
4 | arcjet-js | 400 |
5 | hono-rate-limiter | 394 |
6 | express-slow-down | 262 |