fix(deps): upgrade zod to v4 and fix breaking changes (#3461)

* fix(deps): update dependency drizzle-zod to ^0.8.2

* chore: update zod to v4 import

* fix: path is no longer available in transform context

* fix: AnyZodObject does no longer exist

* fix: auth env.ts using wrong createEnv and remove unused file env-validation.ts

* fix: required_error no longer exists on z.string

* fix: zod error map is deprecated and replaced with config

* fix: default requires callback now

* fix: migrate zod resolver for mantine

* fix: remove unused form translation file

* fix: wrong enum type

* fix: record now requires two arguments

* fix: add-confirm-password-refinement type issues

* fix: add missing first record argument for entityStateSchema

* fix: migrate superrefine to check

* fix(deps): upgrade zod-form-data to v3

* fix: migrate superRefine to check for mediaUploadSchema

* fix: authProvidersSchema default is array

* fix: use stringbool instead of custom implementation

* fix: record requires first argument

* fix: migrate superRefine to check for certificate router

* fix: confirm pasword refinement is overwriting types

* fix: email optional not working

* fix: migrate intersection to object converter

* fix: safe parse return value rename

* fix: easier access for min and max number value

* fix: migrate superRefine to check for oldmarr import file

* fix: inference of enum shape for old-import board-size wrong

* fix: errors renamed to issues

* chore: address pull request feedback

* fix: zod form requires object

* fix: inference for use-zod-form not working

* fix: remove unnecessary convertion

* fix(deps): upgrade trpc-to-openapi to v3

* fix: build error

* fix: migrate missing zod imports to v4

* fix: migrate zod records to v4

* fix: missing core package dependency in api module

* fix: unable to convert custom zod schema to openapi schema

* fix(deps): upgrade zod to v4

* chore(renovate): enable zod dependency updates

* test: add simple unit test for convertIntersectionToZodObject

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
This commit is contained in:
Meier Lukas
2025-08-15 20:15:58 +02:00
committed by GitHub
parent b7455d18ed
commit 5c99622fa8
174 changed files with 653 additions and 631 deletions

187
pnpm-lock.yaml generated
View File

@@ -302,8 +302,8 @@ importers:
specifier: ^1.8.1
version: 1.8.1(react@19.1.1)
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -548,6 +548,9 @@ importers:
'@homarr/common':
specifier: workspace:^0.1.0
version: link:../common
'@homarr/core':
specifier: workspace:^0.1.0
version: link:../core
'@homarr/cron-job-api':
specifier: workspace:^0.1.0
version: link:../cron-job-api
@@ -630,11 +633,11 @@ importers:
specifier: 2.2.2
version: 2.2.2
trpc-to-openapi:
specifier: ^2.4.0
version: 2.4.0(@trpc/server@11.4.4(typescript@5.9.2))(zod-openapi@2.19.0(zod@3.25.76))(zod@3.25.76)
specifier: ^3.0.0
version: 3.0.0(@trpc/server@11.4.4(typescript@5.9.2))(zod-openapi@5.3.0(zod@4.0.14))(zod@4.0.14)
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -706,8 +709,8 @@ importers:
specifier: 19.1.1
version: 19.1.1(react@19.1.1)
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -857,11 +860,11 @@ importers:
specifier: 7.13.0
version: 7.13.0
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
zod-validation-error:
specifier: ^3.5.3
version: 3.5.3(zod@3.25.76)
version: 3.5.3(zod@4.0.14)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -883,13 +886,13 @@ importers:
dependencies:
'@t3-oss/env-nextjs':
specifier: ^0.13.8
version: 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@3.25.76)
version: 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.0.14)
ioredis:
specifier: 5.7.0
version: 5.7.0
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -940,8 +943,8 @@ importers:
specifier: 19.1.1
version: 19.1.1
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1130,8 +1133,8 @@ importers:
specifier: ^0.44.4
version: 0.44.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.3)
drizzle-zod:
specifier: ^0.7.1
version: 0.7.1(drizzle-orm@0.44.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.3))(zod@3.25.76)
specifier: ^0.8.2
version: 0.8.2(drizzle-orm@0.44.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.3))(zod@4.0.14)
mysql2:
specifier: 3.14.3
version: 3.14.3
@@ -1179,8 +1182,8 @@ importers:
specifier: ^5.2.5
version: 5.2.5
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1246,9 +1249,12 @@ importers:
'@mantine/form':
specifier: ^8.2.4
version: 8.2.4(react@19.1.1)
mantine-form-zod-resolver:
specifier: ^1.2.1
version: 1.2.1(@mantine/form@8.2.4(react@19.1.1))(zod@4.0.14)
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1296,8 +1302,8 @@ importers:
specifier: 19.1.1
version: 19.1.1
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1449,8 +1455,8 @@ importers:
specifier: ^0.6.2
version: 0.6.2
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1486,8 +1492,8 @@ importers:
specifier: 3.17.0
version: 3.17.0
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1593,8 +1599,8 @@ importers:
specifier: 19.1.1
version: 19.1.1(react@19.1.1)
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1697,11 +1703,11 @@ importers:
specifier: 2.2.2
version: 2.2.2
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
zod-form-data:
specifier: ^2.0.7
version: 2.0.7(zod@3.25.76)
specifier: ^3.0.0
version: 3.0.0(zod@4.0.14)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1728,8 +1734,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../common
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -2127,11 +2133,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../translation
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
zod-form-data:
specifier: ^2.0.7
version: 2.0.7(zod@3.25.76)
specifier: ^3.0.0
version: 3.0.0(zod@4.0.14)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -2286,6 +2292,9 @@ importers:
dayjs:
specifier: ^1.11.13
version: 1.11.13
mantine-form-zod-resolver:
specifier: ^1.2.1
version: 1.2.1(@mantine/form@8.2.4(react@19.1.1))(zod@4.0.14)
mantine-react-table:
specifier: 2.0.0-beta.9
version: 2.0.0-beta.9(@mantine/core@8.2.4(@mantine/hooks@8.2.4(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.4(@mantine/core@8.2.4(@mantine/hooks@8.2.4(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.4(react@19.1.1))(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.4(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -2308,8 +2317,8 @@ importers:
specifier: ^8.23.4
version: 8.23.4
zod:
specifier: ^3.25.76
version: 3.25.76
specifier: ^4.0.14
version: 4.0.14
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -5967,8 +5976,8 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
crossws@0.3.4:
resolution: {integrity: sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw==}
crossws@0.3.5:
resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
crypto-random-string@2.0.0:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
@@ -6374,11 +6383,11 @@ packages:
sqlite3:
optional: true
drizzle-zod@0.7.1:
resolution: {integrity: sha512-nZzALOdz44/AL2U005UlmMqaQ1qe5JfanvLujiTHiiT8+vZJTBFhj3pY4Vk+L6UWyKFfNmLhk602Hn4kCTynKQ==}
drizzle-zod@0.8.2:
resolution: {integrity: sha512-9Do/16OjFFNrQDZgvMtxtDDwKWbFOxUAIwNPKX98SfxrP8H18vhN1BvNXbhelLcdgCE7GEaXDJqBjMExSkhpkA==}
peerDependencies:
drizzle-orm: '>=0.36.0'
zod: '>=3.0.0'
zod: ^3.25.1
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
@@ -8012,6 +8021,13 @@ packages:
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
mantine-form-zod-resolver@1.2.1:
resolution: {integrity: sha512-8Y7jX3ybZEhQeLzkbrzCS9gulnCX7sgjM5bCkRDxQHbmal8V5lLM9yZq583UEme8DuM77x/BJNTrBkYZo+JUFw==}
engines: {node: '>=16.6.0'}
peerDependencies:
'@mantine/form': '>=7.0.0'
zod: '>=3.25.0'
mantine-react-table@2.0.0-beta.9:
resolution: {integrity: sha512-ZdfcwebWaPERoDvAuk43VYcBCzamohARVclnbuepT0PHZ0wRcDPMBR+zgaocL+pFy8EXUGwvWTOKNh25ITpjNQ==}
engines: {node: '>=16'}
@@ -8428,8 +8444,8 @@ packages:
peerDependencies:
webpack: ^5.0.0
node-mock-http@1.0.0:
resolution: {integrity: sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==}
node-mock-http@1.0.2:
resolution: {integrity: sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==}
node-plop@0.26.3:
resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==}
@@ -10213,12 +10229,12 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
trpc-to-openapi@2.4.0:
resolution: {integrity: sha512-B6xrwOC3Ab0q1BWD/QbJzK4OUpCLoT02hAzshSUXEuIZGcJZkMG/OJ4/3gd20dyr8aI+CrFirpWKRIo7JmHbMQ==}
trpc-to-openapi@3.0.0:
resolution: {integrity: sha512-iyG1rmEGzsQeoFn+AcP0fGhDuzh/A7u2MHDUYMAUdaSt72koSG7RJxO9K/7YW9e8vHQcJtVG/Zy+8DvYOr/jWw==}
peerDependencies:
'@trpc/server': ^11.1.0
zod: ^3.23.8
zod-openapi: 4.2.4
zod: ^4.0.0
zod-openapi: ^5.0.1
ts-api-utils@2.1.0:
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
@@ -10990,16 +11006,16 @@ packages:
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
engines: {node: '>= 14'}
zod-form-data@2.0.7:
resolution: {integrity: sha512-O27uzKMx7qc7z51KXER326Fp966jqHGvZX3i18CbvElF/QqVsQQN6Q7BnzepkzeBzTJnU3golibVSagf4dp7RQ==}
zod-form-data@3.0.0:
resolution: {integrity: sha512-jTQbmXQU5wMfI+ERZH6EuATzeD9FEOviPasLL2hCUP+FcLagXLtboUM95PHsSOFseL8Nv91YKlwln3zo1sAS2g==}
peerDependencies:
zod: '>= 3.11.0'
zod: '>= 3.25.0'
zod-openapi@2.19.0:
resolution: {integrity: sha512-OUAAyBDPPwZ9u61i4k/LieXUzP2re8kFjqdNh2AvHjsyi/aRNz9leDAtMGcSoSzUT5xUeQoACJufBI6FzzZyxA==}
engines: {node: '>=16.11'}
zod-openapi@5.3.0:
resolution: {integrity: sha512-hv3DU37kV39v0MEiQ0vcL06NLS9bTHTb7FNtuFk2zhuATsi+UNcNN6y03z7qbI9NdC6LJS+Knk5shOSCUMwsDQ==}
engines: {node: '>=20'}
peerDependencies:
zod: ^3.21.4
zod: ^3.25.74 || ^4.0.0
zod-validation-error@3.5.3:
resolution: {integrity: sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==}
@@ -11007,8 +11023,8 @@ packages:
peerDependencies:
zod: ^3.25.0 || ^4.0.0
zod@3.25.76:
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
zod@4.0.14:
resolution: {integrity: sha512-nGFJTnJN6cM2v9kXL+SOBq3AtjQby3Mv5ySGFof5UGRHrRioSJ5iG680cYNjE/yWk671nROcpPj4hAS8nyLhSw==}
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -13107,19 +13123,19 @@ snapshots:
dependencies:
tslib: 2.8.1
'@t3-oss/env-core@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@3.25.76)':
'@t3-oss/env-core@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.0.14)':
optionalDependencies:
arktype: 2.1.20
typescript: 5.9.2
zod: 3.25.76
zod: 4.0.14
'@t3-oss/env-nextjs@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@3.25.76)':
'@t3-oss/env-nextjs@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.0.14)':
dependencies:
'@t3-oss/env-core': 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@3.25.76)
'@t3-oss/env-core': 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.0.14)
optionalDependencies:
arktype: 2.1.20
typescript: 5.9.2
zod: 3.25.76
zod: 4.0.14
'@tabler/icons-react@3.34.1(react@19.1.1)':
dependencies:
@@ -14921,7 +14937,7 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
crossws@0.3.4:
crossws@0.3.5:
dependencies:
uncrypto: 0.1.3
@@ -15223,10 +15239,10 @@ snapshots:
gel: 2.0.0
mysql2: 3.14.3
drizzle-zod@0.7.1(drizzle-orm@0.44.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.3))(zod@3.25.76):
drizzle-zod@0.8.2(drizzle-orm@0.44.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.3))(zod@4.0.14):
dependencies:
drizzle-orm: 0.44.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.3)
zod: 3.25.76
zod: 4.0.14
dunder-proto@1.0.1:
dependencies:
@@ -16366,11 +16382,11 @@ snapshots:
h3@1.15.1:
dependencies:
cookie-es: 1.2.2
crossws: 0.3.4
crossws: 0.3.5
defu: 6.1.4
destr: 2.0.3
iron-webcrypto: 1.2.1
node-mock-http: 1.0.0
node-mock-http: 1.0.2
radix3: 1.1.2
ufo: 1.6.1
uncrypto: 0.1.3
@@ -17276,6 +17292,11 @@ snapshots:
make-error@1.3.6: {}
mantine-form-zod-resolver@1.2.1(@mantine/form@8.2.4(react@19.1.1))(zod@4.0.14):
dependencies:
'@mantine/form': 8.2.4(react@19.1.1)
zod: 4.0.14
mantine-react-table@2.0.0-beta.9(@mantine/core@8.2.4(@mantine/hooks@8.2.4(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.4(@mantine/core@8.2.4(@mantine/hooks@8.2.4(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.4(react@19.1.1))(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.4(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
'@mantine/core': 8.2.4(@mantine/hooks@8.2.4(react@19.1.1))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -17809,7 +17830,7 @@ snapshots:
loader-utils: 2.0.4
webpack: 5.94.0
node-mock-http@1.0.0: {}
node-mock-http@1.0.2: {}
node-plop@0.26.3:
dependencies:
@@ -19912,14 +19933,14 @@ snapshots:
trough@2.2.0: {}
trpc-to-openapi@2.4.0(@trpc/server@11.4.4(typescript@5.9.2))(zod-openapi@2.19.0(zod@3.25.76))(zod@3.25.76):
trpc-to-openapi@3.0.0(@trpc/server@11.4.4(typescript@5.9.2))(zod-openapi@5.3.0(zod@4.0.14))(zod@4.0.14):
dependencies:
'@trpc/server': 11.4.4(typescript@5.9.2)
co-body: 6.2.0
h3: 1.15.1
openapi3-ts: 4.4.0
zod: 3.25.76
zod-openapi: 2.19.0(zod@3.25.76)
zod: 4.0.14
zod-openapi: 5.3.0(zod@4.0.14)
optionalDependencies:
'@rollup/rollup-linux-x64-gnu': 4.6.1
@@ -20781,19 +20802,19 @@ snapshots:
compress-commons: 6.0.2
readable-stream: 4.5.2
zod-form-data@2.0.7(zod@3.25.76):
zod-form-data@3.0.0(zod@4.0.14):
dependencies:
'@rvf/set-get': 7.0.1
zod: 3.25.76
zod: 4.0.14
zod-openapi@2.19.0(zod@3.25.76):
zod-openapi@5.3.0(zod@4.0.14):
dependencies:
zod: 3.25.76
zod: 4.0.14
zod-validation-error@3.5.3(zod@3.25.76):
zod-validation-error@3.5.3(zod@4.0.14):
dependencies:
zod: 3.25.76
zod: 4.0.14
zod@3.25.76: {}
zod@4.0.14: {}
zwitch@2.0.4: {}