{
  "name": "@strata-js/middleware-payload-validation",
  "version": "3.0.1",
  "description": "A payload validation middleware for Strata.js",
  "type": "module",
  "main": "dist/cjs/payloadValidation.cjs",
  "module": "dist/esm/payloadValidation.js",
  "exports": {
    ".": {
      "require": "./dist/cjs/payloadValidation.cjs",
      "import": "./dist/esm/payloadValidation.js"
    },
    "./ajv": {
      "require": "./dist/cjs/ajvPayloadValidation.cjs",
      "import": "./dist/esm/ajvPayloadValidation.js"
    },
    "./zod": {
      "require": "./dist/cjs/zodPayloadValidation.cjs",
      "import": "./dist/esm/zodPayloadValidation.js"
    }
  },
  "files": [
    "dist"
  ],
  "scripts": {
    "prepublishOnly": "npm run build",
    "build": "duel -d",
    "lint": "eslint src/**/*.ts --max-warnings=0",
    "lint:ci": "eslint -f junit \"src/**/*.ts\" --max-warnings=0 > eslint-junit.xml",
    "test": "mocha --require tsx -r tests/init.ts \"tests/**/*.spec.ts\"",
    "test:zod3": "node --import tsx --import ./tests/zod3-loader.js node_modules/mocha/bin/mocha.js -r tests/init.ts \"tests/**/*.spec.ts\"",
    "test:all": "npm test && npm run test:zod3",
    "test:ci": "mocha --require tsx --reporter mocha-junit-reporter -r tests/init.ts \"tests/**/*.spec.ts\"",
    "test:watch": "mocha --require tsx -r tests/init.ts \"tests/**/*.spec.ts\" --watch",
    "test:types": "npm run build && attw --pack --profile node16 ."
  },
  "author": "Logan LaDuke <logan.laduke@gmail.com>",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://gitlab.com/strata-js/middleware/payload-validation.git"
  },
  "peerDependencies": {
    "@strata-js/strata": "^2.0.0-0",
    "ajv": ">= 8.0.0",
    "ajv-errors": ">= 3.0.0",
    "ajv-formats": ">= 2.0.0",
    "ajv-keywords": ">= 5.0.0",
    "zod": "^3.24.2 || ^4.0.0"
  },
  "devDependencies": {
    "@arethetypeswrong/cli": "^0.17.4",
    "@eslint/js": "^9.7.0",
    "@knighted/duel": "^1.0.8",
    "@strata-js/strata": "^2.0.0",
    "@strata-js/util-logging": "^1.4.2",
    "@stylistic/eslint-plugin": "^2.3.0",
    "@types/chai": "^5.0.1",
    "@types/eslint__js": "^8.42.3",
    "@types/lodash-es": "^4.17.12",
    "@types/mocha": "^10.0.10",
    "@types/node": "^20.14.11",
    "@types/sinon": "^17.0.3",
    "ajv": "^8.5.0",
    "ajv-errors": "^3.0.0",
    "ajv-formats": "^3.0.1",
    "ajv-keywords": "^5.0.0",
    "chai": "^5.1.2",
    "eslint-formatter-junit": "^8.40.0",
    "husky": "^9.1.1",
    "lint-staged": "^15.2.7",
    "mocha": "^10.2.0",
    "mocha-junit-reporter": "^2.2.1",
    "sinon": "^19.0.2",
    "tsx": "^4.16.5",
    "typescript": "^5.5.3",
    "typescript-eslint": "^7.17.0",
    "zod": "^4.3.6",
    "zod3": "npm:zod@^3.25.76"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js}": [
      "npm run lint"
    ]
  }
}
