zod: Cannot get error message from safeParse
This should work:
//or process.env
const parsedEnv = envSchema.safeParse(Bun.env);
//@ts-ignore
if(parsedEnv.success === false) { console.error(parsedEnv.error.message); process.exit(1); }
but it doesn’t. Instead i have to do these shenanigans:
const parsedEnv = envSchema.safeParse(Bun.env);
if(parsedEnv.success === false) { console.error(JSON.parse(parsedEnv.error.message)[0].message); process.exit(1); }
About this issue
- Original URL
- State: closed
- Created 8 months ago
- Comments: 17 (1 by maintainers)
I’m seeing the same issue. Here’s my code where I’m seeing it. I changed the variable names for security reasons but, it doesn’t change anything.
VSCode Error for the underlined object:
It works if you do
result.success === false. But!result.successdoesn’t work…This has nothing to do with strict mode.
@amany9000 There’s a quite easy workaround
Same, currenty facing this issue
No it isn’t
when run
% node zod-repro.mjswith: zod@^3.22.4
The issue is resolved already?
@colinhacks @Creative-Difficulty, I’m facing the same issue and the return type for safeParse() is also incorrect.
Same here.
Workaround:
console.error((parsedObject as { error: Error }).error);This is still an issue
I have same problem,
