-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeError: Not assignable to parameter of type ZodType<any, any, any> #2663
Comments
I am having the same issue. I think it happened because I updated zod from 3.21.4 to 3.22.1 |
@ernstoarllano Are you using a monorepo by chance? If so, are the versions for zod in all of your |
@masonbrothers I am using a monorepo and it appears |
Thanks! I needed |
Thanks I got exactly the same error in |
I am having the same issue. Downgrading to v3.21.4 resolved it. |
I think a solution for zod@3.22.1 was just patched yesterday in It has not been pushed to npm yet. |
* chore(deps): update * chore: remove dependabot
zod@3.21.4 worked for me |
The maintainer just released it. But I can confirm it does not fix the issue :( Same issue with zod@3.22.2 and @hookform/resolvers@3.3.0 |
In the context of a monorepo my team was able to fix it by adding a
|
zod@3.21.4 and @hookform/resolvers: ^3.3.0 worked for me |
I don't understand why this fixes it? Although I have not tried your suggestion, all the related package versions in my monorepo have the same version. So this should not be needed, right? |
I'm still having this issue on v3.21.0 -> 3.22.1. I'm using Zod with VeeValidate in Nuxt. Example below: const passwordSchema = z.object({
currentPassword: z.string(),
newPassword: z.string().min(8),
confirmNewPassword: z.string().min(8),
});
const validationSchema = toTypedSchema(passwordSchema); On the last line, I get a TS error on
I didn't have this error until recently, so I wonder if it is an issue with a related dependency? |
this is working for me as well, version 3.22.2 of zod was not. Thanks! 🎉 |
Same here |
Same, but why is it broken on the latest version |
Same issue, currently using zod@3.22.2 and @hookform/resolvers: ^3.3.1 |
Same issue I am now using zod@3.21.4 and @hookform/resolvers: ^3.1.0 |
Developer Community Rocks :)
|
Same, but why is it broken on the latest version workarround is downgrade to zod@3.21.4 thnks guys |
this is what worked here, after restarting vscode, thx |
For more information, see: colinhacks/zod#2663
This worked for me pnpm store prune
pnpm install |
I just remove the node modules and the lock file. That worked for me too |
This worked for me but wasn't immediately apparent; I had to |
Zod v3.22.3 is out and I now get no linting errors 😊 Thanks! |
I've upgraded to Zod 3.22.3 and it seems to have fixed the issue (or at least changed the error message). With the example above, I now get the message |
In case anyone else is being daft like me - I encountered this error in my monorepo (turborepo). I had forgotten to install zod to one of the places I was using it. |
Updating to the latest zod 3.22.4 fixed it for me 👍 |
In my case this is my code const FormSchema = z.object({
firstname: z.string({
required_error: "Nombre es requerido",
}).min(3, {
message: "Nombre debe tener al menos 3 letras",
}),
lastname: z.string({
required_error: "Apellidos son requeridos",
}).min(3, {
message: "Nombre debe tener al menos 3 letras",
}),
cc: z.coerce.number({
required_error: "Documento es requerido",
invalid_type_error: "El documento debe ser numérico",
}).int().gte(10000000, {
message: "Cedula debe tener al menos 8 digitos",
}).lte(9999999999, {
message: "Cedula no puede tener más de 10 digitos",
}),
phone: z.coerce.number({
required_error: "Teléfono requerido",
invalid_type_error: "El teléfono debe ser numérico",
}).int().gte(3000000000).lte(3299999999),
contactPhone: z.coerce.number({
required_error: "Teléfono requerido",
invalid_type_error: "El teléfono debe ser numérico",
}).int().gte(3000000000).lte(3299999999),
contactName: z.string({
required_error: "Nombre contacto es requerido",
}).min(3, {
message: "Nombre debe tener al menos 3 letras",
}),
rh: z.string({
required_error: "Por favor seleccione un grupo sanguíneo",
}).min(2).max(3),
birthdate: z.date({
required_error: "Fecha de nacimiento es requerida",
}),
bio: z
.string()
.min(10, {
message: "Información debe tener al menos 10 carácteres",
})
.max(160, {
message: "Información no debe tener más de 160 carácteres",
}),
eps: z.string({
required_error: "Por favor seleccione una EPS",
}),
});
const form = useForm<z.infer<typeof FormSchema>>({
resolver: zodResolver(FormSchema),
}) I'm working with Zod 3.22.4, but still have the issue Argument of type 'ZodObject<{ firstname: ZodString; lastname: ZodString; cc: ZodNumber; phone: ZodNumber; contactPhone: ZodNumber; contactName: ZodString; rh: ZodString; birthdate: ZodDate; bio: ZodString; eps: ZodString; }, "strip", ZodTypeAny, { ...; }, { ...; }>' is not assignable to parameter of type 'ZodType<any, any, any>'.
The types of 'refine(...)._def.typeName' are incompatible between these types.
Type 'import("C:/Users/hemag/OneDrive/Documents/GitHub/volt-riders/node_modules/.pnpm/zod@3.22.4/node_modules/zod/lib/types").ZodFirstPartyTypeKind.ZodEffects' is not assignable to type 'Zod.ZodFirstPartyTypeKind.ZodEffects'.
Property 'ZodReadonly' is missing in type 'Zod.ZodFirstPartyTypeKind'.ts(2345) |
This definitely works even with latest packages version:
|
Downgrade to EDIT: I had a library using |
Downgrading to 3.21.4 works for me, 3.22.4 does not. |
3.22.4 not working for me as well |
thanks, this works |
My case was in a monorepo with zod types for an express API used with Sveltekit-Superforms where the package wouldn't have context on the zod schemas as they'd be any, but the v3.21.4 version throughout all packages worked wonders 🎉 |
Fixes this issue: colinhacks/zod#2663
"zod": "link:@hookform/resolvers/zod" This works for me. |
works thanks 🥲 |
This happened to me with v3.24.0 and v3.24.1. I was able to avoid it by reverting to v3.23.8. |
I've created this
schema
to use inReact Hook Form
, but I'm getting an error that I'm not sure how to fix.The error coming back is:
The text was updated successfully, but these errors were encountered: