{
  "name": "redis-rate-limiter-pro",
  "version": "1.0.12",
  "description": "Production-grade distributed rate limiting engine for Node.js and edge runtimes",
  "type": "module",
  "main": "./dist/cjs/index.js",
  "module": "./dist/esm/index.js",
  "types": "./dist/esm/index.d.ts",
  "sideEffects": false,
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "check": "npm run lint && npm run typecheck && npm run test && npm run build",
    "typecheck": "tsc --noEmit",
    "build": "npm run build:clean && npm run build:tsc && npm run build:bundle",
    "build:clean": "rimraf dist",
    "build:tsc": "tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json",
    "build:bundle": "shx mkdir -p dist/esm/store/lua dist/cjs/store/lua && shx cp src/store/lua/*.lua dist/esm/store/lua/ && shx cp src/store/lua/*.lua dist/cjs/store/lua/",
    "dev": "ts-node src/index.ts",
    "test": "NODE_OPTIONS=--experimental-vm-modules jest --watchman=false",
    "lint": "eslint src/**/*.ts",
    "prepublishOnly": "npm run check",
    "prepack": "npm run build"
  },
  "keywords": [
    "rate limiter",
    "rate limiting",
    "redis rate limiter",
    "redis limiter",
    "express rate limiter",
    "fastify rate limiter",
    "node rate limiter",
    "distributed rate limiter",
    "sliding window rate limiter",
    "token bucket",
    "api rate limiting",
    "rate limit middleware",
    "throttling",
    "ddos protection",
    "edge rate limiter",
    "edge middleware",
    "rate limiter nodejs",
    "api rate limiter",
    "redis middleware",
    "nodejs middleware",
    "backend rate limiter",
    "rate limiting redis",
    "rate limiter express middleware",
    "distributed systems",
    "backend performance"
  ],
  "author": "vivekstackdev",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/vivekstackdev/redis-rate-limiter-pro.git"
  },
  "homepage": "https://github.com/vivekstackdev/redis-rate-limiter-pro",
  "bugs": {
    "url": "https://github.com/vivekstackdev/redis-rate-limiter-pro/issues"
  },
  "exports": {
    ".": {
      "types": "./dist/esm/index.d.ts",
      "import": "./dist/esm/index.js",
      "require": "./dist/cjs/index.js"
    },
    "./express": {
      "types": "./dist/esm/adapters/express.d.ts",
      "import": "./dist/esm/adapters/express.js",
      "require": "./dist/cjs/adapters/express.js"
    },
    "./fastify": {
      "types": "./dist/esm/adapters/fastify.d.ts",
      "import": "./dist/esm/adapters/fastify.js",
      "require": "./dist/cjs/adapters/fastify.js"
    },
    "./koa": {
      "types": "./dist/esm/adapters/koa.d.ts",
      "import": "./dist/esm/adapters/koa.js",
      "require": "./dist/cjs/adapters/koa.js"
    },
    "./hono": {
      "types": "./dist/esm/adapters/hono.d.ts",
      "import": "./dist/esm/adapters/hono.js",
      "require": "./dist/cjs/adapters/hono.js"
    },
    "./fetch": {
      "types": "./dist/esm/adapters/fetch.d.ts",
      "import": "./dist/esm/adapters/fetch.js",
      "require": "./dist/cjs/adapters/fetch.js"
    },
    "./nest": {
      "types": "./dist/esm/adapters/nest/index.d.ts",
      "import": "./dist/esm/adapters/nest/index.js",
      "require": "./dist/cjs/adapters/nest/index.js"
    },
    "./store": {
      "types": "./dist/esm/store/index.d.ts",
      "import": "./dist/esm/store/index.js",
      "require": "./dist/cjs/store/index.js"
    },
    "./factory": {
      "types": "./dist/esm/factory/createLimiter.d.ts",
      "import": "./dist/esm/factory/createLimiter.js",
      "require": "./dist/cjs/factory/createLimiter.js"
    },
    "./types": {
      "types": "./dist/esm/types/index.d.ts",
      "import": "./dist/esm/types/index.js",
      "require": "./dist/cjs/types/index.js"
    }
  },
  "peerDependencies": {
    "ioredis": ">=5.0.0"
  },
  "peerDependenciesMeta": {
    "ioredis": {
      "optional": true
    },
    "express": {
      "optional": true
    },
    "fastify": {
      "optional": true
    },
    "koa": {
      "optional": true
    },
    "hono": {
      "optional": true
    }
  },
  "devDependencies": {
    "@nestjs/common": "^11.1.17",
    "@types/express": "^4.17.21",
    "@types/ioredis": "^4.28.10",
    "@types/jest": "^29.5.12",
    "@types/node": "^20.11.30",
    "@types/supertest": "^2.0.16",
    "@typescript-eslint/eslint-plugin": "^7.0.0",
    "@typescript-eslint/parser": "^7.0.0",
    "esbuild": "^0.27.4",
    "esbuild-analyzer": "^0.2.0",
    "eslint": "^8.57.1",
    "express": "^5.2.1",
    "fastify": "^5.8.4",
    "hono": "^4.12.9",
    "ioredis": "^5.10.1",
    "jest": "^29.7.0",
    "koa": "^3.2.0",
    "prettier": "^3.2.5",
    "rimraf": "^6.1.3",
    "rxjs": "^7.8.2",
    "shx": "^0.4.0",
    "supertest": "^6.3.3",
    "ts-jest": "^29.1.1",
    "ts-node": "^10.9.2",
    "typescript": "5.5.4",
    "wtfnode": "^0.10.1"
  },
  "engines": {
    "node": ">=18"
  },
  "publishConfig": {
    "access": "public"
  },
  "funding": {
    "type": "github",
    "url": "https://github.com/sponsors/vivekstackdev"
  },
  "typesVersions": {
    "*": {
      "express": [
        "./dist/esm/adapters/express.d.ts"
      ],
      "fastify": [
        "./dist/esm/adapters/fastify.d.ts"
      ],
      "koa": [
        "./dist/esm/adapters/koa.d.ts"
      ],
      "hono": [
        "./dist/esm/adapters/hono.d.ts"
      ],
      "fetch": [
        "./dist/esm/adapters/fetch.d.ts"
      ],
      "nest": [
        "./dist/esm/adapters/nest/index.d.ts"
      ],
      "store": [
        "./dist/esm/store/index.d.ts"
      ],
      "factory": [
        "./dist/esm/factory/createLimiter.d.ts"
      ],
      "types": [
        "./dist/esm/types/index.d.ts"
      ]
    }
  },
  "packageManager": "npm@10.8.2"
}
