{"_id":"zod-compare","_rev":"14-c32246444afb69d85f6c4190dde0868f","name":"zod-compare","dist-tags":{"latest":"3.2.0"},"versions":{"0.1.1":{"name":"zod-compare","version":"0.1.1","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.1.1","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"f9df9130f077a730f90d96b073e5b87476c31732","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.1.1.tgz","fileCount":13,"integrity":"sha512-wAG7tX1pl4W1fm1NZZXFZruRNGGms5FFp1YMZy7G4FMQYgJz3id9dhIWEKZ/ZQJCrd+ocimj0W6GYIERj3eVRw==","signatures":[{"sig":"MEUCIQCqFSF3qGjfEicAqmmUjrbzFKrh+TTiDMvtvOfzO9r+JQIgOctEHprAfamTfkMOyubq5fBv7bITQDqmjd3zVZeefC0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71827},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/7f394b188dbed8cfeb4812b9ee7235f9/zod-compare-0.1.1.tgz","_integrity":"sha512-wAG7tX1pl4W1fm1NZZXFZruRNGGms5FFp1YMZy7G4FMQYgJz3id9dhIWEKZ/ZQJCrd+ocimj0W6GYIERj3eVRw==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.2.4","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.15.3","devDependencies":{"zod":"^3.22.4","vite":"^5.1.4","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.3.3","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.7.3","@vitest/coverage-v8":"^1.3.1"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.1.1_1708843215509_0.6870915950902934","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"zod-compare","version":"0.1.2","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.1.2","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"8a5137300c4778c7d9880f97f422bf3b06d2462d","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.1.2.tgz","fileCount":14,"integrity":"sha512-Xe4WoC5TTvq3gmsuctZu9K9HfPB+xj2V5jjQDX7v7TLQP6SXGBp2roKxCRd9wPAAwgJF8byzBYU9HXOMBVwJPA==","signatures":[{"sig":"MEYCIQC+GeeEnXdGaH4ed00sUsDxEagLir/f4JpvfPqA15Kx1wIhAJ3jxq0GAb4D1uM4KMnWSqd1P8tVZIMyfQ2HDVlB4Dnn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74226},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/5f124e00b16aea61534b18c74ceed327/zod-compare-0.1.2.tgz","_integrity":"sha512-Xe4WoC5TTvq3gmsuctZu9K9HfPB+xj2V5jjQDX7v7TLQP6SXGBp2roKxCRd9wPAAwgJF8byzBYU9HXOMBVwJPA==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.2.4","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.15.3","devDependencies":{"zod":"^3.22.4","vite":"^5.1.4","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.3.3","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.7.3","@vitest/coverage-v8":"^1.3.1"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.1.2_1708845402568_0.5238900167863065","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"zod-compare","version":"0.1.3","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.1.3","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"bf720929e5f3c9164e08fc72be46a899f975af11","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.1.3.tgz","fileCount":14,"integrity":"sha512-I08DQM+emS/Nctb1ScW43fEiH+h2GE37M9SOOpWsg+9sL6yMhQQJ3kw1pUO5jGE31Js9mtpa9aG5zwetOKI9OA==","signatures":[{"sig":"MEYCIQDuWx5WtZsdnmwgrJ62y3XPEGnCDg4i4+EgwAe/Qa8+6wIhAJeAvofYF5RaBY5j/Eg/QZe+IuN657k88xZ4O+97RZhJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76355},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/0fcb65c262c71342e0424cedd96995cc/zod-compare-0.1.3.tgz","_integrity":"sha512-I08DQM+emS/Nctb1ScW43fEiH+h2GE37M9SOOpWsg+9sL6yMhQQJ3kw1pUO5jGE31Js9mtpa9aG5zwetOKI9OA==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.2.4","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.15.3","devDependencies":{"zod":"^3.22.4","vite":"^5.1.4","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.3.3","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.7.3","@vitest/coverage-v8":"^1.3.1"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.1.3_1710093749978_0.8843530111263034","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"zod-compare","version":"0.1.4","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.1.4","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"5b0af20abe8d0da2d6a1808921ddabebd44f54a2","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.1.4.tgz","fileCount":14,"integrity":"sha512-kGgrfmghtm1aVIaoqGb4j1FxRhOutke3b84X8mkZlJwHK//M/s+7mCbS0zA0JOZYhnZBJ60arzEjOx4PBQbQnw==","signatures":[{"sig":"MEUCIQDVpfU5DHlc5uTbBk9NFBgc/86e1WgfhjSfVsfoA/kFyAIgEX5etxfGeD381v+fB2Dmxuhbo3Uuq4fV+vc5fWK7V9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77386},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/fe3f00d17d4caca6a9516cbe5f8dadce/zod-compare-0.1.4.tgz","_integrity":"sha512-kGgrfmghtm1aVIaoqGb4j1FxRhOutke3b84X8mkZlJwHK//M/s+7mCbS0zA0JOZYhnZBJ60arzEjOx4PBQbQnw==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.5.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.15.3","devDependencies":{"zod":"^3.22.4","vite":"^5.1.4","vitest":"^1.3.1","prettier":"^3.2.5","typescript":"^5.3.3","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.7.3","@vitest/coverage-v8":"^1.3.1"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.1.4_1713574071894_0.06908129999348533","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"zod-compare","version":"0.2.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.2.0","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"31f9ace9863b4179e639e1573441a247421da7aa","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.2.0.tgz","fileCount":16,"integrity":"sha512-5MHSDyqu9rdPUEoIoiRJUeY7Q6c1HvaR2YQsC/HH8xamO2Pz9A/9GKSkd51gGaadeCu3HXrHrXySDXAJUmTYoA==","signatures":[{"sig":"MEYCIQDOyK/Kq9ZJuDGnpLwGAoWB9ZAivo+XUUzbjml6JFZQUwIhAP5C0kBhBHIoxK3F8Bo9BjJsSTpuPts/R6yYZ5Tci+hf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96652},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/e517af1f2d4b47490dd42dc0be0058c4/zod-compare-0.2.0.tgz","_integrity":"sha512-5MHSDyqu9rdPUEoIoiRJUeY7Q6c1HvaR2YQsC/HH8xamO2Pz9A/9GKSkd51gGaadeCu3HXrHrXySDXAJUmTYoA==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.5.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.6","vite":"^5.2.11","vitest":"^1.6.0","prettier":"^3.2.5","typescript":"^5.4.5","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.9.0","@vitest/coverage-v8":"^1.6.0"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.2.0_1715002076090_0.8930065009786079","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"zod-compare","version":"0.3.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.3.0","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"f51b6d49b2ffdfb8b4336b9e38568f1ac12f2946","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.3.0.tgz","fileCount":17,"integrity":"sha512-icNt9odqwi4G8WBg9zeLil2qlA2wZpsqCvraB1p4HRQ6B1V8tai8wzpRi14XY738jA5e73liZ5Lk5wk2WU28wg==","signatures":[{"sig":"MEUCIDRhxznR9cFyN4XCmvKkCjn16KEKgoaXlr97wEax4niJAiEAxT2rtRh0J2RFhDAn2MygDN6FraJSeISzcKp+sKKHuIw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106871},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/0f8904d3bfb55ea3c7ab4f252b7fef2a/zod-compare-0.3.0.tgz","_integrity":"sha512-icNt9odqwi4G8WBg9zeLil2qlA2wZpsqCvraB1p4HRQ6B1V8tai8wzpRi14XY738jA5e73liZ5Lk5wk2WU28wg==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.5.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.6","vite":"^5.2.11","vitest":"^1.6.0","prettier":"^3.2.5","typescript":"^5.4.5","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.9.0","@vitest/coverage-v8":"^1.6.0"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.3.0_1715071327683_0.23684294172877185","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"zod-compare","version":"0.3.1","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@0.3.1","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"7ebd46c3db120543ba78dd3e99704cc14663b212","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-0.3.1.tgz","fileCount":17,"integrity":"sha512-e05e3zgEgDAGGCDSW3Td5aQXNBCEm1MvCyWgRHHLUT3YWAKI2F7aZ4DPXCXDFkCLCvbJbnY2KLxlXssnlOA/Tg==","signatures":[{"sig":"MEUCIQCKHdZkuL9dKSibPNCTj6VK9sUd/NxMSwqb/s3U9HM02gIgbuJ/+XRllBlJRShLqZTA9hmUj/kYyIFL/VtDv9iFMuY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107366},"main":"dist/index.js","type":"module","_from":"file:zod-compare-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/ca272ff145ddcbcf3e27c80a905f9582/zod-compare-0.3.1.tgz","_integrity":"sha512-e05e3zgEgDAGGCDSW3Td5aQXNBCEm1MvCyWgRHHLUT3YWAKI2F7aZ4DPXCXDFkCLCvbJbnY2KLxlXssnlOA/Tg==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.7.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.6","vite":"^5.2.11","vitest":"^1.6.0","prettier":"^3.2.5","typescript":"^5.4.5","@changesets/cli":"^2.27.1","vite-plugin-dts":"^3.9.0","@vitest/coverage-v8":"^1.6.0"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_0.3.1_1720004279587_0.9426492956688064","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"zod-compare","version":"1.0.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@1.0.0","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"c70af78a15ec6ec3431cae0227a6999401bedd86","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-1.0.0.tgz","fileCount":17,"integrity":"sha512-9/Pmr4ofhSL/hU1l5lag5xlxw5Mc/Vybe5cNVhLpi6Z5ZgOU+ZF8NbWKuPs/GLXD/v2a3fOiG/5oDwZzgipheA==","signatures":[{"sig":"MEUCIQC0KqiIp5gY+irNGSD9bjJywJdULdkdYJUMAmRnDciBeAIgD9F6f8ZPkimFlBo9ub8+BkGmYl5SsberX4Cqul+4IBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107388},"main":"dist/index.js","type":"module","_from":"file:zod-compare-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/2e09318849fa7bdc0b83d5fb0607ff94/zod-compare-1.0.0.tgz","_integrity":"sha512-9/Pmr4ofhSL/hU1l5lag5xlxw5Mc/Vybe5cNVhLpi6Z5ZgOU+ZF8NbWKuPs/GLXD/v2a3fOiG/5oDwZzgipheA==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.8.2","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.6","vite":"^5.2.11","vitest":"^2.0.1","prettier":"^3.2.5","typescript":"^5.4.5","@changesets/cli":"^2.27.1","vite-plugin-dts":"^4.0.2","@vitest/coverage-v8":"^2.0.1","@changesets/changelog-github":"^0.5.0"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_1.0.0_1728147056868_0.12488328355401701","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"zod-compare","version":"1.1.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@1.1.0","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"f6beb3f32e37a57b5f22cf48c7c9b6d4284b95db","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-1.1.0.tgz","fileCount":23,"integrity":"sha512-3x3RjJqviuPoCKllzsSNVFzmDQy1DMVBI3sJF1FLwuipdZthjc3LwdUd0wB8iqtGQiG6CltFOI9RDwi+vaoflA==","signatures":[{"sig":"MEUCIQCo/juXXwvsr1jjDSe8EXrdJ1IRKvdtnQecNhdDPTeNEgIgHzL8+dzLuaaM33HoTJxzix8OOiD7LBVUBfkyf+5qA10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108716},"main":"dist/index.js","type":"module","_from":"file:zod-compare-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"vitest","build":"tsc && vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"lawvs","actor":{"name":"lawvs","type":"user","email":"litusq@gmail.com"},"email":"litusq@gmail.com"},"prettier":{},"_resolved":"/tmp/449b3d593b094b6a60bca9bc637e27d3/zod-compare-1.1.0.tgz","_integrity":"sha512-3x3RjJqviuPoCKllzsSNVFzmDQy1DMVBI3sJF1FLwuipdZthjc3LwdUd0wB8iqtGQiG6CltFOI9RDwi+vaoflA==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"10.8.2","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.67","vite":"^6.0.3","vitest":"^3.2.4","prettier":"^3.4.2","typescript":"^5.7.2","@changesets/cli":"^2.29.5","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^3.2.4","@changesets/changelog-github":"^0.5.0"},"peerDependencies":{"zod":"^3.22.4"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_1.1.0_1750523213539_0.6371541359498418","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"zod-compare","version":"2.0.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@2.0.0","maintainers":[{"name":"lawvs","email":"litusq@gmail.com"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"6f73847f87e561811975fe64c85792c0fe0794ec","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-2.0.0.tgz","fileCount":72,"integrity":"sha512-LGqcPk9ZiU4q355YI2LEPoFVD2UJSX5zmW4OfTdO/MBmRCIY68JxAKqyUgeLJ+37gS4jWODqJjoo9UCuWuW1rQ==","signatures":[{"sig":"MEYCIQCbf4IIn8MKdMLkRNA7UcyyEhF3KbBmqIo0PA/wuq/IrgIhAKIUHXlYflL53G2as3NJqllN6DoQp8QU48QZv0hikW/t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":906486},"main":"./dist/index.js","type":"module","_from":"file:zod-compare-2.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./zod3":{"types":"./dist/zod3/index.d.ts","import":"./dist/zod3.js","require":"./dist/zod3.cjs"},"./zod4":{"types":"./dist/zod4/index.d.ts","import":"./dist/zod4.js","require":"./dist/zod4.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest","build":"vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:edd9f2a5-4885-49f5-96c9-a6b9748a73b8"}},"prettier":{},"_resolved":"/tmp/37174ffd91972bece7cd3d519738e3a6/zod-compare-2.0.0.tgz","_integrity":"sha512-LGqcPk9ZiU4q355YI2LEPoFVD2UJSX5zmW4OfTdO/MBmRCIY68JxAKqyUgeLJ+37gS4jWODqJjoo9UCuWuW1rQ==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"11.6.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","vite":"^7.1.7","vitest":"^3.2.4","prettier":"^3.4.2","typescript":"^5.9.2","@changesets/cli":"^2.29.7","vite-plugin-dts":"^4.5.4","@vitest/coverage-v8":"^3.2.4","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_2.0.0_1758645788790_0.1208465323272565","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"zod-compare","version":"2.0.1","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@2.0.1","maintainers":[{"name":"lawvs","email":"npm@waterwater.moe"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"bcbe236e37027bcb37575257862ee86558885df5","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-2.0.1.tgz","fileCount":73,"integrity":"sha512-GxTK5q1UOi/asf5Sz71C0haKl5KkHao5MjHbTcvuDQP9yqtv8Jb8ubbvaA9xRwzk6gWxhIFpWEQHFQSKcK/tqA==","signatures":[{"sig":"MEUCICbDqA74kldnRUXvrfH6WaH+/TnKAGczwleu39c7vHObAiEAhoxT7CRz4W9KyImY2hP2QpExVGMbs7YH7DZlipUWFeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":916919},"main":"./dist/index.js","type":"module","_from":"file:zod-compare-2.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./zod3":{"types":"./dist/zod3/index.d.ts","import":"./dist/zod3.js","require":"./dist/zod3.cjs"},"./zod4":{"types":"./dist/zod4/index.d.ts","import":"./dist/zod4.js","require":"./dist/zod4.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest","build":"vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write .","playground":"vite playground","build:playground":"vite build -c vite.config.playground.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:edd9f2a5-4885-49f5-96c9-a6b9748a73b8"}},"prettier":{},"_resolved":"/tmp/224f9ba18bec78f9435b81dd6ab7b2f5/zod-compare-2.0.1.tgz","_integrity":"sha512-GxTK5q1UOi/asf5Sz71C0haKl5KkHao5MjHbTcvuDQP9yqtv8Jb8ubbvaA9xRwzk6gWxhIFpWEQHFQSKcK/tqA==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"11.7.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","vite":"^7.1.7","vitest":"^3.2.4","prettier":"^3.4.2","typescript":"^5.9.2","@changesets/cli":"^2.29.7","vite-plugin-dts":"^4.5.4","@vitest/coverage-v8":"^3.2.4","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_2.0.1_1768155774173_0.6964013844381218","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"zod-compare","version":"3.0.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@3.0.0","maintainers":[{"name":"lawvs","email":"npm@waterwater.moe"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"531ac1c22e941dd98af4db9926194abfe0c6af03","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-3.0.0.tgz","fileCount":34,"integrity":"sha512-KpA6yvyp4EfcCeBf6o0bbpiShHwxOdcEuHOqkGC+2gDzEXI7UoitPrf+d8lU+CaFoaVuqEsxUeIWbtN/hfmvEQ==","signatures":[{"sig":"MEUCIFx9dTjZsiyxhgEOfSbTJ1hbUdIl0h7f9smIbs5JFWkfAiEAloSdnfbOEHckuAtGaaQtcws31PRSWC7Sqf/e7/DkbEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":213220},"main":"./dist/index.js","type":"module","_from":"file:zod-compare-3.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest","build":"vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write .","playground":"vite playground","build:playground":"vite build -c vite.config.playground.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:edd9f2a5-4885-49f5-96c9-a6b9748a73b8"}},"prettier":{},"_resolved":"/tmp/548122bb9fccd442ca7ebc44d0c67e39/zod-compare-3.0.0.tgz","_integrity":"sha512-KpA6yvyp4EfcCeBf6o0bbpiShHwxOdcEuHOqkGC+2gDzEXI7UoitPrf+d8lU+CaFoaVuqEsxUeIWbtN/hfmvEQ==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"11.10.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","vite":"^7.1.7","vitest":"^3.2.4","prettier":"^3.4.2","typescript":"^5.9.2","@changesets/cli":"^2.29.7","vite-plugin-dts":"^4.5.4","@vitest/coverage-v8":"^3.2.4","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_3.0.0_1771058117802_0.28290841910685716","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"zod-compare","version":"3.1.0","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","_id":"zod-compare@3.1.0","maintainers":[{"name":"lawvs","email":"npm@waterwater.moe"}],"homepage":"https://github.com/lawvs/zod-compare#readme","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"dist":{"shasum":"5a75121c905f949b807b8a307c4563f2caa7f87b","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-3.1.0.tgz","fileCount":34,"integrity":"sha512-w4uEGPNjNvI3jSDZBE2r/WW1yq09UFjF19riC9RjNmmdm1HVH/hnFZRW4VczGUllDKwngRHA94Rr6XwdGhWmuQ==","signatures":[{"sig":"MEUCIQDAsj5bJKxPqXHAY7tJCYYeBcfE7qsB1Tc6RTi22tx2vQIgfueceUxy6iXIxDByW2yg+eoE2LKIxf0Wfhy9vrAQELo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268608},"main":"./dist/index.js","type":"module","_from":"file:zod-compare-3.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest","build":"vite build","format":"prettier --check .","release":"pnpm run build && changeset publish","changeset":"changeset","typeCheck":"tsc --noEmit","format:fix":"prettier --write .","playground":"vite playground","build:playground":"vite build -c vite.config.playground.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:edd9f2a5-4885-49f5-96c9-a6b9748a73b8"}},"prettier":{},"_resolved":"/tmp/8986ed26802d224c13ed1ed00db5b7e0/zod-compare-3.1.0.tgz","_integrity":"sha512-w4uEGPNjNvI3jSDZBE2r/WW1yq09UFjF19riC9RjNmmdm1HVH/hnFZRW4VczGUllDKwngRHA94Rr6XwdGhWmuQ==","repository":{"url":"git+https://github.com/lawvs/zod-compare.git","type":"git"},"_npmVersion":"11.16.0","description":"Compare two Zod schemas recursively.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","vite":"^8.0.3","vitest":"^3.2.4","prettier":"^3.4.2","typescript":"^6.0.2","@changesets/cli":"^2.29.7","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^3.2.4","@changesets/changelog-github":"^0.7.0"},"peerDependencies":{"zod":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zod-compare_3.1.0_1780994593996_0.0720843548034309","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"zod-compare","version":"3.2.0","description":"Compare two Zod schemas recursively.","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"repository":{"type":"git","url":"git+https://github.com/lawvs/zod-compare.git"},"license":"MIT","author":{"name":"whitewater","email":"me@waterwater.moe"},"sideEffects":false,"type":"module","main":"./dist/index.js","devDependencies":{"@changesets/changelog-github":"^0.7.0","@changesets/cli":"^2.29.7","@microsoft/api-extractor":"^7.58.9","@vitest/coverage-v8":"^3.2.4","prettier":"^3.4.2","typescript":"^6.0.2","unplugin-dts":"^1.0.2","vite":"^8.0.3","vitest":"^3.2.4","zod":"^4.4.3"},"peerDependencies":{"zod":"^4.0.0"},"engines":{"node":">=24"},"prettier":{},"publishConfig":{"access":"public"},"scripts":{"build":"vite build","format":"prettier --check .","format:fix":"prettier --write .","typeCheck":"tsc --noEmit","test":"vitest","playground":"vite playground","build:playground":"vite build -c vite.config.playground.ts","changeset":"changeset","release":"pnpm run build && changeset publish"},"module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"_id":"zod-compare@3.2.0","bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"homepage":"https://github.com/lawvs/zod-compare#readme","_integrity":"sha512-vTbLMRbT0s9Vtu4TtLS2m3CT5P7GRt718HoxUpNNQhsGlenp+6P6zUeseSmhWeUtOxNXenGpb2/2BEo+Qd5xOw==","_resolved":"/tmp/dd64ec595ab9c60a6422b081edba0496/zod-compare-3.2.0.tgz","_from":"file:zod-compare-3.2.0.tgz","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-vTbLMRbT0s9Vtu4TtLS2m3CT5P7GRt718HoxUpNNQhsGlenp+6P6zUeseSmhWeUtOxNXenGpb2/2BEo+Qd5xOw==","shasum":"424fc45d5f6876d3dbcc04f6d4f44759915377f8","tarball":"https://registry.npmjs.org/zod-compare/-/zod-compare-3.2.0.tgz","fileCount":28,"unpackedSize":276648,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zod-compare@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA9f8UGXh4zTk/XbZd9imhzKrGs9HMzb6NkKfG0UoEkoAiEA3FG/jmej3770TVCiR5TAACQgD2N5PpFhv3netQ5k/5s="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:edd9f2a5-4885-49f5-96c9-a6b9748a73b8"}},"directories":{},"maintainers":[{"name":"lawvs","email":"npm@waterwater.moe"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zod-compare_3.2.0_1781505449335_0.9841151378036961"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-25T06:40:15.426Z","modified":"2026-06-15T06:37:29.759Z","0.1.1":"2024-02-25T06:40:15.675Z","0.1.2":"2024-02-25T07:16:42.732Z","0.1.3":"2024-03-10T18:02:30.156Z","0.1.4":"2024-04-20T00:47:52.088Z","0.2.0":"2024-05-06T13:27:56.246Z","0.3.0":"2024-05-07T08:42:07.852Z","0.3.1":"2024-07-03T10:57:59.727Z","1.0.0":"2024-10-05T16:50:57.062Z","1.1.0":"2025-06-21T16:26:53.715Z","2.0.0":"2025-09-23T16:43:09.027Z","2.0.1":"2026-01-11T18:22:54.378Z","3.0.0":"2026-02-14T08:35:17.963Z","3.1.0":"2026-06-09T08:43:14.128Z","3.2.0":"2026-06-15T06:37:29.477Z"},"bugs":{"url":"https://github.com/lawvs/zod-compare/issues"},"author":{"name":"whitewater","email":"me@waterwater.moe"},"license":"MIT","homepage":"https://github.com/lawvs/zod-compare#readme","keywords":["zod","compare","comparator","schema","type","typescript","validation"],"repository":{"type":"git","url":"git+https://github.com/lawvs/zod-compare.git"},"description":"Compare two Zod schemas recursively.","maintainers":[{"name":"lawvs","email":"npm@waterwater.moe"}],"readme":"# ⚖️ Zod Compare\n\n[![Build](https://github.com/lawvs/zod-compare/actions/workflows/build.yml/badge.svg)](https://github.com/lawvs/zod-compare/actions/workflows/build.yml)\n[![npm](https://img.shields.io/npm/v/zod-compare)](https://www.npmjs.com/package/zod-compare)\n\nCompare two [Zod](https://zod.dev/) schemas recursively.\n\n`zod-compare` provides functions to compare Zod schemas, allowing you to determine whether two schemas are the same or compatible. Supports Zod v4.\n\n## Installation\n\n```bash\n# npm\nnpm install zod zod-compare\n\n# yarn\nyarn add zod zod-compare\n\n# pnpm\npnpm add zod zod-compare\n```\n\n## Usage\n\n```ts\nimport { z } from \"zod\";\nimport { isSameType, isCompatibleType } from \"zod-compare\";\n\nisSameType(z.string(), z.string()); // true\nisSameType(z.string(), z.number()); // false\nisSameType(\n  z.object({ name: z.string(), other: z.number() }),\n  z.object({ name: z.string() }),\n);\n// false\n\nisCompatibleType(\n  z.object({ name: z.string() }),\n  z.object({ name: z.string(), other: z.number() }),\n);\n// true\n```\n\nUse the top-level helpers to compare schemas:\n\n- `isSameType(a, b)`: true only if the two schemas have the same shape and types (ignores refinements like min/max/length, transforms, etc.)\n- `isCompatibleType(expectedType, providedType)`: true if every value described by `providedType` is assignable to `expectedType` (`providedType <= expectedType`)\n\n## Advanced Usage\n\n### Custom Rules\n\nYou can use `createCompareFn` to create a custom comparison function.\n\n```ts\nimport { z } from \"zod\";\nimport {\n  createCompareFn,\n  isSameTypePresetRules,\n  defineCompareRule,\n} from \"zod-compare\";\n\nconst customRule = defineCompareRule(\n  \"compare description\",\n  (a, b, next, recheck, context) => {\n    // In Zod 4, .describe() stores metadata via z.globalRegistry\n    const metaA = z.globalRegistry.get(a);\n    const metaB = z.globalRegistry.get(b);\n    if (metaA?.description !== metaB?.description) {\n      return false;\n    }\n    return next();\n  },\n);\n\nconst strictIsSameType = createCompareFn([\n  customRule,\n  ...isSameTypePresetRules,\n]);\n```\n\n## Debugging\n\nYou can pass a `context` object to the comparison functions to get more information about the comparison process.\n\n```ts\nconst context = {\n  stacks: [],\n};\nisSameType(\n  z.object({ name: z.string(), other: z.number() }),\n  z.object({ name: z.string(), other: z.string() }),\n  context,\n);\n\n// type stacks = { name: string; target: [a: ZodType, b: ZodType]; result: boolean; }[]\nconsole.log(context.stacks);\n```\n\n## Caveats\n\nThe default rules `isSameTypePresetRules` will disregard any custom validations like `min`, `max`, `length`, among others. Additionally, these default rules cannot be utilized for comparing `ZodLazy`, `ZodEffects`, `ZodDefault`, `ZodCatch`, `ZodPipeline`, `ZodTransformer`, `ZodError` types.\n\nIf there is a necessity to compare these types, custom rules can be established using `defineCompareRule`.\n\n## API\n\n### `isSameType`\n\nCompares two Zod schemas and returns `true` if they are the same.\n\n```ts\nimport { isSameType } from \"zod-compare\";\n\ntype isSameType: (a: $ZodType, b: $ZodType, context?: CompareContext) => boolean;\n```\n\n### `createCompareFn`\n\nCreates a custom comparison function.\n\n```ts\nimport { createCompareFn, defineCompareRule } from \"zod-compare\";\n\ntype defineCompareRule = (name: string, compare: CompareFn) => CompareRule;\n\ntype createCompareFn = (rules: CompareRule[]) => typeof isSameType;\n\n// Example\nconst isSameType = createCompareFn(isSameTypePresetRules);\nconst isCompatibleType = createCompareFn(isCompatibleTypePresetRules);\n```\n\n### `isCompatibleType` (Experimental API)\n\nCompares two Zod schemas and returns `true` if they are compatible.\n\n```ts\nimport { isCompatibleType } from \"zod-compare\";\n// The `expectedType` should be the wider/supertype schema.\n// The `providedType` should be the narrower/subtype schema.\n// Returns true when providedType <= expectedType.\ntype isCompatibleType: (\n  expectedType: $ZodType,\n  providedType: $ZodType,\n  context?: CompareContext,\n) => boolean;\n```\n\nIn subtype-order terminology, `expectedType` is the higher type and\n`providedType` is the lower type. For example,\n`z.object({ name, other }) <= z.object({ name })`, so the wider `{ name }`\nschema can be used as the expected type.\n\nA useful TypeScript type-check-only mental model is:\n\n```ts\ndeclare const provided: z.infer<typeof providedType>;\ntype Expected = z.infer<typeof expectedType>;\n\nconst expected: Expected = provided;\n```\n\nIn a Vitest type test, the same relationship can be written as:\n\n```ts\nexpectTypeOf<z.infer<typeof providedType>>().toExtend<\n  z.infer<typeof expectedType>\n>();\n```\n\nIf TypeScript accepts this assignment, `isCompatibleType(expectedType,\nprovidedType)` should return `true` for the supported Zod schema kinds.\n\n`isCompatibleType` can only compare schema information available at runtime.\nZod 4 brands are type-only, so branded schemas compare like their underlying\nruntime schema.\n\n### Preset Rules\n\nYou can use the preset rules `isSameTypePresetRules` and `isCompatibleTypePresetRules` to create custom comparison functions.\n\n```ts\nimport { isSameTypePresetRules, isCompatibleTypePresetRules } from \"zod-compare\";\n\ntype isSameTypePresetRules: CompareRule[];\ntype isCompatibleTypePresetRules: CompareRule[];\n\n// Example\nconst yourIsSameType = createCompareFn([customRule, ...isSameTypePresetRules]);\n```\n\n### Types\n\n```ts\ntype CompareContext = {\n  stacks?: {\n    name: string;\n    target: [a: $ZodTypes, b: $ZodTypes];\n    result: boolean;\n  }[];\n} & Record<string, unknown>;\n\ntype CompareFn = (\n  a: $ZodTypes,\n  b: $ZodTypes,\n  next: () => boolean,\n  recheck: (a: $ZodType, b: $ZodType) => boolean,\n  context: CompareContext,\n) => boolean;\n\ntype CompareRule = {\n  name: string;\n  compare: CompareFn;\n};\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}