OSS探訪GitHubでログイン

TypeScript型をcompile時に専用validatorへ変換し、runtime validationやserializerを生成する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
5,931
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

Typiaは、TypeScriptの型情報をbuild時に解析し、is・assert・validateなどのruntime functionへ変換するtransformer libraryです。追加schemaを手書きせず、JSON処理、random data、Protocol Buffer、LLM function calling向けschema生成などにも同じ型情報を利用できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

TypeScript型から専用runtime validatorをbuild時に生成する

typia.is<T>()やcreateIs<T>()のような呼び出しをcompile時に解析し、対象型専用のJavaScript validatorへ変換します。runtime reflectionではなく生成済みfunctionを実行する設計です。

出典:[1]

is・assert・validateで検証結果の扱いを選べる

booleanを返すis、不正値でerrorを投げるassert、詳細なvalidation resultを返すvalidateなどが用意され、API境界ごとにerror handlingを選べます。

出典:[1]

同じ型情報からJSON・random・Protobuf・LLM向け機能へ展開する

JSON Schemaや安全なparse/stringify、random generator、Protocol Buffer encode/decode、LLM function calling向けschemaなどをTypeScript型から生成するAPIも提供します。

出典:[1]

向いている用途

schema重複を避けながらruntime検証を高速化したいTypeScript projectに向く

applicationのTypeScript型を正本として、validation用schemaやserializer定義の重複を減らしたいprojectに適します。特に大量のvalidationやserializationを行うbackend・API層で検討しやすい構成です。

出典:[1]

導入前の確認

ttsc/ttsxまたはbundler pluginをbuild chainへ組み込む必要がある

READMEはstock tsc、ts-node、tsxではtransformが動かないと明記しています。CLIではttsc/ttsx、Vite・Next.js・Webpack・Rollup・esbuild等では@ttsc/unpluginを利用するため、既存build pipelineへの変更が必要です。

出典:[1][2]

toolchain versionをTypeScript upgradeと一緒に検証する

15.1.0の公開packageはttsc >=0.19.2をoptional peerとして持ち、同releaseのworkspaceではttsc 0.30系とTypeScript 7.0系を利用しています。compiler更新時はtypia・ttsc・bundler integrationを一組としてCIで確認してください。

出典:[2][3]

参考にした公式資料

  1. [1]Typia v15.1.0 README(2026-10-05)
  2. [2]Typia v15.1.0 package metadata(2026-10-05)
  3. [3]Typia v15.1.0 workspace toolchain catalog(2026-10-05)
  4. [4]Typia v15.1.0 release(2026-10-05)
  5. [5]Typia MIT license(2026-10-05)
編集部からの補足

Typiaは通常のruntime schema libraryではなく、TypeScript compile時に型情報から専用関数を生成するtransformerです。READMEが明記するとおりstock tsc・ts-node・tsxではtransformが適用されないため、ttsc/ttsxまたはbundler向け@ttsc/unpluginをbuild chainへ組み込む必要があります。

3ステップで試す

  1. 1

    Typia 15.1.0と対応toolchainを導入する

    READMEで必須とされるttsc toolchainを、15.1.0 workspaceで使われているversionへ揃えて導入します。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/typia.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact typia@15.1.0 && npm install --save-exact --save-dev ttsc@0.30.4 typescript@7.0.2
  2. 2

    TypeScript型からvalidatorを生成するscriptを作る

    追加schemaを作らず、純粋なTypeScript型からcreateIs<User>()を生成する最小例を用意します。

    mkdir -p src && printf "%s\n" "import typia from 'typia';" "type User = {id: number; name: string};" "const isUser = typia.createIs<User>();" "if (!isUser({id: 1, name: 'Ada'})) process.exit(1);" "if (isUser({id: '1', name: 'Ada'})) process.exit(1);" "console.log('validated');" > src/index.ts
  3. 3

    ttsxでtransformを適用して実行する

    stock tsxではなくREADME指定のttsxを使い、build-time transformされたvalidatorが正しい値だけを通すことを確認します。

    npx ttsx src/index.ts
公式READMEで確認

成長

成長の推移 · 直近30日

5,931 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
19
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • json
  • stringify
  • typescript
  • fast
  • ajv
  • checker
  • generator
  • runtime
  • transform
  • validator
  • type
  • random
Stars
5,931
Forks
226
Watchers
17
Open Issues
2
Contributors
96
所有者種別
User
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?