Upgrade to Pro — share decks privately, control downloads, hide ads and more …

バリデーションライブラリ徹底比較

 バリデーションライブラリ徹底比較

TSKaigi 2025の発表資料です。

TypeScriptにおけるバリデーションライブラリの選定基準と比較について解説します。Zod・Typia・Valibot・ArkType等を取り上げ、型安全性、記述の簡潔さ、パフォーマンス、他ライブラリへの移行のしやすさや依存度などの観点から比較します。また、実際のコード例を交えて実用的な知見を提供します。

Avatar for Yuta Tanaka

Yuta Tanaka

May 26, 2025
Tweet

More Decks by Yuta Tanaka

Other Decks in Programming

Transcript

  1. バンドルサイズの比較 ライブラリ名 バンドルサイズ gzip後 ArkType 153KB 47KB Zod v4 217KB

    42KB Valibot 9.9KB 3.4KB Typia 7.0KB 2.1KB バンドラー: esbuild(minify + gzip) 比較ライブラリ Zod v4.x Valibot v1.1.0 Typia v9.3.0 ArkType v2.1.20 実験方法 1ファイルに同条件のスキーマ定義+バリデーシ ョン関数のみ記述 全てimport * をする 計測方法 各ファイルを esbuild でバンドル・minify さらにgzip圧縮し、ファイルサイズを比較
  2. パフォーマンス比較 オブジェクトのバリデーション 実験環境 OS: macOS Sequoia 15.4 (64-bit) CPU: Apple

    M3 Pro(12コア, 3.5GHz) メモリ: 36GB Node.js: v24.1.0 使用ライブラリ Zod v4 Valibot v1.1.0 Typia v9.3.0 ArkType v2.1.20 ベンチマーク方法 ツール: Benchmark.js 指標: 1秒あたりのバリデーション回数 (ops/sec)
  3. パフォーマンス比較 オブジェクトの配列のバリデーション 実験環境 OS: macOS Sequoia 15.4 (64-bit) CPU: Apple

    M3 Pro(12コア, 3.5GHz) メモリ: 36GB Node.js: v24.1.0 使用ライブラリ Zod v4 Valibot v1.1.0 Typia v9.3.0 ArkType v2.1.20 ベンチマーク方法 ツール: Benchmark.js 指標: 1秒あたりのバリデーション回数 (ops/sec)