UNPKG

auto-request

Version:

通过Yapi JSON Schema生成接口Axios或Taro接口

152 lines (112 loc) 3.02 kB
# 版本更新日志 v2.5.2 ## 🎉 重大改进:使用 Diff 格式展示接口变化 ### 问题 在 v2.5.1 版本中,虽然实现了完整的接口结构对比,但在 snapshots.md 中展示新旧版本的完整 JSON 时: - ❌ 内容太长,难以快速找到变化点 - ❌ 需要手动对比两个完整的 JSON 结构 - ❌ 信息密度低,大部分内容是未改变的 ### 解决方案 **v2.5.2 版本使用 `diff` 库生成类似 `git diff` 的格式**,只展示变化的部分! ### 效果对比 #### ❌ 之前(v2.5.1) 展示完整的新旧 JSON,可能有几百行: ```markdown **旧版本:** ```json { "summary": "获取授权地址", "parameters": [...100行...], "responses": {...200行...} } ``` **新版本:** ```json { "summary": "获取授权地址", "parameters": [...100行...], "responses": {...200行...} } ``` ``` #### ✅ 现在(v2.5.2) 只展示变化的部分,简洁明了: ```markdown ```diff @@ -8,6 +8,13 @@ "type": "string", "required": true }, + { + "name": "redirect_uri", + "in": "query", + "type": "string", + "required": false + } ] ``` ``` ### 主要改进 1. **安装 diff 库** ```bash npm install diff --save ``` 2. **实现 generatePrettyDiff 函数** - 使用 `diff.createPatch` 生成 unified diff - 转换为 markdown 友好的格式 - 只保留必要的上下文 3. **更新 generateComparisonMarkdown** - 使用 diff 格式替代完整 JSON 展示 - 输出到 ```diff 代码块 - VS Code 自动高亮显示 ### 使用效果 现在在 `snapshots.md` 中会看到: ```markdown ### 修改接口详细变化 #### GET /p/oauth/url ```diff @@ -15,6 +15,10 @@ "properties": { "url": { "type": "string" + }, + "state": { + "type": "string" + }, + "expires_in": { + "type": "integer" } } ``` ``` ### 优势 ✅ **简洁** - 只显示变化的部分,不显示未改变的内容 ✅ **直观** - 使用 `+` 和 `-` 清晰标记新增和删除 ✅ **熟悉** - 就像 `git diff` 一样的格式 ✅ **高亮** - VS Code 自动为 diff 代码块添加颜色 ✅ **快速** - 一眼就能看到哪里变了 ### 兼容性 ✅ 完全向后兼容 ✅ 所有测试通过(128 个) ✅ 不影响现有功能 ### 使用方法 在你的 monorepo 项目中: ```bash # 1. 更新到最新版本 cd /path/to/your/monorepo pnpm install --force # 2. 重新运行生成命令 npm run generate:api # 或你的自定义命令 # 3. 查看 snapshots.md # 现在会看到简洁的 diff 格式! ``` ### 文件变更 - `src/core/swagger-comparator.ts` - 新增 generatePrettyDiff 函数 - `package.json` - 新增 diff 依赖 - `docs/DIFF_DISPLAY_EXAMPLE.md` - 更新示例文档 ### 测试结果 ``` Test Suites: 9 passed, 9 total Tests: 128 passed, 128 total ``` --- **升级建议**:强烈推荐升级!diff 格式让接口变化一目了然,大大提升查看体验。