{
  "name": "edgeshield",
  "version": "0.5.0",
  "description": "Edge-native security toolkit with rate limiting, bot detection, and pluggable storage.",
  "type": "module",
  "keywords": [
    "edge",
    "rate-limit",
    "bot-detection",
    "cloudflare-kv",
    "csrf",
    "hono",
    "vercel-kv",
    "nextjs",
    "middleware",
    "security",
    "typescript"
  ],
  "homepage": "https://jose-compu.github.io/edgeshield/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jose-compu/edgeshield.git"
  },
  "bugs": {
    "url": "https://github.com/jose-compu/edgeshield/issues"
  },
  "security": {
    "url": "https://github.com/jose-compu/edgeshield/blob/main/SECURITY.md"
  },
  "license": "MIT",
  "sideEffects": false,
  "engines": {
    "node": ">=20"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./ratelimit": {
      "types": "./dist/ratelimit/index.d.ts",
      "import": "./dist/ratelimit/index.js"
    },
    "./bot": {
      "types": "./dist/bot/index.d.ts",
      "import": "./dist/bot/index.js"
    },
    "./csrf": {
      "types": "./dist/csrf/index.d.ts",
      "import": "./dist/csrf/index.js"
    },
    "./storage/cloudflare-kv": {
      "types": "./dist/storage/cloudflare-kv.d.ts",
      "import": "./dist/storage/cloudflare-kv.js"
    },
    "./storage/vercel-kv": {
      "types": "./dist/storage/vercel-kv.d.ts",
      "import": "./dist/storage/vercel-kv.js"
    },
    "./storage/memory": {
      "types": "./dist/storage/memory.d.ts",
      "import": "./dist/storage/memory.js"
    },
    "./storage/upstash": {
      "types": "./dist/storage/upstash.d.ts",
      "import": "./dist/storage/upstash.js"
    },
    "./storage/deno-kv": {
      "types": "./dist/storage/deno-kv.d.ts",
      "import": "./dist/storage/deno-kv.js"
    },
    "./middleware/nextjs": {
      "types": "./dist/middleware/nextjs.d.ts",
      "import": "./dist/middleware/nextjs.js"
    },
    "./middleware/hono": {
      "types": "./dist/middleware/hono.d.ts",
      "import": "./dist/middleware/hono.js"
    },
    "./middleware/generic": {
      "types": "./dist/middleware/generic.d.ts",
      "import": "./dist/middleware/generic.js"
    },
    "./presets": {
      "types": "./dist/presets/index.d.ts",
      "import": "./dist/presets/index.js"
    }
  },
  "files": [
    "dist",
    "assets/logo.svg"
  ],
  "scripts": {
    "build": "tsup",
    "size:check": "node scripts/check-bundle-size.mjs",
    "clean": "rm -rf dist coverage",
    "lint": "eslint .",
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:bun": "bun run test",
    "test:deno": "deno test --allow-read test/deno/",
    "test:coverage": "vitest run --coverage",
    "docs:serve": "node scripts/docs-serve.mjs",
    "security:audit": "npm audit --audit-level=moderate",
    "security:static": "npm run lint && npm run typecheck",
    "prepublishOnly": "npm run clean && npm run build && npm run test:coverage"
  },
  "devDependencies": {
    "@eslint/js": "^9.24.0",
    "@types/node": "^22.14.1",
    "@vitest/coverage-v8": "^4.1.8",
    "eslint": "^9.24.0",
    "globals": "^16.0.0",
    "tsup": "^8.4.0",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.29.0",
    "vitest": "^4.1.8"
  }
}
