{
  "name": "awesome-rate-limiter",
  "version": "1.0.1",
  "description": "Universal TypeScript rate limiter for Node.js APIs with Express, Fastify, Koa, Hono, sliding-window limits, progressive blocking, and pluggable stores.",
  "main": "dist/index.js",
  "module": "dist/index.mjs",
  "types": "dist/index.d.ts",
  "typesVersions": {
    "*": {
      "express": ["./dist/adapters/express/index.d.ts"],
      "fastify": ["./dist/adapters/fastify/index.d.ts"],
      "koa": ["./dist/adapters/koa/index.d.ts"],
      "hono": ["./dist/adapters/hono/index.d.ts"],
      "stores": ["./dist/stores/index.d.ts"]
    }
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.mjs",
      "require": "./dist/index.js"
    },
    "./express": {
      "types": "./dist/adapters/express/index.d.ts",
      "import": "./dist/adapters/express/index.mjs",
      "require": "./dist/adapters/express/index.js"
    },
    "./fastify": {
      "types": "./dist/adapters/fastify/index.d.ts",
      "import": "./dist/adapters/fastify/index.mjs",
      "require": "./dist/adapters/fastify/index.js"
    },
    "./koa": {
      "types": "./dist/adapters/koa/index.d.ts",
      "import": "./dist/adapters/koa/index.mjs",
      "require": "./dist/adapters/koa/index.js"
    },
    "./hono": {
      "types": "./dist/adapters/hono/index.d.ts",
      "import": "./dist/adapters/hono/index.mjs",
      "require": "./dist/adapters/hono/index.js"
    },
    "./stores": {
      "types": "./dist/stores/index.d.ts",
      "import": "./dist/stores/index.mjs",
      "require": "./dist/stores/index.js"
    }
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "build": "tsup",
    "dev": "tsup --watch",
    "typecheck": "tsc --noEmit",
    "lint": "eslint src --ext .ts",
    "test": "vitest run",
    "test:watch": "vitest",
    "prepublishOnly": "npm run build && npm run typecheck",
    "prettier": "prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\""
  },
  "keywords": [
    "awesome rate limiter",
    "rate limiter",
    "rate limit",
    "rate limiting",
    "api rate limiter",
    "node rate limiter",
    "express rate limiter",
    "express-rate-limiter",
    "fastify rate limiter",
    "fastify-rate-limiter",
    "koa rate limiter",
    "koa-rate-limiter",
    "hono rate limiter",
    "hono-rate-limiter",
    "awesome-rate-limiter",
    "rate-limiter middleware",
    "rate-limiter-flexible",
    "rate limiter flexible",
    "request throttling",
    "api throttling",
    "throttle middleware",
    "express middleware",
    "fastify plugin",
    "koa middleware",
    "hono middleware",
    "node middleware",
    "express",
    "fastify",
    "koa",
    "hono",
    "nodejs",
    "node.js",
    "typescript",
    "api security",
    "api protection",
    "security middleware",
    "brute force protection",
    "ddos protection",
    "ddos mitigation",
    "login protection",
    "endpoint protection",
    "sliding window",
    "sliding window algorithm",
    "sliding rate limiter",
    "slide rate limiting",
    "fixed window rate limiter",
    "progressive blocking",
    "redis rate limiter",
    "mongodb rate limiter",
    "postgresql rate limiter",
    "memory store",
    "pluggable storage",
    "custom store",
    "esm",
    "commonjs",
    "type safe",
    "lightweight",
    "zero dependency",
    "production ready",
    "high performance",
    "Mozzammel Ridoy"
  ],
  "author": "Mozzammel Ridoy <dev.mozzammelridoy@gmail.com> (https://github.com/MozzammelRidoy)",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/MozzammelRidoy/awesome-rate-limiter.git"
  },
  "homepage": "https://github.com/MozzammelRidoy/awesome-rate-limiter#readme",
  "bugs": {
    "url": "https://github.com/MozzammelRidoy/awesome-rate-limiter/issues",
    "email": "dev.mozzammelridoy@gmail.com"
  },
  "engines": {
    "node": ">=14.0.0",
    "npm": ">=6.0.0"
  },
  "license": "MIT",
  "peerDependencies": {
    "express": ">=4.0.0",
    "fastify": ">=4.0.0",
    "koa": ">=2.0.0",
    "hono": ">=3.0.0"
  },
  "peerDependenciesMeta": {
    "express": {
      "optional": true
    },
    "fastify": {
      "optional": true
    },
    "koa": {
      "optional": true
    },
    "hono": {
      "optional": true
    }
  },
  "devDependencies": {
    "@types/express": "^4.17.21",
    "@types/koa": "^2.15.0",
    "@types/node": "^20.0.0",
    "eslint": "^9.35.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.4",
    "fastify": "^4.28.0",
    "hono": "^4.0.0",
    "koa": "^2.15.0",
    "prettier": "^3.6.2",
    "ts-node-dev": "^2.0.0",
    "tsup": "^8.0.0",
    "typescript": "^5.4.0",
    "typescript-eslint": "^8.43.0",
    "vitest": "^1.6.0"
  }
}
