{
  "name": "@aikidosec/firewall",
  "version": "1.6.20",
  "description": "Zen by Aikido is an embedded Web Application Firewall that autonomously protects Node.js apps against common and critical attacks",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/AikidoSec/firewall-node.git"
  },
  "type": "commonjs",
  "homepage": "https://aikido.dev/zen",
  "author": "Aikido Security",
  "bugs": {
    "url": "https://github.com/AikidoSec/firewall-node/issues"
  },
  "keywords": [
    "security",
    "nosql",
    "injection",
    "sql",
    "mongodb",
    "mysql",
    "mysql2",
    "mariadb",
    "pubsub",
    "postgres",
    "express",
    "rasp",
    "firewall",
    "aikido",
    "guard",
    "firewall",
    "runtime",
    "protection",
    "threats",
    "owasp"
  ],
  "license": "AGPL-3.0-or-later",
  "main": "index.js",
  "types": "index.d.ts",
  "engines": {
    "node": ">=16"
  },
  "sideEffects": true,
  "devDependencies": {
    "@clickhouse/client": "^1.7.0",
    "@eslint/js": "^9.23.0",
    "@fastify/cookie": "^10.0.0",
    "@google-cloud/functions-framework": "^3.3.0",
    "@google-cloud/pubsub": "^4.3.3",
    "@graphql-tools/executor": "^1.3.2",
    "@hapi/hapi": "^21.3.10",
    "@hono/node-server": "^1.12.2",
    "@koa/bodyparser": "^5.1.1",
    "@koa/router": "^13.0.0",
    "@prisma/client": "^5.22.0",
    "@sinonjs/fake-timers": "^11.2.2",
    "@types/aws-lambda": "^8.10.131",
    "@types/cookie-parser": "^1.4.6",
    "@types/express": "^4.17.21",
    "@types/follow-redirects": "^1.14.4",
    "@types/ip": "^1.1.3",
    "@types/koa": "^2.15.0",
    "@types/koa__router": "^12.0.4",
    "@types/mysql": "^2.15.25",
    "@types/needle": "^3.3.0",
    "@types/node": "^22.3.0",
    "@types/pg": "^8.11.0",
    "@types/qs": "^6.9.11",
    "@types/shell-quote": "^1.7.5",
    "@types/sinonjs__fake-timers": "^8.1.5",
    "@types/supertest": "^6.0.2",
    "@types/xml2js": "^0.4.14",
    "aws-sdk": "^2.1595.0",
    "axios": "^1.7.3",
    "better-sqlite3": "^11.2.0",
    "bson-objectid": "^2.0.4",
    "cookie-parser": "^1.4.6",
    "eslint": "^9.23.0",
    "eslint-config-prettier": "^10.1.1",
    "eslint-plugin-import": "^2.29.1",
    "express": "^5.0.0",
    "express-async-handler": "^1.2.0",
    "express-v4": "npm:express@^4.0.0",
    "express-v5": "npm:express@^5.0.0",
    "fast-xml-parser": "^4.4.0",
    "fastify": "^5.0.0",
    "follow-redirects": "^1.15.6",
    "globals": "^16.0.0",
    "graphql": "^16.8.2",
    "hono": "^4.4.2",
    "koa": "^2.15.3",
    "koa-router": "^12.0.1",
    "mariadb": "^3.3.2",
    "mongodb": "~6.9",
    "mongodb-v4": "npm:mongodb@^4.0.0",
    "mongodb-v5": "npm:mongodb@^5.0.0",
    "mongodb-v6": "npm:mongodb@^6.0.0",
    "mysql": "^2.18.1",
    "mysql2-v3.10": "npm:mysql2@3.10",
    "mysql2-v3.12": "npm:mysql2@3.12",
    "needle": "^3.3.1",
    "node-fetch": "^2",
    "percentile": "^1.6.0",
    "pg": "^8.11.3",
    "postgres": "^3.4.4",
    "prettier": "^3.2.4",
    "prisma": "^5.22.0",
    "shell-quote": "^1.8.1",
    "shelljs": "^0.8.5",
    "sqlite3": "^5.1.7",
    "supertest": "^6.3.4",
    "tap": "^18.6.1",
    "type-fest": "^4.24.0",
    "typescript": "^5.3.3",
    "typescript-eslint": "^8.27.0",
    "undici-v4": "npm:undici@^4.0.0",
    "undici-v5": "npm:undici@^5.0.0",
    "undici-v6": "npm:undici@^6.0.0",
    "undici-v7": "npm:undici@^7.0.0",
    "xml-js": "^1.6.11",
    "xml2js": "^0.6.2"
  },
  "scripts": {
    "test": "node ../scripts/run-tap.js",
    "test:ci": "CI=true node ../scripts/run-tap.js",
    "build": "tsc -p tsconfig.build.json",
    "build:watch": "tsc --watch -p tsconfig.build.json",
    "lint": "npm run lint-eslint && npm run lint-tsc && npm run check-format",
    "lint-eslint": "eslint '**/*.ts'",
    "lint-tsc": "tsc",
    "check-format": "prettier --check ."
  }
}
