czh-api 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,35 +1,54 @@
1
1
  # 更新日志
2
2
 
3
- 所有重要的版本更新都会记录在此文件中。
4
-
5
- ## [1.0.5] - 2026-03-19
6
-
7
- ### 修复
8
- - 修复 FastAPI 场景下返回类型字段被错误降级为 `any` 的问题(如 `items.$ref`、`anyOf`、`oneOf`、`allOf` 组合场景)。
9
- - 修复数组响应与嵌套对象类型在 fallback 生成流程中丢失字段的问题,避免出现仅有 `{ [key: string]: any }` 的空壳接口。
10
- - 修复 `group_ids` 等多层结构类型解析不完整的问题,支持递归解析到更深层级(如 `number[] | null`)。
11
- - 修复类型增强阶段对复杂类型名(数组、联合类型)处理不稳定导致的类型声明异常问题。
12
-
13
- ### 改进
14
- - 增强 fallback 类型生成策略:优先基于 `module.schemas` 还原字段结构,再回退到 `any`,生成结果更可用。
15
- - 增强类型依赖收集能力:从字段类型表达式中提取嵌套引用类型并自动补齐声明。
16
- - 完善 README 模板示例并与当前默认模板保持一致(`api.hbs`、`index.hbs`、`types.hbs`)。
17
-
18
- ## [1.0.4] - 2026-03-19
19
-
20
- ### 修复
21
- - 修复响应最外层为数组(如 `type: array` + `items.$ref`)时类型生成异常的问题,避免出现非法接口声明(如 `export interface Xxx[]`)。
22
- - 修复仅在“数组响应”中被引用的实体类型可能退化为 `{ [key: string]: any }` 的问题,增强该场景下的类型补全稳定性。
23
- - 修复类型增强阶段对 `export interface` 的替换逻辑在存在内联对象字段时可能截断内容的问题,避免生成残留字段到接口外。
24
- - 修复部分 OpenAPI `$ref` 路径在类型编译阶段解析不一致导致的类型降级问题(兼容 `#/components/schemas/*` 场景)。
25
-
26
- ### 改进
27
- - 优化数组响应类型推导策略:当响应为 `$ref` 数组时优先生成 `ItemType[]`,减少中间响应类型噪音。
28
- - 增强类型生成兜底逻辑的类型名合法性校验,避免对泛型/数组等复杂类型名误生成 `interface`。
29
-
30
- ## [1.0.3] - 2026-03-17
31
-
32
- ### 新增
3
+ 所有重要的版本更新都会记录在此文件中。
4
+
5
+ ## [1.0.7] - 2026-05-19
6
+
7
+ ### 修复
8
+ - 修复解析 Swagger 2.0 文档(如 Petstore)时报 `Cannot read properties of undefined (reading 'anyOf')` 的崩溃问题。
9
+ - 修复 Swagger 2.0 query/path 参数缺少 `schema` 属性时,属性值被存为 `undefined` 导致后续遍历异常的问题。
10
+
11
+ ### 改进
12
+ - 兼容 Swagger 2.0 参数格式:当参数无 `schema` 字段时,自动从参数对象的 `type`/`format` 构造 schema,保留类型信息。
13
+ - 在 `extractJsdocParamsFromSchema` 中增加属性空值保护,避免异常 schema 结构导致整个构建流程中断。
14
+
15
+ ## [1.0.6] - 2026-04-14
16
+
17
+ ### 修复
18
+ - 修复部分模块在 schema 编译阶段因嵌套字段 `title` 含中文标点、空值或数字开头而生成非法类型别名的问题(如 `export type = ...`、`export type 12 = ...`)。
19
+ - 修复 `expert/groups`、`expert/customers` 等模块在同步解析时出现 `Declaration or statement expected` / `'{` expected` 报错的问题。
20
+
21
+ ### 改进
22
+ - 在类型编译前新增 schema 预处理:递归移除嵌套 schema `title`,仅保留顶层 schema 名称作为类型名来源,避免无效标识符影响 `json-schema-to-typescript` 生成结果。
23
+
24
+ ## [1.0.5] - 2026-03-19
25
+
26
+ ### 修复
27
+ - 修复 FastAPI 场景下返回类型字段被错误降级为 `any` 的问题(如 `items.$ref`、`anyOf`、`oneOf`、`allOf` 组合场景)。
28
+ - 修复数组响应与嵌套对象类型在 fallback 生成流程中丢失字段的问题,避免出现仅有 `{ [key: string]: any }` 的空壳接口。
29
+ - 修复 `group_ids` 等多层结构类型解析不完整的问题,支持递归解析到更深层级(如 `number[] | null`)。
30
+ - 修复类型增强阶段对复杂类型名(数组、联合类型)处理不稳定导致的类型声明异常问题。
31
+
32
+ ### 改进
33
+ - 增强 fallback 类型生成策略:优先基于 `module.schemas` 还原字段结构,再回退到 `any`,生成结果更可用。
34
+ - 增强类型依赖收集能力:从字段类型表达式中提取嵌套引用类型并自动补齐声明。
35
+ - 完善 README 模板示例并与当前默认模板保持一致(`api.hbs`、`index.hbs`、`types.hbs`)。
36
+
37
+ ## [1.0.4] - 2026-03-19
38
+
39
+ ### 修复
40
+ - 修复响应最外层为数组(如 `type: array` + `items.$ref`)时类型生成异常的问题,避免出现非法接口声明(如 `export interface Xxx[]`)。
41
+ - 修复仅在“数组响应”中被引用的实体类型可能退化为 `{ [key: string]: any }` 的问题,增强该场景下的类型补全稳定性。
42
+ - 修复类型增强阶段对 `export interface` 的替换逻辑在存在内联对象字段时可能截断内容的问题,避免生成残留字段到接口外。
43
+ - 修复部分 OpenAPI `$ref` 路径在类型编译阶段解析不一致导致的类型降级问题(兼容 `#/components/schemas/*` 场景)。
44
+
45
+ ### 改进
46
+ - 优化数组响应类型推导策略:当响应为 `$ref` 数组时优先生成 `ItemType[]`,减少中间响应类型噪音。
47
+ - 增强类型生成兜底逻辑的类型名合法性校验,避免对泛型/数组等复杂类型名误生成 `interface`。
48
+
49
+ ## [1.0.3] - 2026-03-17
50
+
51
+ ### 新增
33
52
  - 添加 `pathPrefixes` 配置项,支持自定义路径前缀分组和二级分包
34
53
  - 支持配置多个路径前缀,每个前缀可指定自定义包名或自动驼峰命名
35
54
  - 自动按路径前缀后的第一级路径进行二级分包