Не используйте Zod
Решил проанализировать свой бандл через webpack-bundle-analyzer. К моему удивлению, существенную часть занимала всеми любимая библиотека для валидации Zod Я уже когда-то слышал о том, что есть библиотека Valibot, которая похожа на Zod, но весит гораздо меньше. Я думал, что это буквально Zod, но переписанный более эффективно. Но оказалось, что Valibot использует другой механизм string в Zod включает в себя все методы валидации: string().min(3).max(30) Это и увеличивает размер бандла. Сравните это с Valibot: pipe(string(), minLength(3), maxLength(30)) Вы импортируете только те методы, которые вам нужны В остальном Valibot и Zod практически идентичны. Зачем же тогда использовать Zod, если Valibot предоставляет все те же возможности, но гораздо эффективней? Переписывать старый проект с Zod на Valibot дело непростое из-за разных механик, но я больше никогда не использую Zod в своих новых проектах