yapi-ts-generator
v1.0.3
Published
CLI plugin to export YApi interfaces to TypeScript files.
Downloads
180
Maintainers
Readme
yapi-ts-generator
English | 简体中文
CLI 插件,结合 yapi-cli 与 yapi-ts-gen 的生成逻辑,把 YApi 中的接口导出为 TypeScript 文件。支持按 host 读取全局配置、可选 httpsAgent、以及基于路径的自定义输出。
安装要求
- Node.js >= 14
- 全局安装:
npm i yapi-ts-generator -g(生成命令ytg)
快速开始
初始化全局配置(存放 host/user/httpsAgent)
ytg init -g # 生成: ~/.yapi-ts-genterator/config.yml (模板来自 template/global.yml)打开文件根据自己的 YApi host 调整。支持:
host: 仅匹配域名(类似 ssh config)user:{ name, password, token }。token不存在时会尝试使用 name/password 登录获取。httpsAgent:{ pfx, passphrase };当项目配置里httpsAgent: true时启用。
在业务仓库初始化项目配置
ytg init -d # 生成: ./.yapi-ts-generator.config.yml (模板来自 template/config.yml)常用字段:
yapiUrl: YApi 导出地址(在 https://your-yapi-domain/project/xxxx/setting 的「生成 ts services」模块获取,带 token 或依赖全局配置自动填充)httpsAgent:true时会在请求中套用对应 host 的 httpsAgentoutputDir/outputFileNames: 生成文件位置与接口/方法文件名isGenerateHandlerFile: 是否生成请求方法文件stripPathPrefixes: 去除接口路径前缀customOutputs: 按路径前缀分文件输出
预检连接
ytg test # 仅尝试拉取 JSON,不写文件生成 TS
ytg create # 按配置生成 ytg create -c # 先清空 outputDir 再生成 ytg create -e path/to/custom.config.yml # 指定项目配置文件查看配置(YAML -> JSON)
ytg config -g # 展示全局配置路径及内容 ytg config -d # 展示项目配置路径及内容帮助与版本
ytg --help ytg --version快速生成(不依赖项目配置文件)
ytg quick-create -u "<yapi_export_url>" -o ./generated -f api.ts # 可选:--request-import "@/utils/request" --strip-path api,v1 --https-agent
模板可扩展
- 包根目录
template/下自带两个模板文件,供ytg init使用:template/global.ymltemplate/config.yml
- 需要新增字段时,直接修改模板文件即可,后续
ytg init会按最新模板生成。
工作原理概要
- 从项目配置读取
yapiUrl,匹配 host 后可自动填充 token / httpsAgent。 - 拉取 YApi JSON,按
customOutputs/默认规则生成 TS,格式化输出。 ytg test只验证拉取链路;ytg create负责实际生成文件。
