Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

vega/ts-json-schema-generator

说明与用途

**项目简介**
vega/ts-json-schema-generator 是一个开源工具,可直接从 TypeScript 源码生成符合 JSON Schema Draft‑07/2020‑12 规范的 JSON Schema。它通过 TypeScript 编译器 API 解析类型信息,自动输出可用于数据校验、API 文档、Mock 数据生成等场景的 schema 文件。

**价值**

  • **统一模型**:一次维护 TypeScript 类型,即可同步得到 JSON Schema,避免手动编写或维护两套模型导致的不一致。
  • **提升效率**:在 CI/CD 流程中自动生成 schema,配合 AJV、Zod 等校验库实现运行时校验,减少人为错误。
  • **生态兼容**:生成的 schema 可直接用于 OpenAPI、GraphQL 代码生成、前端表单生成等常见工具链,提升跨团队协作效率。

**典型接入方式**

  1. **项目依赖**:npm i -D @vega/ts-json-schema-generator(或对应的 Yarn/PNPM 命令)。
  2. **配置文件**:在项目根目录创建 ts-json-schema-generator.json,指定入口文件、要生成的类型以及编译选项,例如:
   {
     "path": "src/**/*.ts",
     "type": "*",
     "skipTypeCheck": false,
     "expose": "all",
     "topRef": true,
     "jsDoc": "extended"
   }
  1. **脚本化生成**:在 package.json 中添加脚本:
   "scripts": {
     "gen:schema": "ts-json-schema-generator -p tsconfig.json -o schema.json"
   }

在 CI 中执行 npm run gen:schema,将生成的 schema.json 交给后续的校验或文档工具。

  1. **增量使用**:如果只需要对部分类型生成 schema,可在代码中使用 /** @jsonSchema */ 注释或在配置里指定 type,实现按需生成,降低构建开销。

**生产可用性**

  • **活跃度**:截至 2026‑07‑02,仓库最近一次提交在当日,拥有 1.7k+ Stars、237 Forks,表明社区活跃且维护及时。
  • **生态兼容**:基于官方 TypeScript 编译器 API,兼容最新的 TS 版本,生成的 schema 完全符合 JSON Schema 标准,可无缝接入 AJV、Fastify、NestJS 等后端框架以及前端表单库。
  • **风险**:许可证为 MIT,商业使用无障碍;暂无已知重大安全漏洞。建议在正式上线前通过内部安全审计确认依赖链的完整性,并在 CI 中加入 schema 生成与校验步骤,以确保生成过程的可重复性。

综上,vega/ts-json-schema-generator 已具备高生产就绪度,适合作为 TypeScript 项目统一数据模型的核心组件,先在小范围(如单个微服务或内部工具)进行 PoC 验证,确认工作流后即可推广到全链路生产环境。

实际用途

vega/ts-json-schema-generator may be useful when its README and activity match a concrete workflow.

限制与审查说明

High for an OSS candidate: recent activity, adoption, and ecosystem signals are strong enough for a serious pilot.

  • 来源: github
  • 语言: TypeScript
  • 记录日期: 2026-09-05T17:32:20.087Z
原始来源