Foundation
ADR

Valibot

バリデーションライブラリとしてValibotを採用した理由。

決定

Valibot を採用する。

Zodとの比較

バリデーションライブラリの主要な選択肢はZodとValibotである。

観点ZodValibot
npm週間DL数約5,920万約330万
GitHubスター約42,200約8,500
バンドルサイズ (min+gzip)約58 KB(全体が含まれる)1 KB未満(使用分のみ)
Tree-shaking非対応完全対応
TypeScript型推論同等同等
エコシステム (tRPC, RHF等)対応対応

コミュニティの大きさではZodが圧倒的だが、バンドルサイズではValibotが98%小さい。

Valibotを選んだ理由

バンドルサイズが小さい

Valibotは関数合成方式を採用しており、使用した関数のみがバンドルに含まれる。Zodはメソッドチェーン方式のため、Tree-shakingが効かずライブラリ全体(約58 KB)がバンドルされる。バリデーションはクライアントサイド(フォーム)でも使用するため、バンドルサイズの差が直接パフォーマンスに影響する。

エコシステムが十分に揃っている

tRPC、React Hook Form、Hono等、採用している技術スタックとの統合はすべてサポートされている。コミュニティ規模ではZodに劣るが、実用上の不足はない。

On this page