D
dsh-api-contract
v0.1.0 · 1 天前发布
接口契约助手:解析 OpenAPI 3.x(JSON/YAML),生成 TypeScript / Python 类型化客户端,并检测接口升级的破坏性变更
README
dsh-api-contract · 接口契约助手
解析 OpenAPI 3.x(JSON 或 YAML),生成 TypeScript / Python 类型化客户端,并检测两个规范版本之间的破坏性变更。纯 Node 实现,无网络、无外部服务。
提供的工具
| 工具 | 作用 |
|---|---|
| gen_client | 解析规范,生成类型化客户端(TS 基于 fetch / Python 基于 requests) |
| diff_spec | 对比旧版/新版规范,列出破坏性变更与非破坏性变更 |
安装
bash
dsh plugin add dsh-api-contract
安装后在 profile 的 package.json 的 dsh.profile.bundles 中加入 "dsh-api-contract"。
用法示例
根据 openapi.yaml 生成一个 TypeScript 客户端
→ 调用 gen_client(spec="openapi.yaml", lang="typescript", outDir="./src/api")
升级接口前看看有没有破坏性变更
→ 调用 diff_spec(oldSpec="openapi.v1.json", newSpec="openapi.v2.json")
破坏性变更检测项
说明
$ref、内联 []/{}、字面量块 |)。requests(`pip install req版本兼容矩阵
| DSH 版本 | 状态 | 说明 |
|---|---|---|
dsh@0.1.0-rc.6 | ✅ 兼容 | cordis patch ✅ |
dsh@0.1.0 | ✅ 兼容 | 标准 patch ✅ |
dsh@0.2.0 | ⚠️ 待验证 | 待实测(API 可能在变) |
dsh@0.3.0+ | ❓ 未知 | 尚未发布 |
💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正
元数据
- License
- MIT
- npm
- dsh-api-contract
- Repo
- —
- Engines
{}- Weekly DL
- 0
- Monthly DL
- 0
- dsh.bundle
{"bundle":{"patch":"./cordis.patch.yml"}}