-
Notifications
You must be signed in to change notification settings - Fork 361
Description
In one of my experimentation projects I am using Zod to validate data requested from a 3rd party API. In particular there is one part where I am using z.discriminatedUnion
with a type
field and want to be able to narrow down a second field (say data
) at the call site in the consumers of my library. This works locally in that project.
Running microbundle watch
the object in the generated declaration file (which the other projects rely on) includes the type
field but is missing the other field. Running a regular microbundle
the declaration file includes both type
and the data
field and I can narrow the data
type based on the type
property.
Running microbundle watch --target node
leads to a correctly generated declaration file, running microbundle --target <anything>
has no effect on the declaration output. Additionally, it seems the change is limited to the declaration since the Zod schema for validating the API responses are not stripped from the runtime code.
EDIT: Just tested running tsc --emitDeclarationOnly
directly and that generates okay as well.