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 代码生成、前端表单生成等常见工具链,提升跨团队协作效率。
**典型接入方式**
- **项目依赖**:
npm i -D @vega/ts-json-schema-generator(或对应的 Yarn/PNPM 命令)。 - **配置文件**:在项目根目录创建
ts-json-schema-generator.json,指定入口文件、要生成的类型以及编译选项,例如:
{
"path": "src/**/*.ts",
"type": "*",
"skipTypeCheck": false,
"expose": "all",
"topRef": true,
"jsDoc": "extended"
}- **脚本化生成**:在
package.json中添加脚本:
"scripts": {
"gen:schema": "ts-json-schema-generator -p tsconfig.json -o schema.json"
} 在 CI 中执行 npm run gen:schema,将生成的 schema.json 交给后续的校验或文档工具。
- **增量使用**:如果只需要对部分类型生成 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