DEV Community

Cover image for simple-rate-limiter: polished and publish-ready
amarpreetbhatia
amarpreetbhatia

Posted on

simple-rate-limiter: polished and publish-ready

GitHub “Finish-Up-A-Thon” Challenge Submission

This is a submission for the GitHub Finish-Up-A-Thon Challenge

What I Built

I built simple-rate-limiter, a small TypeScript Express middleware package that applies request rate limiting with both sliding-window and token-bucket algorithms. It started as a functional library, and I polished it into a publish-ready npm package with documentation generation, GitHub Pages deployment, and a clean package manifest.

Demo

  npm run build
  npm run docs:build
Enter fullscreen mode Exit fullscreen mode

The middleware can be used with createRateLimiter({ windowMs: 60000, maxRequests: 100 }) and supports headers, custom keys, and optional token-bucket mode.

The Comeback Story

Before, this project had only a basic TypeScript implementation and no documentation publishing path. I finished it by:

  • renaming the project to simple-rate-limiter
  • adding jsdoc configuration and a docs:build workflow
  • creating a GitHub Actions workflow to publish docs to gh-pages
  • fixing package metadata so it is publish-ready on npm
  • verifying local docs generation and package contents with npm pack

That turnaround took the project from a good prototype into a deliverable npm library with documentation.

My Experience with GitHub Copilot

GitHub Copilot helped me move quickly by suggesting the right package metadata, scripts, and workflow structure. It also guided me through the JSDoc configuration and the GitHub Actions setup, so I could focus on finishing the product instead of worrying about the exact YAML syntax.

Top comments (0)