@cnbcool/cnb-api-generate 2.0.0 → 2.1.0

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.
@@ -1,3 +1,4 @@
1
+ import { printJSON } from './print-json';
1
2
  import { summarizeResponse } from './summary-extractors';
2
3
 
3
4
  /**
@@ -49,7 +50,7 @@ export function isStandardResponse(response: any): boolean {
49
50
  export function formatOutput(response: any, verbose: boolean, summary: boolean, toolKey: string): string {
50
51
  // --verbose 模式:输出完整原始信息
51
52
  if (verbose) {
52
- return JSON.stringify(response, null, 2);
53
+ return printJSON(response, verbose);
53
54
  }
54
55
 
55
56
  // converter 可能返回裸 data(没有标准 {status, data} 结构),直接输出
@@ -57,10 +58,10 @@ export function formatOutput(response: any, verbose: boolean, summary: boolean,
57
58
  if (summary) {
58
59
  const summarized = summarizeResponse(response, toolKey);
59
60
  if (summarized !== null) {
60
- return JSON.stringify(summarized, null, 2);
61
+ return printJSON(summarized);
61
62
  }
62
63
  }
63
- return JSON.stringify(response, null, 2);
64
+ return printJSON(response);
64
65
  }
65
66
 
66
67
  // 精简响应
@@ -74,5 +75,5 @@ export function formatOutput(response: any, verbose: boolean, summary: boolean,
74
75
  }
75
76
  }
76
77
 
77
- return JSON.stringify(compact, null, 2);
78
+ return printJSON(compact);
78
79
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 将数据转换为格式化的 JSON 字符串
3
+ * @param data 要序列化的数据(可以是任意类型)缩进)
4
+ * @param verbose 是否 verbose 模式
5
+ * @returns 格式化的 JSON 字符串,如果序列化失败则返回错误信息的 JSON
6
+ */
7
+ export function printJSON(
8
+ data: Record<string, any> | Array<any>,
9
+ verbose: boolean = false
10
+ ): string {
11
+ return verbose ? JSON.stringify(data, null, 2) : JSON.stringify(data);
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cnbcool/cnb-api-generate",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "main": "./built/index.js",
5
5
  "module": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -12,30 +12,29 @@ description: CNB OpenAPI 交互能力,支持仓库、Issue、PR、流水线、
12
12
  issues 快捷命令:
13
13
  - `<$CNB_CLI_CMD$> issues get` — 获取 Issue 详情
14
14
  - `<$CNB_CLI_CMD$> issues list-comments` — 列出 Issue 评论
15
- - `<$CNB_CLI_CMD$> issues comment --data '{"body":"内容"}'` — 发表 Issue 评论
15
+ - `<$CNB_CLI_CMD$> issues comment --body 内容` — 发表 Issue 评论
16
16
  - `<$CNB_CLI_CMD$> issues close` — 关闭 Issue
17
17
  - `<$CNB_CLI_CMD$> issues open` — 打开 Issue
18
18
  - `<$CNB_CLI_CMD$> issues list-labels` — 列出 Issue 标签
19
- - `<$CNB_CLI_CMD$> issues add-labels --data '{"labels":["标签"]}'` — 添加 Issue 标签
19
+ - `<$CNB_CLI_CMD$> issues add-labels --labels bug --labels feature` — 添加 Issue 标签
20
20
  - `<$CNB_CLI_CMD$> issues list-assignees` — 查看 Issue 处理人
21
- - `<$CNB_CLI_CMD$> issues add-assignees --data '{"assignees":["用户名"]}'` — 添加 Issue 处理人
22
- - `<$CNB_CLI_CMD$> issues upload-file --data '{"file":"本地文件路径"}'` — 上传文件到 Issue
23
- - `<$CNB_CLI_CMD$> issues upload-image --data '{"file":"本地图片路径"}'` — 上传图片到 Issue
21
+ - `<$CNB_CLI_CMD$> issues add-assignees --assignees username` — 添加 Issue 处理人
22
+ - `<$CNB_CLI_CMD$> issues upload-file --file 文件路径` — 上传文件到 Issue
23
+ - `<$CNB_CLI_CMD$> issues upload-image --file 图片路径` — 上传图片到 Issue
24
24
 
25
25
  pulls 快捷命令:
26
26
  - `<$CNB_CLI_CMD$> pulls get` — 获取 PR 详情
27
27
  - `<$CNB_CLI_CMD$> pulls list-files` — 列出 PR 变更文件
28
28
  - `<$CNB_CLI_CMD$> pulls list-commits` — 列出 PR 提交记录
29
29
  - `<$CNB_CLI_CMD$> pulls list-comments` — 列出 PR 评论
30
- - `<$CNB_CLI_CMD$> pulls comment --data '{"body":"内容"}'` — 发表 PR 评论
30
+ - `<$CNB_CLI_CMD$> pulls comment --body 内容` — 发表 PR 评论
31
31
  - `<$CNB_CLI_CMD$> pulls list-labels` — 列出 PR 标签
32
- - `<$CNB_CLI_CMD$> pulls add-labels --data '{"labels":["标签"]}'` — 添加 PR 标签
32
+ - `<$CNB_CLI_CMD$> pulls add-labels --labels ready --labels approved` — 添加 PR 标签
33
33
  - `<$CNB_CLI_CMD$> pulls check-status` — 查看 CI 状态
34
34
  - `<$CNB_CLI_CMD$> pulls list-reviews` — 查看评审列表
35
35
  - `<$CNB_CLI_CMD$> pulls list-assignees` — 查看 PR 处理人
36
- - `<$CNB_CLI_CMD$> pulls add-assignees --data '{"assignees":["用户名"]}'`添加 PR 处理人
37
- - `<$CNB_CLI_CMD$> pulls upload-file --data '{"file":"本地文件路径"}'`上传文件到 PR
38
- - `<$CNB_CLI_CMD$> pulls upload-image --data '{"file":"本地图片路径"}'` — 上传图片到 PR
36
+ - `<$CNB_CLI_CMD$> pulls upload-file --file 文件路径`上传文件到 PR
37
+ - `<$CNB_CLI_CMD$> pulls upload-image --file 图片路径` 上传图片到 PR
39
38
 
40
39
  注意:
41
40
  - **路径参数自动注入**:仓库 slug、Issue/PR 编号优先从环境变量自动获取,无需额外传入任何其他参数