<story><title>Zod: TypeScript-first schema validation with static type inference</title><url>https://zod.dev/</url></story><parent_chain><item><author>threatofrain</author><text>This is just a link to the front page of possibly the #1 most popular type validation library in the ecosystem? Anyways, ya&amp;#x27;ll might want to check out up-and-coming Valibot, which has a really nice pipe API.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;valibot.dev&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;valibot.dev&lt;/a&gt;</text></item></parent_chain><comment><author>rjknight</author><text>Valibot is really nice, particularly for avoiding bundle size bloat. Because Zod uses a &amp;quot;fluent builder&amp;quot; API, all of Zod&amp;#x27;s functionality is implemented in classes with many methods. Importing something like `z.string` also imports validators to check if the string is a UUID, email address, has a minimum or maximum length, matches a regex, and so on - even if none of those validators are used. Valibot makes these independent functions that are composed using the &amp;quot;pipe&amp;quot; function, which means that only the functions which are actually used need to be included in your JavaScript bundle. Since most apps use only a small percentage of the available validators, the bundle size reduction can be quite significant relative to Zod.</text></comment>
<story><title>Zod: TypeScript-first schema validation with static type inference</title><url>https://zod.dev/</url></story><parent_chain><item><author>threatofrain</author><text>This is just a link to the front page of possibly the #1 most popular type validation library in the ecosystem? Anyways, ya&amp;#x27;ll might want to check out up-and-coming Valibot, which has a really nice pipe API.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;valibot.dev&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;valibot.dev&lt;/a&gt;</text></item></parent_chain><comment><author>crooked-v</author><text>Valibot also has much, much more efficient type inference, which sounds unimportant right up until you have 50 schemas referencing each other and all your Typescript stuff slows to a molasses crawl.</text></comment>