{ "name": "apophis-fastify", "version": "2.0.0", "description": "Contract-driven API testing plugin for Fastify with property-based testing, timeout enforcement, redirect capture, and deterministic concurrency", "main": "dist/index.js", "types": "index.d.ts", "type": "module", "bin": { "apophis": "dist/cli/index.js" }, "exports": { ".": { "import": "./dist/index.js", "types": "./index.d.ts" }, "./extensions": { "import": "./dist/extensions/index.js", "types": "./dist/extensions/index.d.ts" }, "./extensions/*": { "import": "./dist/extensions/*.js", "types": "./dist/extensions/*.d.ts" }, "./quality/*": { "import": "./dist/quality/*.js", "types": "./dist/quality/*.d.ts" } }, "files": [ "dist", "index.d.ts", "README.md", "LICENSE", "docs" ], "engines": { "node": "^20.0.0 || ^22.0.0" }, "scripts": { "build": "tsc", "test": "npm run build && npm run test:src && npm run test:cli", "test:dist": "NODE_ENV=test node --test dist/test/*.test.js", "test:src": "tsx --test src/test/*.test.ts", "test:cli": "tsx --test src/test/cli/*.test.ts", "test:cli:goldens": "tsx --test src/test/cli/goldens.test.ts", "test:cli:latency": "tsx --test src/test/cli/latency.test.ts", "test:docs": "tsx --test src/test/cli/docs-smoke.test.ts", "benchmark": "npm run benchmark:all", "benchmark:all": "npm run benchmark:cli && npm run benchmark:hot", "benchmark:cli": "npm run build && node scripts/bench/cli.mjs", "benchmark:hot": "npm run build && node scripts/bench/hot-paths.mjs", "profile:qualify": "npm run build && mkdir -p .profiles && node --cpu-prof --cpu-prof-dir=.profiles --cpu-prof-name=qualify.cpuprofile dist/cli/index.js qualify --cwd src/cli/__fixtures__/protocol-lab --profile oauth-nightly --seed 42 --quiet", "profile:qualify:quick": "npm run build && mkdir -p .profiles && node --cpu-prof --cpu-prof-dir=.profiles --cpu-prof-name=qualify-quick.cpuprofile dist/cli/index.js qualify --cwd src/cli/__fixtures__/protocol-lab --profile oauth-nightly --generation-profile quick --seed 42 --quiet", "clean": "rm -rf dist", "apophis:verify": "apophis verify --profile quick", "apophis:doctor": "apophis doctor" }, "keywords": [ "fastify", "plugin", "testing", "contract", "property-based", "openapi", "swagger", "apophis", "apostl", "timeout", "redirect", "concurrency", "race-condition" ], "author": "APOPHIS Team", "license": "MIT", "peerDependencies": { "@fastify/swagger": "^9.0.0", "fastify": "^5.0.0" }, "dependencies": { "@clack/prompts": "^0.10.1", "cac": "^6.7.14", "fast-check": "^4.7.0", "fastify-plugin": "^5.0.0", "picocolors": "^1.0.0", "pino": "^10.3.1", "recheck": "^4.5.0", "safe-regex": "^2.1.1", "undici": "^7.0.0" }, "devDependencies": { "@fastify/swagger": "^9.7.0", "@stryker-mutator/core": "^9.6.1", "@types/node": "^25.6.0", "@types/safe-regex": "^1.1.6", "fastify": "^5.8.5", "serverless-http": "^4.0.0", "tsup": "^8.0.0", "tsx": "^4.0.0", "typescript": "^6.0.3" } }