{"_id":"@appear.sh/oas-zod-validator","_rev":"17-8a671f18c2551c77c53ad97b1f847511","name":"@appear.sh/oas-zod-validator","dist-tags":{"latest":"1.9.0"},"versions":{"1.0.0":{"name":"@appear.sh/oas-zod-validator","version":"1.0.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.0.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"de693e1358d777963d5a17e2d33edb39017f24e2","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.0.0.tgz","fileCount":47,"integrity":"sha512-qbmwYZIoP3GJVyqOtWcjw3suGkxv3tikws5xs2mhj840IZ8yy6R6BaXW6PPfWxrpGkZSdzH0yoN83Hy10ZSMuA==","signatures":[{"sig":"MEUCIQCyIwUqhx382oJTvIDTkT0kKKEwQR5yl19PFUANBcON6wIgcvNqi0KniBN2NYqCSkXvH2ZFOzBZkFyUE73hv5sxO1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1351605},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"61a9894479057772fcfb0154398e1100aed1fca0","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc && chmod +x dist/cli.js","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","eslint":"^8.0.0","rimraf":"^5.0.1","vitest":"^1.6.1","ts-node":"^10.9.2","prettier":"^3.5.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.0.0_1744544231382_0.03476349994881511","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@appear.sh/oas-zod-validator","version":"1.0.1","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.0.1","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"ad366dcb46d8c97644209ad871cdcf360c9fc29e","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.0.1.tgz","fileCount":47,"integrity":"sha512-g18mQDjcZrk2m81uTJAijzoxaA4osAmzeWFRB9SFQvSTusgKR3Qi4pTqh2YsILOaooD5iK3+c5J6bldvTePHDg==","signatures":[{"sig":"MEUCIQDPhu/0d2RqBPdLJYUgIbMfbpx0sjkKzFZSbq+RpZAuwAIgEFXl6glnRtCfWlQVU79Phqonr0oEY1FqEq1VFpDY+ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1352149},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9a5d3624113ee258858efc7968980f81a304db4f","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc && chmod +x dist/cli.js","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.0.1_1744596402914_0.2809631145153735","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@appear.sh/oas-zod-validator","version":"1.1.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.1.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"ffe4fe99d612ede5ee48ec6af06c979a45edd57d","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.1.0.tgz","fileCount":47,"integrity":"sha512-2ThI7Z9YFPSgkDrnJrdzkYKrqAengvB70icKBrqmpPe16nYAG96HAjcvv8wjmeM7f9MjaQpHM2Aj4R7ddG4+6g==","signatures":[{"sig":"MEUCIA86G9l2RMWshIatI7AS6mY8Xcpm2f1/kPDR/126qt7oAiEA/FDNdmiA/KIDf94qg3n68VXsA5fi6OyIqafgwsCUmV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"530e8f401346f667834a7449b6f2f56b771eec47","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc && chmod +x dist/cli.js","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.1.0_1744855355623_0.12484646552861389","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@appear.sh/oas-zod-validator","version":"1.1.1","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.1.1","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"a3dd2c13dceeded9b6e6d87939c2e1ef60c3df5f","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.1.1.tgz","fileCount":48,"integrity":"sha512-DewA025R1smXRqg7eK5ZzSALi+wbKKBk6i+/bvAWnlDfrG5VIQ/USiD9RohXuhk9LWXlw9kUJl81uzBShYvy8Q==","signatures":[{"sig":"MEUCIGv3EA2PYiw16eJENhDWItTHTGHpvt1dWI2cyrSsC6uKAiEAqtZlxgk1yl1pTG0Y/CctLbBfhVRhyUlTb6lt6vOzAD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1369153},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c03a853db8bec3cc9e8e3233458199ff6721b385","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc && chmod +x dist/cli.js","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.1.1_1745283859553_0.07600756223636096","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@appear.sh/oas-zod-validator","version":"1.2.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.2.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"68d518b43f058a51d4107dfd8d0f40c754797973","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.2.0.tgz","fileCount":50,"integrity":"sha512-URTLtQoAFHbTQ3Cy1XfWyiJI9yIuQLeNvWmoTt/H1X/zAfir4WZE0r1M5zJGWyuEcl0MpWRHjEd2iljUQ6vePg==","signatures":[{"sig":"MEYCIQDVYMajmSpJv74IB6Wwmi06Qei6/lHY1ZMI2SPFBstlmQIhALHNFCqh2F0O2MYgXwDaIXQvpyuIQmPIUh2B5sZKX+Na","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1380057},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f4d2f59f51b6be53b080063f99b12b6f11a8ac67","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc && chmod +x dist/cli.js","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","yaml":"^2.7.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.2.0_1745580950495_0.00934288527974636","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@appear.sh/oas-zod-validator","version":"1.3.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.3.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"c48c6988889e8c71e8cfcc10ad1d2b2605ddb828","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.3.0.tgz","fileCount":10,"integrity":"sha512-mc2IQaUv17SmogEkcEoAExBhFYtfO+zIopUmetb/1UyPxuUomevlZDjWBFZrX8j47A6Ct6IM4HSG5EI427NYYw==","signatures":[{"sig":"MEQCIDt27R01W7FgsTNZCEeRFuc3halzTF/hsmE8BfpRgi/0AiAwCR2V3qqzhd97TXiRkQgg6g23knQzCsMIQuKTQ1/oYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462617},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8c9bfeaaa793cd4e072ef613cb81e76fbd4534ce","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","yaml":"^2.7.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.3.0_1745716884533_0.7266990203981891","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@appear.sh/oas-zod-validator","version":"1.4.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.4.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"d8b3ff9747b0c3a15a85ae521a00f315988742cc","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.4.0.tgz","fileCount":10,"integrity":"sha512-v3q0tGc0LrTQmvo8qaMzi83C8uKvmvHZHU+OuEKMuQ0mZ18uemPFhAwd83YSPBx+ipRTLh9vs7R+vesg1NTt5w==","signatures":[{"sig":"MEQCIGJmZy1HRvQJ+pYc/8vy+s1wiEozRjM2Pl3DIKu2P2+kAiBW+1L4FNtXZIqlN7YYxpTy85s0T8+4GFWoc9WTnWtvzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493951},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c9dd8392b1278c15e9951de0cfd1fa835efd1ec4","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.1","dependencies":{"ora":"^8.0.1","zod":"^3.24.1","yaml":"^2.7.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.4.0_1747135621238_0.8015530540629388","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@appear.sh/oas-zod-validator","version":"1.5.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.5.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"507a00c70b159400a485997c7a6cbf5e37137dbe","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.5.0.tgz","fileCount":10,"integrity":"sha512-YKhkcSMrlTEAwO2khOQ9ENAbHYq/9GSUX06pG1e8S3bXVI7KE3CxCRNDGG/Grc639PXSvnX/3ZpEK0QZOEoXvg==","signatures":[{"sig":"MEUCIHm+FymfgnESyuHuEL19W2fW3fJ10BR7pj8JOyAy0fHTAiEAth13bD+xvtEG1/QUcycMjzXfgREQw3i9/fvNhon+t+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":515897},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"099fd109d9462217437bb1f739e8955c15c00d61","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","lodash":"^4.17.21","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","lodash-es":"^4.17.21","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.5.0_1755085243912_0.3399716166100746","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@appear.sh/oas-zod-validator","version":"1.5.1","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.5.1","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"44eec186fe25b33f73c139063e2b1e89c9769804","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.5.1.tgz","fileCount":10,"integrity":"sha512-H3HF22v3bH2tWB3eFtA+0K6gvLz31qLVP2+0c2aTPhQOAuSUKeA0BXA2Jfv0ejS0NQl+lHr+29BLjZcnZllEcA==","signatures":[{"sig":"MEQCIChnXc/QEmpDtR4mRjtOQBLokOCj+p3nhHn9NUoizlRHAiAFGQGmsewJV1uSRK7Q9hUW4fDtN6C6R2zbuC6PxjtG/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564740},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e63e1fd45056705cc8c56f35da05feeaf3b6e84c","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.5.1_1755840092284_0.1413058275512915","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@appear.sh/oas-zod-validator","version":"1.5.2","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.5.2","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"c1880a4ff91abf9d3e933cd53c3cbaf328962526","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.5.2.tgz","fileCount":10,"integrity":"sha512-yjMvgwRqzhLvIav9YWu+wzdpMbvZooP5Y2iJtW52L0AF+h/BJn7H4M5gu28WPeveKkgh1VxiljrfftK+vW6t2w==","signatures":[{"sig":"MEUCIQCKEhoIGPkB+q9PbDh019KgfzpdW/zIaUzI2fDCDYqgAQIgFvVWo1hirvbCBj511Qci5Kyp420oDV7TMGLhmagpZOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571356},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"67b2a4e2f3d97195a8bef010d619b415da8721ce","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.5.2_1758539661632_0.8434558808243489","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@appear.sh/oas-zod-validator","version":"1.6.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.6.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"ad8473b9871f261e77481200988837a1bb570ca6","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.6.0.tgz","fileCount":10,"integrity":"sha512-coccCcD394MZjPLcW3Vy3hDlXOQjhCheBkRwRJWVJMtDYRcT0dOHujPxHOk2lbBx2WOcoyHNIMQd/Xk5hEBxpg==","signatures":[{"sig":"MEUCIQDe6Exmg35zIGJCgSeZszSIHUCTqXkKwv1zPSZNdzeUgQIgOc7JZtHICXzMSqOfdJCP6roNIaWc6hrpZ01c0PYfu58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635308},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"22f4e6b5cd25c28c754437a5a2f5bd75d33c54a5","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","js-yaml":"^4.1.0","inquirer":"^9.2.16","commander":"^13.1.0","typescript":"^5.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@types/js-yaml":"^4.0.9","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.6.0_1759453137592_0.33855784042180437","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@appear.sh/oas-zod-validator","version":"1.6.1","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.6.1","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"e1cb99387bf047600f9206821bea3407c9a321df","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.6.1.tgz","fileCount":10,"integrity":"sha512-OoRTV2O2shicfZ58v8TcagC0wCvx5imx2au8I0zk7Ie8wnjsqNMehPvYG5jRCwMwGOWGefr5tUn6I8wHjBC+jQ==","signatures":[{"sig":"MEUCIQC7e0tsvfB8GNCyB2UzSIqdQD3DvcjlT4ITMXiJe1lJNQIgBlJDosZ1BmxzY51AOSz1V7weWmHouasGzSoyeliHxdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681580},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"175d8785d75381899441886cbffc173c6654d408","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","inquirer":"^9.2.16","commander":"^13.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.6.1_1765509311629_0.24451852424222498","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@appear.sh/oas-zod-validator","version":"1.7.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.7.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"76b57024c303c95da352d0b3cc32898a6deb819e","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.7.0.tgz","fileCount":10,"integrity":"sha512-dPGVhirwhOvB2NIh5qs44SfIINikqN9EWc32qMRqevV3y0kXrS1/JGsOpzIuG/g6kLGaR9AYI85DvjWZntj9RA==","signatures":[{"sig":"MEYCIQDbjjECSRJqsodvDApzYRhfW2fKDQVYYCsKCbuQcRXBNwIhAIZ816WfNEjMkZSwdtDVXahITkTQ6B6cz+aCMIZJqeOm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":804155},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b151de95a3571490fe69ed289da28a5c7471b137","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","inquirer":"^9.2.16","commander":"^13.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.7.0_1768471647541_0.28892701765296525","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@appear.sh/oas-zod-validator","version":"1.8.0","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.8.0","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"b2f044c087a48eaa5a310d84da5d1a549a36f485","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.8.0.tgz","fileCount":10,"integrity":"sha512-vewdZaC7Ba7+Q8X6prLmbeGPDhH64K7w6lZRpHyx/YaUc8/diThWgC82fzdN57/InCgHhK8De6dTR0s2q1q/MQ==","signatures":[{"sig":"MEYCIQCDSQZ583QOhssmTS4sbeHrHOQQiU98TpI3eMHR/0MJFQIhAL361v7It4e5ty6ZZ/zhI2hUFXU24S0YCfCQnT4LH/Rr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":818021},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9726e783328842d418c4396c71d5f27e676f1cd1","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","inquirer":"^9.2.16","commander":"^13.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.8.0_1768532527534_0.8866296455764111","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@appear.sh/oas-zod-validator","version":"1.8.1","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.8.1","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"9110455c72a2e7bebd0c46e64abc68b4048253cd","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.8.1.tgz","fileCount":10,"integrity":"sha512-n26Vq5fBYRMlmMH1KI6VvZu1mEH+bgQ/s9cIFqo6sGrWk2vkDezb+dA4rmLV8JyzGbNS858tyQlTS2Vw5CMAyw==","signatures":[{"sig":"MEYCIQCNTOUhSRzJVO8eKnMpJkyXtRIbrMe+zgHaSyeJBdqREAIhAJARQ3RDjzyBmGp3pXkj9aR3mN4fpeaFzPf3f0pmmTb3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":824232},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4f62a24c896e5e38d93fb9adf3879aa16c68bb22","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","inquirer":"^9.2.16","commander":"^13.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.8.1_1768537004928_0.17271046847517724","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"@appear.sh/oas-zod-validator","version":"1.8.2","keywords":["openapi","swagger","validation","zod","typescript","cli"],"author":{"name":"Appear.sh"},"license":"MIT","_id":"@appear.sh/oas-zod-validator@1.8.2","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"08a25f4b2091e12f44946fbd946313684f67e65f","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.8.2.tgz","fileCount":10,"integrity":"sha512-dqNkMslekn72nrA3z1S7L5oCQpoAlnjgjRoeQ+fFC0MhcT5gmFFL1T7u1sGM1Q+zwNo9i4ncIU/mGPa0BK2h0A==","signatures":[{"sig":"MEUCIQDURnhgFAjJ7+pIvB1ojQyGWenCiOWuzCgvP/flgGTTyQIgBoQYDsGtMHkRn7uJE7XkXocTbm+2dSS8m3/u0aurHKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827447},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c18045d46bc15e13d7ccaae7989933a31e8d141e","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","update-tests":"node update-tests.js","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"_npmVersion":"10.8.2","description":"OpenAPI Specification validator built with Zod","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ora":"^8.0.1","zod":"^4.0.0","yaml":"^2.7.1","chalk":"^4.1.2","inquirer":"^9.2.16","commander":"^13.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.4.0","eslint":"^9.24.0","rimraf":"^5.0.1","vitest":"^1.6.1","globals":"^16.0.0","ts-node":"^10.9.2","prettier":"^3.5.3","@eslint/js":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@types/lodash":"^4.17.15","@changesets/cli":"^2.28.1","@types/inquirer":"^9.0.7","@types/lodash-es":"^4.17.12","typescript-eslint":"^8.29.1","@vitest/coverage-v8":"^1.6.1","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/oas-zod-validator_1.8.2_1769768907976_0.37894736264717155","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"_id":"@appear.sh/oas-zod-validator@1.9.0","bin":{"oas-validate":"dist/cli.js"},"dist":{"shasum":"340581bb07ef4bc9766a55470e0cde89a853d971","tarball":"https://registry.npmjs.org/@appear.sh/oas-zod-validator/-/oas-zod-validator-1.9.0.tgz","fileCount":10,"integrity":"sha512-odNPzgofvCog8kULoEINsKkmcOs01Ve1JUa8Tju7Q9UiECPTSzk3QzLpfQA5/bGsFNXifrVgGY0ETkU4F0qObw==","signatures":[{"sig":"MEQCICA+PvAFVgfFLKuxKTxhIGvlVAZZ7ILFBtVGKoV25GcNAiBMRz1He6gpdqpyTyM+dC4nBpq8PmRQWJtpM1q6flcBfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID2P4w73ORAD0TqkDhXkGgjG13RBl62bXOFpOYodEwR+AiEAhwBD65BK4yLc3GTEk4JSWBdDCW4bLlOv9bqi/fNX6/8="}],"unpackedSize":830936},"main":"./dist/index.cjs","name":"@appear.sh/oas-zod-validator","type":"module","types":"./dist/index.d.ts","author":{"name":"Appear.sh"},"module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"841afe7f3b700804b4ebfca95b52001622d06f35","license":"MIT","scripts":{"lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsup","clean":"rimraf coverage && rimraf dist","release":"npm run build && changeset publish","benchmark":"npm run build && node dist/utils/performance-benchmark.js","changeset":"changeset","format:fix":"prettier --write .","test:clean":"rimraf coverage && vitest run --coverage","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run build","benchmark:memory":"npm run build && node --expose-gc dist/utils/memory-benchmark.js","version-packages":"changeset version"},"version":"1.9.0","_npmUser":{"name":"tom_mkv","email":"thomasep@pm.me"},"keywords":["openapi","swagger","validation","zod","typescript","cli"],"_npmVersion":"10.9.8","description":"OpenAPI Specification validator built with Zod","directories":{},"maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"_nodeVersion":"22.23.2","dependencies":{"ora":"^8.0.1","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^4.1.2","inquirer":"^9.3.8","commander":"^13.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^10.4.5","tsup":"^8.5.1","eslint":"^9.39.5","rimraf":"^5.0.1","vitest":"^4.1.10","globals":"^16.0.0","prettier":"^3.9.6","@eslint/js":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.13.1","@types/chalk":"^0.4.31","concurrently":"^9.1.2","jsonc-parser":"^3.3.1","@changesets/cli":"^3.0.0","@types/inquirer":"^9.0.7","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-vitest":"^0.5.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.67.0","@typescript-eslint/eslint-plugin":"^8.67.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oas-zod-validator_1.9.0_1789535895276_0.7971152752019495"}}},"time":{"created":"2025-04-13T11:37:11.317Z","modified":"2026-09-16T05:18:15.565Z","1.0.0":"2025-04-13T11:37:11.568Z","1.0.1":"2025-04-14T02:06:43.101Z","1.1.0":"2025-04-17T02:02:35.841Z","1.1.1":"2025-04-22T01:04:19.796Z","1.2.0":"2025-04-25T11:35:50.692Z","1.3.0":"2025-04-27T01:21:24.780Z","1.4.0":"2025-05-13T11:27:01.472Z","1.5.0":"2025-08-13T11:40:44.126Z","1.5.1":"2025-08-22T05:21:32.496Z","1.5.2":"2025-09-22T11:14:21.826Z","1.6.0":"2025-10-03T00:58:57.802Z","1.6.1":"2025-12-12T03:15:11.797Z","1.7.0":"2026-01-15T10:07:27.740Z","1.8.0":"2026-01-16T03:02:07.904Z","1.8.1":"2026-01-16T04:16:45.115Z","1.8.2":"2026-01-30T10:28:28.214Z","1.9.0":"2026-09-16T05:18:15.366Z"},"author":{"name":"Appear.sh"},"license":"MIT","keywords":["openapi","swagger","validation","zod","typescript","cli"],"description":"OpenAPI Specification validator built with Zod","maintainers":[{"name":"s1w","email":"adam+npm@boxxen.org"},{"name":"jakubriedl","email":"email@jakubriedl.cz"},{"name":"tom_mkv","email":"thomasep@pm.me"}],"readme":"<!-- PROJECT LOGO -->\n<p align=\"center\">\n  <a href=\"https://github.com/appear-sh/OAS-Zod-Validator\">\n   <img src=\"https://raw.githubusercontent.com/appear-sh/OAS-Zod-Validator/main/assets/Appear-OAS-Zod-Validator-graphic.png\" alt=\"Logo\">\n  </a>\n\n  <h3 align=\"center\">OAS Zod Validator</h3>\n\n  <p align=\"center\">\n    The open-source OpenAPI Spec Validator using Zod. From Appear.\n    <br />\n    <a href=\"https://docs.appear.sh/resources/open-source\"><strong>Learn more »</strong></a>\n    <br />\n    <br />\n    <a href=\"https://www.appear.sh\">Appear site</a>\n    ·\n    <a href=\"https://github.com/appear-sh/OAS-Zod-Validator/issues\">Issues</a>\n    ·\n    <a href=\"https://www.validator.appear.sh/\">OSS API Schema Validator tool</a>\n  </p>\n</p>\n\n# OAS Zod Validator\n\nA robust OpenAPI Specification (OAS) validator built with Zod, providing type-safe schema validation for both OAS 3.0.x, 3.1, and 3.2 specifications.\n\n[![npm version](https://badge.fury.io/js/%40appear.sh%2Foas-zod-validator.svg)](https://www.npmjs.com/package/@appear.sh/oas-zod-validator)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Project status\n\nMaintainers are focused on [ctxpipe](https://github.com/ctxpipe-ai/ctxpipe) ([ctxpipe.ai](https://ctxpipe.ai)). This repository stays open and the published package remains usable. Support from here on is light: issues and PRs are welcome, but responses will be slower and new feature work is unlikely unless it is a clear correctness fix.\n\n<!-- ABOUT THE PROJECT -->\n\n## Features\n\n- Full OpenAPI 3.0.x, 3.1, and 3.2 support\n- Type-safe validation using Zod\n- **Enhanced error reporting** with error codes, suggestions, and spec links\n- Bundled single-file output (deps are bundled at build time — no install-time link needed for consumers)\n- Enterprise-ready with strict mode validation\n- Supports both YAML and JSON formats\n- Interactive CLI with rich reporting\n- Comprehensive numeric format validations\n- Rate limit header enforcement options\n- Custom format validators\n- Performance optimization with caching for large schemas\n- Realworld examples you can quickly validate for assessments\n\n<!-- GETTING STARTED -->\n\n## NPX for on the fly spec validation in the CLI\n\n```bash\nnpx @appear.sh/oas-zod-validator path/to/your/spec.json\n```\n\n## Installation\n\n```bash\nnpm install @appear.sh/oas-zod-validator\n```\n\n## Quick Start\n\n```typescript\nimport { validateOpenAPI } from '@appear.sh/oas-zod-validator';\n\n// Validate an OpenAPI spec (JSON or YAML)\nconst result = validateOpenAPI({\n  openapi: '3.0.0',\n  info: {\n    title: 'My API',\n    version: '1.0.0',\n  },\n  paths: {\n    '/hello': {\n      get: {\n        responses: {\n          '200': {\n            description: 'Success',\n          },\n        },\n      },\n    },\n  },\n});\n\nif (result.valid) {\n  console.log('✅ Valid OpenAPI specification');\n} else {\n  console.error('❌ Validation errors:', result.errors);\n}\n```\n\n## Enhanced Error Reporting\n\nEvery validation error includes rich, actionable information:\n\n```typescript\nif (!result.valid && result.errors) {\n  result.errors.issues.forEach((issue) => {\n    console.log(issue.errorCode); // \"ERR_006\"\n    console.log(issue.message); // \"Object types must define either properties...\"\n    console.log(issue.suggestion); // \"Add `properties: { ... }` to define the object fields...\"\n    console.log(issue.specLink); // \"https://appear.sh/api-toolkit/specs?openapi=3.0.3#schema-object\"\n    console.log(issue.category); // \"schema\"\n    console.log(issue.severity); // \"error\" or \"warning\"\n    console.log(issue.path); // [\"components\", \"schemas\", \"MySchema\", \"properties\"]\n  });\n}\n```\n\n| Property     | Description                                                      |\n| ------------ | ---------------------------------------------------------------- |\n| `errorCode`  | Standardized code (e.g., `ERR_006`) for programmatic handling    |\n| `message`    | Human-readable error description                                 |\n| `suggestion` | Actionable fix guidance                                          |\n| `specLink`   | Direct link to relevant OpenAPI spec section                     |\n| `category`   | Error category: `schema`, `format`, `reference`, `pattern`, etc. |\n| `severity`   | `error` or `warning`                                             |\n| `path`       | JSON path to the error location                                  |\n\n### Summary Statistics\n\nFor aggregate error reporting, use `validateOpenAPIEnhanced()`:\n\n```typescript\nimport { validateOpenAPIEnhanced } from '@appear.sh/oas-zod-validator';\n\nconst result = validateOpenAPIEnhanced(spec);\n\nif (!result.valid) {\n  console.log(result.summary);\n  // {\n  //   errors: 5,\n  //   warnings: 2,\n  //   byCategory: { schema: 3, format: 2, reference: 2 },\n  //   byCode: { ERR_006: 3, ERR_001: 2, ERR_010: 2 }\n  // }\n}\n```\n\n## CLI Usage\n\n```bash\n# Install globally\nnpm install -g @appear.sh/oas-zod-validator\n\n# Validate a spec file\noas-validate api.yaml\n\n# With strict validation options\noas-validate --strict --rate-limits api.json\n\n# Interactive mode with guidance\noas-validate --interactive\n\n# JSON output for CI/CD pipelines\noas-validate --json api.yaml\n```\n\n## Advanced Usage\n\n### Performance Optimization with Caching\n\nCaching is enabled by default and significantly improves performance for repeated validations of the same specification:\n\n```typescript\n// Validate with default caching (enabled)\nconst result = validateOpenAPI(spec);\n\n// Disable caching if needed\nconst resultNoCache = validateOpenAPI(spec, {\n  cache: { enabled: false },\n});\n\n// Configure cache size\nconst resultWithLargeCache = validateOpenAPI(spec, {\n  cache: { maxSize: 1000 },\n});\n\n// Reset the cache manually\nimport { resetCache } from '@appear.sh/oas-zod-validator';\nresetCache();\n\n// Configure the global cache\nimport { configureCache } from '@appear.sh/oas-zod-validator';\nconfigureCache({ maxSize: 2000 });\n```\n\nThe caching system optimizes:\n\n- OpenAPI document validation\n- YAML/JSON parsing\n- Reference resolution\n\nThis is particularly beneficial for:\n\n- Large API specifications\n- CI/CD pipelines with repeated validations\n- Development workflows with incremental changes\n\n### Custom Format Validation\n\n```typescript\n// Define custom format validators\nconst phoneValidator = (value: string) => {\n  return /^\\+[1-9]\\d{1,14}$/.test(value);\n};\n\n// Use in validation\nconst result = validateOpenAPI(spec, {\n  customFormats: {\n    phone: phoneValidator,\n  },\n});\n```\n\n### Combining Multiple Options\n\n```typescript\nconst result = validateOpenAPI(spec, {\n  strict: true,\n  allowFutureOASVersions: true,\n  strictRules: {\n    requireRateLimitHeaders: true,\n  },\n  customFormats: {\n    phone: phoneValidator,\n  },\n});\n```\n\n### Configuration File\n\nCreate `.oas-validate.json` for persistent options:\n\n```json\n{\n  \"strict\": true,\n  \"allowFutureOASVersions\": false,\n  \"requireRateLimitHeaders\": true,\n  \"format\": \"pretty\"\n}\n```\n\n## Documentation\n\n- [Schema Validation Guide](./docs/schemas.md)\n- [Format Support](./docs/formats.md)\n- [Validation Options](./docs/validation.md)\n- [Error Reference](./docs/errors.md)\n- [Examples](./docs/examples/)\n\n## Performance and large specs\n\nFor very large specs (multi‑MB), the validator provides options to reduce CPU and memory while preserving correctness:\n\n- `fastMode`: Enables structural validation and skips heavy checks. Equivalent to enabling `skipExamples` and `skipPatternChecks`.\n- `noLocation`: Skips computing source locations; avoids building ASTs/Document for files (big speedup on large files).\n- `autoFastThresholdBytes`: Auto‑enable fast mode when content size exceeds this threshold. Defaults to ~15 MiB.\n- `maxErrors`: Cap the number of reported issues. Useful to short‑circuit runaway errors in huge inputs.\n- `skipExamples`: Skip validating `example` values.\n- `skipPatternChecks`: Skip expensive regex validations.\n\nCLI flags:\n\n- `--fast`, `--no-location`, `--max-errors <n>`, `--auto-fast-threshold <bytes>`, `--skip-examples`, `--skip-pattern-checks`, `--quiet`.\n\nCaching:\n\n- Validation results, schema parsing and `$ref` targets are cached with a true LRU.\n- Cache keys are compact and stable (hashed document signature + minimal options that affect semantics).\n- Adaptive memory options are supported; see `getValidationCache` for knobs.\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests (uses Vitest)\nnpm test\n\n# Run tests in verbose mode (uses Vitest)\nVERBOSE_INTEGRATION=1 npm test\n\n# Watch mode for development\nnpm run test:watch\n\n# Build\nnpm run build\n```\n\n> Requires Node.js 20+; Node 22+ LTS is recommended (the repo ships an `.nvmrc` pinning Node 22).\n\nThis project uses TypeScript with ESM modules and Vitest for testing. It follows strict coding practices and maintains high test coverage.\n\n<!-- CONTRIBUTING -->\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1.  **Fork & Clone:** Fork the repository and clone it locally.\n2.  **Branch:** Create a new branch for your feature or bug fix.\n3.  **Develop:** Make your code changes. Ensure tests pass (`npm test`).\n4.  **Add a Changeset:** This project uses [Changesets](https://github.com/changesets/changesets) to manage releases and generate changelogs. If your change impacts the package (e.g., bug fix, new feature, performance improvement), you **must** add a changeset file. Run the following command:\n    ```bash\n    npm run changeset\n    ```\n    Follow the prompts:\n    - Select `oas-zod-validator` as the package.\n    - Choose the appropriate SemVer bump level (patch, minor, or major) based on your changes.\n    - Write a concise description of your change. This description will appear in the `CHANGELOG.md`.\n5.  **Commit:** Commit your code changes _and_ the generated markdown file located in the `.changeset/` directory (e.g., `.changeset/sweet-donkeys-cry.md`).\n6.  **Push & PR:** Push your branch and open a Pull Request against the `main` branch.\n\nMaintainers will handle versioning and releases from changeset files on merged PRs. Review and release cadence is light while work is concentrated on ctxpipe.\n\n<!-- LICENSE -->\n\n## License\n\n- MIT © Thomas Peterson + Jakub Riedl @ https://www.appear.sh & https://ctxpipe.ai\n\n<!-- ACKNOWLEDGEMENTS -->\n\n## Core maintainers\n\nActive work is on [ctxpipe-ai/ctxpipe](https://github.com/ctxpipe-ai/ctxpipe).\n\n- X: https://x.com/tom_mkv\n- X: https://x.com/jakubriedl\n\nFor bug reports, feature requests, or contributions, use this repository's [issues](https://github.com/appear-sh/OAS-Zod-Validator/issues). Expect light support.\n","readmeFilename":"README.md"}