snapshot-checker 0.1.7 → 0.2.2

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.
Files changed (72) hide show
  1. package/README.md +55 -36
  2. package/dist/commands/context_demo.d.ts +1 -1
  3. package/dist/commands/context_demo.d.ts.map +1 -1
  4. package/dist/commands/context_demo.js +19 -14
  5. package/dist/commands/context_demo.js.map +1 -1
  6. package/dist/commands/forkall.d.ts +1 -1
  7. package/dist/commands/forkall.d.ts.map +1 -1
  8. package/dist/commands/forkall.js +78 -62
  9. package/dist/commands/forkall.js.map +1 -1
  10. package/dist/commands/mac-example.d.ts +1 -1
  11. package/dist/commands/mac-example.js +9 -9
  12. package/dist/commands/report.d.ts +1 -1
  13. package/dist/commands/report.d.ts.map +1 -1
  14. package/dist/commands/report.js +63 -46
  15. package/dist/commands/report.js.map +1 -1
  16. package/dist/commands/timeout_demo.d.ts +1 -1
  17. package/dist/commands/timeout_demo.d.ts.map +1 -1
  18. package/dist/commands/timeout_demo.js +8 -8
  19. package/dist/commands/timeout_demo.js.map +1 -1
  20. package/dist/src/cli.js +59 -56
  21. package/dist/src/cli.js.map +1 -1
  22. package/dist/src/executor.d.ts +4 -4
  23. package/dist/src/executor.js +2 -2
  24. package/dist/src/groupSpecs.d.ts +1 -1
  25. package/dist/src/groupSpecs.d.ts.map +1 -1
  26. package/dist/src/groupSpecs.js +5 -2
  27. package/dist/src/groupSpecs.js.map +1 -1
  28. package/dist/src/index.d.ts +5 -5
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +4 -4
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/lib/common_groups.d.ts +2 -2
  33. package/dist/src/lib/common_groups.d.ts.map +1 -1
  34. package/dist/src/lib/common_groups.js +33 -33
  35. package/dist/src/lib/common_groups.js.map +1 -1
  36. package/dist/src/lib/programmatic.d.ts +2 -2
  37. package/dist/src/lib/programmatic.d.ts.map +1 -1
  38. package/dist/src/lib/programmatic.js +5 -4
  39. package/dist/src/lib/programmatic.js.map +1 -1
  40. package/dist/src/lib/trace_formatter.d.ts +1 -1
  41. package/dist/src/lib/trace_formatter.d.ts.map +1 -1
  42. package/dist/src/lib/trace_formatter.js +12 -11
  43. package/dist/src/lib/trace_formatter.js.map +1 -1
  44. package/dist/src/runCommand.d.ts +2 -2
  45. package/dist/src/runCommand.d.ts.map +1 -1
  46. package/dist/src/runCommand.js +77 -49
  47. package/dist/src/runCommand.js.map +1 -1
  48. package/dist/src/runGroups.d.ts +1 -1
  49. package/dist/src/runGroups.d.ts.map +1 -1
  50. package/dist/src/runGroups.js +30 -16
  51. package/dist/src/runGroups.js.map +1 -1
  52. package/dist/src/runners/builtinFunctionRunner.d.ts +2 -2
  53. package/dist/src/runners/builtinFunctionRunner.d.ts.map +1 -1
  54. package/dist/src/runners/builtinFunctionRunner.js +13 -13
  55. package/dist/src/runners/builtinFunctionRunner.js.map +1 -1
  56. package/dist/src/runners/embedRunner.d.ts +2 -2
  57. package/dist/src/runners/embedRunner.d.ts.map +1 -1
  58. package/dist/src/runners/embedRunner.js +17 -15
  59. package/dist/src/runners/embedRunner.js.map +1 -1
  60. package/dist/src/runners/index.d.ts +4 -4
  61. package/dist/src/runners/index.js +3 -3
  62. package/dist/src/runners/shellRunner.d.ts +2 -2
  63. package/dist/src/runners/shellRunner.d.ts.map +1 -1
  64. package/dist/src/runners/shellRunner.js +28 -28
  65. package/dist/src/runners/shellRunner.js.map +1 -1
  66. package/dist/src/runners/types.d.ts +2 -2
  67. package/dist/src/runners/types.d.ts.map +1 -1
  68. package/dist/src/types.d.ts +1 -1
  69. package/dist/src/types.d.ts.map +1 -1
  70. package/dist/src/types.js +8 -4
  71. package/dist/src/types.js.map +1 -1
  72. package/package.json +3 -2
@@ -1,4 +1,4 @@
1
- import type { Groups } from '../src/types.js';
1
+ import type { Groups } from "../src/types.js";
2
2
  export declare const groups: Groups;
3
3
  export declare const defaultGroupOrder: string[];
4
4
  export declare const options: ({
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../commands/report.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAK1E,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAiD,CAAC;AAExF,eAAO,MAAM,OAAO;;;;;;;;IAqBnB,CAAC;AAEF,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA4HD,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CA6FlD"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../commands/report.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAU1E,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAKrC,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;IA6BnB,CAAC;AAEF,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAgID,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAqGlD"}
@@ -1,38 +1,51 @@
1
- import { CommandKind } from '../src/types.js';
2
- import path from 'node:path';
3
- import { existsSync, mkdirSync } from 'node:fs';
4
- import { buildCommonAnalysisGroup, buildCommonCollectGroup, buildCommonInitEnvGroup, selectFirstValidPerfInput } from '../src/lib/common_groups.js';
1
+ import { CommandKind } from "../src/types.js";
2
+ import path from "node:path";
3
+ import { existsSync, mkdirSync } from "node:fs";
4
+ import { buildCommonAnalysisGroup, buildCommonCollectGroup, buildCommonInitEnvGroup, selectFirstValidPerfInput, } from "../src/lib/common_groups.js";
5
5
  export const groups = {};
6
- export const defaultGroupOrder = ['reboot', 'monitor', 'collect', 'analysis'];
6
+ export const defaultGroupOrder = [
7
+ "reboot",
8
+ "monitor",
9
+ "collect",
10
+ "analysis",
11
+ ];
7
12
  export const options = [
8
- { flags: '--app <app>', description: '应用名' },
9
- { flags: '--hstack-tool-path <path>', description: 'hstack 工具地址' },
10
- { flags: '--sourcemap-dir <path>', description: 'sourcemap 目录地址' },
11
- { flags: '--log-key <key>', description: '日志过滤关键字(默认 pid)', defaultValue: 'pid' },
12
- { flags: '--duration <seconds>', description: '采样持续时间(秒,默认 70)', defaultValue: '70' },
13
+ { flags: "--app <app>", description: "应用名" },
14
+ { flags: "--hstack-tool-path <path>", description: "hstack 工具地址" },
15
+ { flags: "--sourcemap-dir <path>", description: "sourcemap 目录地址" },
16
+ {
17
+ flags: "--log-key <key>",
18
+ description: "日志过滤关键字(默认 pid)",
19
+ defaultValue: "pid",
20
+ },
21
+ {
22
+ flags: "--duration <seconds>",
23
+ description: "采样持续时间(秒,默认 70)",
24
+ defaultValue: "70",
25
+ },
13
26
  {
14
- flags: '--buffer-size <bytes>',
15
- description: '缓冲区大小(字节,默认 512000)',
16
- defaultValue: '512000',
27
+ flags: "--buffer-size <bytes>",
28
+ description: "缓冲区大小(字节,默认 512000)",
29
+ defaultValue: "512000",
17
30
  },
18
31
  {
19
- flags: '--output-dir <path>',
20
- description: '本地输出目录(默认 .\\output)',
32
+ flags: "--output-dir <path>",
33
+ description: "本地输出目录(默认 .\\output)",
21
34
  defaultValue: String.raw `.\output`,
22
35
  },
23
36
  {
24
- flags: '--trace-format-profile <name>',
25
- description: 'trace 事件格式版本(默认 default)',
26
- defaultValue: 'default',
37
+ flags: "--trace-format-profile <name>",
38
+ description: "trace 事件格式版本(默认 default)",
39
+ defaultValue: "default",
27
40
  },
28
41
  ];
29
- const PERF_INPUT_CONTEXT_KEY = 'perf_input_file';
42
+ const PERF_INPUT_CONTEXT_KEY = "perf_input_file";
30
43
  function buildMonitorGroup(input) {
31
44
  const { logKey, bufferSize, duration, app, snapshotLogFile, startAppCommand, checkStateCommand, } = input;
32
45
  return [
33
46
  {
34
47
  kind: CommandKind.Windows,
35
- description: '收集日志到本地',
48
+ description: "收集日志到本地",
36
49
  background: true,
37
50
  run: `hdc shell "hilog -t kmsg | grep ${logKey}" >> ${snapshotLogFile}`,
38
51
  },
@@ -40,38 +53,38 @@ function buildMonitorGroup(input) {
40
53
  kind: CommandKind.Windows,
41
54
  run: `hdc shell pidof apppool`,
42
55
  captureToVar: {
43
- name: 'apppool_pids',
56
+ name: "apppool_pids",
44
57
  },
45
58
  },
46
59
  {
47
60
  kind: CommandKind.BuiltinFunction,
48
- description: '提取检测目标信息',
61
+ description: "提取检测目标信息",
49
62
  func: (ctx) => {
50
- const apppoolPids = ctx.get('apppool_pids');
63
+ const apppoolPids = ctx.get("apppool_pids");
51
64
  if (!apppoolPids) {
52
- console.warn('[提取检测目标信息] apppool_pids 缺失或不是字符串,跳过处理');
65
+ console.warn("[提取检测目标信息] apppool_pids 缺失或不是字符串,跳过处理");
53
66
  return false;
54
67
  }
55
- const monitorTarget = apppoolPids.split(/\s+/).join(',');
56
- ctx.set('monitor_target', monitorTarget);
57
- console.info('提取检测目标: ', monitorTarget);
68
+ const monitorTarget = apppoolPids.split(/\s+/).join(",");
69
+ ctx.set("monitor_target", monitorTarget);
70
+ console.info("提取检测目标: ", monitorTarget);
58
71
  },
59
72
  },
60
73
  {
61
74
  kind: CommandKind.Windows,
62
- description: '收集风险事件数据',
75
+ description: "收集风险事件数据",
63
76
  run: [
64
77
  'hdc shell "',
65
78
  `hitrace snapshot --overwrite -b ${bufferSize} -t ${duration} -o /data/local/tmp/snapshot_hitrace.txt & `,
66
79
  `hiperf record -e snapshot:hmb_forkall_report_image_failure,snapshot:vfs_snapshot_dump_monitor --period 1 -s fp --clockid boottime --callchain-useronly --cpu-limit 100 -o /data/local/tmp/perf.data -p {{monitor_target}} -d ${duration} & `,
67
80
  `sleep 1 && `,
68
- app ? `${startAppCommand} && ` : '',
81
+ app ? `${startAppCommand} && ` : "",
69
82
  `${checkStateCommand} & `,
70
83
  `wait && `,
71
84
  `hiperf dump -i /data/local/tmp/perf.data -o /data/local/tmp/snapshot_perf.data.txt"`,
72
85
  ]
73
86
  .filter(Boolean)
74
- .join(''),
87
+ .join(""),
75
88
  },
76
89
  ];
77
90
  }
@@ -82,22 +95,22 @@ function buildAnalysisPreDecodeCommands(input) {
82
95
  ? [
83
96
  {
84
97
  kind: CommandKind.Windows,
85
- description: '解析采集结果',
98
+ description: "解析采集结果",
86
99
  run: `${hstackToolPathNormalized} -i ${perfTextDir} -o ${outputDirNormalized} -s ${sourcemapDirNormalized}`,
87
100
  },
88
101
  ]
89
102
  : [
90
103
  {
91
104
  kind: CommandKind.BuiltinFunction,
92
- description: '未配置 hstack,跳过解析采集结果',
105
+ description: "未配置 hstack,跳过解析采集结果",
93
106
  func: () => {
94
- console.warn('[解析采集结果] 未配置 hstack 工具,跳过 hstack 解析');
107
+ console.warn("[解析采集结果] 未配置 hstack 工具,跳过 hstack 解析");
95
108
  },
96
109
  },
97
110
  ]),
98
111
  {
99
112
  kind: CommandKind.BuiltinFunction,
100
- description: '选择有效 perf 输入文件',
113
+ description: "选择有效 perf 输入文件",
101
114
  func: (ctx) => {
102
115
  const candidates = hstackToolPathNormalized
103
116
  ? [parsedSnapshotPerfFile, snapshotPerfFile]
@@ -114,20 +127,24 @@ function buildAnalysisPreDecodeCommands(input) {
114
127
  ];
115
128
  }
116
129
  export function applyOptions(ctx) {
117
- const { app = '', hstackToolPath = '', sourcemapDir = '', logKey = 'pid', duration = '70', bufferSize = '512000', outputDir = String.raw `.\output`, traceFormatProfile = 'default', } = ctx.options ?? {};
130
+ const { app = "", hstackToolPath = "", sourcemapDir = "", logKey = "pid", duration = "70", bufferSize = "512000", outputDir = String.raw `.\output`, traceFormatProfile = "default", } = ctx.options ?? {};
118
131
  const checkStateCommand = "hidumper -s 1901 -a '-p libforkall_plugin.z.so --list'";
119
- const hstackToolPathNormalized = hstackToolPath ? path.normalize(hstackToolPath) : '';
120
- const sourcemapDirNormalized = sourcemapDir ? path.normalize(sourcemapDir) : '';
132
+ const hstackToolPathNormalized = hstackToolPath
133
+ ? path.normalize(hstackToolPath)
134
+ : "";
135
+ const sourcemapDirNormalized = sourcemapDir
136
+ ? path.normalize(sourcemapDir)
137
+ : "";
121
138
  const outputDirNormalized = path.normalize(outputDir);
122
139
  const outputDirWithSep = outputDirNormalized.endsWith(path.sep)
123
140
  ? outputDirNormalized
124
141
  : `${outputDirNormalized}${path.sep}`;
125
- const snapshotLogFile = path.join(outputDirNormalized, 'snapshot_log.txt');
126
- const perfTextDir = path.join(outputDirNormalized, 'perf_txt');
127
- const snapshotPerfFile = path.join(perfTextDir, 'snapshot_perf.data.txt');
128
- const parsedSnapshotPerfFile = path.join(outputDirNormalized, '_snapshot_perf.data.txt');
129
- const dumpStackTxt = path.join(outputDirNormalized, 'dump_stack.txt');
130
- const dumpStackJson = path.join(outputDirNormalized, 'dump_stack.json');
142
+ const snapshotLogFile = path.join(outputDirNormalized, "snapshot_log.txt");
143
+ const perfTextDir = path.join(outputDirNormalized, "perf_txt");
144
+ const snapshotPerfFile = path.join(perfTextDir, "snapshot_perf.data.txt");
145
+ const parsedSnapshotPerfFile = path.join(outputDirNormalized, "_snapshot_perf.data.txt");
146
+ const dumpStackTxt = path.join(outputDirNormalized, "dump_stack.txt");
147
+ const dumpStackJson = path.join(outputDirNormalized, "dump_stack.json");
131
148
  const start_app_command = `hidumper -s 1901 -a '-p libforkall_plugin.z.so --create 100 ${app}'`;
132
149
  if (!existsSync(outputDirNormalized)) {
133
150
  mkdirSync(outputDirNormalized, { recursive: true });
@@ -174,8 +191,8 @@ export function applyOptions(ctx) {
174
191
  dumpStackTxt,
175
192
  dumpStackJson,
176
193
  traceFormatProfile,
177
- decodeStageName: '镜像失效风险栈分析',
178
- missingInputMessage: '[镜像失效风险栈分析] 未选择到可用 perf 输入文件,跳过处理',
194
+ decodeStageName: "镜像失效风险栈分析",
195
+ missingInputMessage: "[镜像失效风险栈分析] 未选择到可用 perf 输入文件,跳过处理",
179
196
  });
180
197
  const resultGroups = {
181
198
  init: initEnvGroup,
@@ -183,7 +200,7 @@ export function applyOptions(ctx) {
183
200
  collect: collectGroup,
184
201
  analysis: analysisGroup,
185
202
  };
186
- const order = ['init', 'monitor', 'collect', 'analysis'];
203
+ const order = ["init", "monitor", "collect", "analysis"];
187
204
  return {
188
205
  groups: resultGroups,
189
206
  defaultGroupOrder: order,
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../commands/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../commands/report.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Groups } from '../src/types.js';
1
+ import { type Groups } from "../src/types.js";
2
2
  export declare const groups: Groups;
3
3
  /** 默认:先长等待演示,再执行 echo;可用 `-g wait` 只跑等待 */
4
4
  export declare const defaultGroupOrder: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"timeout_demo.d.ts","sourceRoot":"","sources":["../../commands/timeout_demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAmBnF,eAAO,MAAM,MAAM,EAAE,MA4BpB,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAsB,CAAC"}
1
+ {"version":3,"file":"timeout_demo.d.ts","sourceRoot":"","sources":["../../commands/timeout_demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AAmBzB,eAAO,MAAM,MAAM,EAAE,MA4BpB,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CommandKind, getCurrentPlatformKind } from '../src/types.js';
1
+ import { CommandKind, getCurrentPlatformKind, } from "../src/types.js";
2
2
  /**
3
3
  * 示例场景:演示内置 embed 指令 `timeout`(兼容拼写 `timieout`)。
4
4
  *
@@ -20,29 +20,29 @@ export const groups = {
20
20
  wait: [
21
21
  {
22
22
  kind: CommandKind.Embed,
23
- description: '内置 timeout:最多 15s,按任意键可跳过',
24
- run: 'timeout 15',
23
+ description: "内置 timeout:最多 15s,按任意键可跳过",
24
+ run: "timeout 15",
25
25
  },
26
26
  ],
27
27
  /** 可选:与 `timeout` 等价(历史拼写兼容) */
28
28
  waitAlias: [
29
29
  {
30
30
  kind: CommandKind.Embed,
31
- description: '内置 timieout 别名示例(5 秒)',
32
- run: 'timieout 5',
31
+ description: "内置 timieout 别名示例(5 秒)",
32
+ run: "timieout 5",
33
33
  },
34
34
  ],
35
35
  /** 等待结束后执行一条平台命令,便于确认流程继续 */
36
36
  after: [
37
37
  {
38
38
  kind,
39
- description: 'timeout 结束后执行',
39
+ description: "timeout 结束后执行",
40
40
  run: kind === CommandKind.Windows
41
- ? 'echo timeout_demo: after wait'
41
+ ? "echo timeout_demo: after wait"
42
42
  : 'echo "timeout_demo: after wait"',
43
43
  },
44
44
  ],
45
45
  };
46
46
  /** 默认:先长等待演示,再执行 echo;可用 `-g wait` 只跑等待 */
47
- export const defaultGroupOrder = ['wait', 'after'];
47
+ export const defaultGroupOrder = ["wait", "after"];
48
48
  //# sourceMappingURL=timeout_demo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeout_demo.js","sourceRoot":"","sources":["../../commands/timeout_demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAe,MAAM,iBAAiB,CAAC;AAEnF;;;;;;;;;;;;;;GAcG;AACH,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,yBAAyB;IACzB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,WAAW,EAAE,2BAA2B;YACxC,GAAG,EAAE,YAAY;SAClB;KACF;IACD,gCAAgC;IAChC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,WAAW,EAAE,uBAAuB;YACpC,GAAG,EAAE,YAAY;SAClB;KACF;IACD,6BAA6B;IAC7B,KAAK,EAAE;QACL;YACE,IAAI;YACJ,WAAW,EAAE,eAAe;YAC5B,GAAG,EACD,IAAI,KAAK,WAAW,CAAC,OAAO;gBAC1B,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,iCAAiC;SACxC;KACF;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"timeout_demo.js","sourceRoot":"","sources":["../../commands/timeout_demo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;GAcG;AACH,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,yBAAyB;IACzB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,WAAW,EAAE,2BAA2B;YACxC,GAAG,EAAE,YAAY;SAClB;KACF;IACD,gCAAgC;IAChC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,WAAW,EAAE,uBAAuB;YACpC,GAAG,EAAE,YAAY;SAClB;KACF;IACD,6BAA6B;IAC7B,KAAK,EAAE;QACL;YACE,IAAI;YACJ,WAAW,EAAE,eAAe;YAC5B,GAAG,EACD,IAAI,KAAK,WAAW,CAAC,OAAO;gBAC1B,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,iCAAiC;SACxC;KACF;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
package/dist/src/cli.js CHANGED
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env node
2
- import { program } from 'commander';
3
- import { readdirSync } from 'node:fs';
4
- import { dirname, extname, basename, join } from 'node:path';
5
- import { fileURLToPath } from 'node:url';
6
- import { getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, } from './executor.js';
7
- import { parseGroupSpecs } from './groupSpecs.js';
2
+ import { program } from "commander";
3
+ import { readdirSync } from "node:fs";
4
+ import { dirname, extname, basename, join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { getGroupChunks, runGroupChunks } from "./executor.js";
7
+ import { parseGroupSpecs } from "./groupSpecs.js";
8
8
  const customCommands = [];
9
9
  function getCommandTextForDisplay(c) {
10
10
  if (c.run != null)
11
11
  return c.run;
12
12
  if (c.file)
13
- return [c.file, ...(c.args ?? [])].join(' ');
14
- if (typeof c.func === 'function')
15
- return `[func:${c.func.name || 'anonymous'}]`;
16
- return '';
13
+ return [c.file, ...(c.args ?? [])].join(" ");
14
+ if (typeof c.func === "function")
15
+ return `[func:${c.func.name || "anonymous"}]`;
16
+ return "";
17
17
  }
18
18
  async function registerScenarioCommands(rootProgram) {
19
19
  // commands 目录位于项目根目录:<root>/commands
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = dirname(__filename);
22
- const commandsDir = join(__dirname, '..', 'commands');
22
+ const commandsDir = join(__dirname, "..", "commands");
23
23
  let entries;
24
24
  try {
25
25
  entries = readdirSync(commandsDir).map((name) => name.toString());
@@ -31,17 +31,17 @@ async function registerScenarioCommands(rootProgram) {
31
31
  const files = entries.filter((f) => {
32
32
  const ext = extname(f);
33
33
  // 跳过主配置文件 config.*
34
- if (basename(f, ext) === 'config')
34
+ if (basename(f, ext) === "config")
35
35
  return false;
36
36
  // 跳过声明文件及 sourcemap(如 config.d.ts / config.d.ts.map 等)
37
- if (f.endsWith('.d.ts') ||
38
- f.endsWith('.d.mts') ||
39
- f.endsWith('.d.cts') ||
40
- f.endsWith('.map')) {
37
+ if (f.endsWith(".d.ts") ||
38
+ f.endsWith(".d.mts") ||
39
+ f.endsWith(".d.cts") ||
40
+ f.endsWith(".map")) {
41
41
  return false;
42
42
  }
43
43
  // 在源码运行时支持 .ts,在构建产物中只会命中 .js/.mjs
44
- return ext === '.js' || ext === '.mjs' || ext === '.ts';
44
+ return ext === ".js" || ext === ".mjs" || ext === ".ts";
45
45
  });
46
46
  for (const file of files) {
47
47
  const name = basename(file, extname(file));
@@ -55,22 +55,22 @@ async function registerScenarioCommands(rootProgram) {
55
55
  const cmd = rootProgram
56
56
  .command(commandName)
57
57
  .description(`使用 ${`commands/${commandName}.ts`} 中定义的 group 配置执行命令`)
58
- .option('-g, --group <specs...>', '指定组及执行次数,格式为 group 或 group:N,多个用空格或逗号分隔,如 env:10,list 表示 env 执行 10 次、list 执行 1 次')
59
- .option('--stop-on-error', '某条命令执行失败时终止后续命令;不设置则忽略命令执行状态,继续执行')
60
- .option('-s, --silent', '减少输出')
61
- .option('--wait', '等待所有后台进程自然结束后再退出;默认不等待,前台命令全部结束后将优雅结束后台进程并退出')
62
- .option('--dry-run', '仅打印将要执行的命令,不实际执行')
63
- .option('--list', '仅列出当前场景中的所有命令,不执行')
64
- .option('--ignore-platform', '忽略命令平台限制(无视 kind 与当前系统匹配关系强制执行,存在较高失败风险)')
65
- .option('-i, --interval <ms>', '组命令之间的执行间隔(毫秒),默认无间隔;对重复执行的 group 也生效', '0');
58
+ .option("-g, --group <specs...>", "指定组及执行次数,格式为 group 或 group:N,多个用空格或逗号分隔,如 env:10,list 表示 env 执行 10 次、list 执行 1 次")
59
+ .option("--stop-on-error", "某条命令执行失败时终止后续命令;不设置则忽略命令执行状态,继续执行")
60
+ .option("-s, --silent", "减少输出")
61
+ .option("--wait", "等待所有后台进程自然结束后再退出;默认不等待,前台命令全部结束后将优雅结束后台进程并退出")
62
+ .option("--dry-run", "仅打印将要执行的命令,不实际执行")
63
+ .option("--list", "仅列出当前场景中的所有命令,不执行")
64
+ .option("--ignore-platform", "忽略命令平台限制(无视 kind 与当前系统匹配关系强制执行,存在较高失败风险)")
65
+ .option("-i, --interval <ms>", "组命令之间的执行间隔(毫秒),默认无间隔;对重复执行的 group 也生效", "0");
66
66
  // 如果场景模块导出了 options 元数据,则动态挂载场景专属参数
67
67
  if (Array.isArray(mod.options)) {
68
68
  for (const opt of mod.options) {
69
69
  if (opt.defaultValue !== undefined) {
70
- cmd.option(opt.flags, opt.description ?? '', opt.defaultValue);
70
+ cmd.option(opt.flags, opt.description ?? "", opt.defaultValue);
71
71
  }
72
72
  else {
73
- cmd.option(opt.flags, opt.description ?? '');
73
+ cmd.option(opt.flags, opt.description ?? "");
74
74
  }
75
75
  }
76
76
  }
@@ -83,7 +83,7 @@ async function registerScenarioCommands(rootProgram) {
83
83
  return;
84
84
  }
85
85
  // 若场景模块导出了 applyOptions,则允许其基于解析后的参数对命令进行微调
86
- if (typeof mod.applyOptions === 'function') {
86
+ if (typeof mod.applyOptions === "function") {
87
87
  const transformed = mod.applyOptions({
88
88
  groups: scenarioGroups,
89
89
  defaultGroupOrder: scenarioDefaultOrder,
@@ -107,11 +107,8 @@ async function registerScenarioCommands(rootProgram) {
107
107
  const specs = parseGroupSpecs(groupArray, scenarioDefaultOrder);
108
108
  const ignorePlatform = opts.ignorePlatform === true;
109
109
  if (ignorePlatform) {
110
- console.warn('⚠️ 已启用 --ignore-platform:将忽略命令平台限制并强制执行,可能导致命令失败或产生不可预期行为。');
110
+ console.warn("⚠️ 已启用 --ignore-platform:将忽略命令平台限制并强制执行,可能导致命令失败或产生不可预期行为。");
111
111
  }
112
- const commandsToRun = getCommandsToRunWithRepeat(scenarioGroups, specs, {
113
- ignorePlatform,
114
- });
115
112
  const availableGroupNames = new Set(Object.keys(scenarioGroups));
116
113
  const unknownGroups = specs
117
114
  .map((s) => s.name)
@@ -120,14 +117,14 @@ async function registerScenarioCommands(rootProgram) {
120
117
  if (opts.list) {
121
118
  console.log(`\n[${commandName}] 场景命令(按 group 展示):\n`);
122
119
  if (unknownGroups.length > 0) {
123
- console.warn(`未找到以下 group:${unknownGroups.join(', ')}`);
124
- console.warn(`可用 group:${Array.from(availableGroupNames).join(', ') || '(无)'}`);
125
- console.log('');
120
+ console.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
121
+ console.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
122
+ console.log("");
126
123
  }
127
124
  let printedAnyGroup = false;
128
125
  for (const spec of specs) {
129
126
  if (printedAnyGroup) {
130
- console.log('');
127
+ console.log("");
131
128
  }
132
129
  printedAnyGroup = true;
133
130
  const groupCommands = scenarioGroups[spec.name] ?? [];
@@ -145,49 +142,53 @@ async function registerScenarioCommands(rootProgram) {
145
142
  }
146
143
  for (const c of groupCommands) {
147
144
  const text = getCommandTextForDisplay(c);
148
- const backgroundTag = c.background ? ' [background]' : '';
149
- const desc = c.description != null && c.description !== ''
145
+ const backgroundTag = c.background ? " [background]" : "";
146
+ const desc = c.description != null && c.description !== ""
150
147
  ? ` — ${c.description}`
151
148
  : text
152
149
  ? ` — ${text}`
153
- : '';
154
- console.log(` [${c.kind}]${backgroundTag} ${text || '(无命令)'}${desc}`);
150
+ : "";
151
+ console.log(` [${c.kind}]${backgroundTag} ${text || "(无命令)"}${desc}`);
155
152
  }
156
153
  }
157
154
  }
158
155
  if (!printedAnyGroup) {
159
- console.log('(未匹配到任何可用 group)');
156
+ console.log("(未匹配到任何可用 group)");
160
157
  }
161
158
  console.log();
162
159
  return;
163
160
  }
164
161
  // dry-run:显示即将执行的命令(考虑 group/次数),但不真正执行
165
162
  if (opts.dryRun) {
163
+ const chunks = getGroupChunks(scenarioGroups, specs, {
164
+ ignorePlatform,
165
+ });
166
+ const commandsToRun = chunks.flat();
166
167
  console.log(`\n(dry-run) [${commandName}] 将要执行的命令:\n`);
167
168
  if (unknownGroups.length > 0) {
168
- console.warn(`未找到以下 group:${unknownGroups.join(', ')}`);
169
- console.warn(`可用 group:${Array.from(availableGroupNames).join(', ') || '(无)'}`);
170
- console.log('');
169
+ console.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
170
+ console.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
171
+ console.log("");
171
172
  }
172
173
  if (commandsToRun.length === 0) {
173
- console.log('(无可执行命令:请检查 group 名称或命令平台类型)');
174
- console.log('');
174
+ console.log("(无可执行命令:请检查 group 名称或命令平台类型)");
175
+ console.log("");
175
176
  return;
176
177
  }
177
178
  commandsToRun.forEach((c, i) => {
178
179
  const text = getCommandTextForDisplay(c);
179
- const backgroundTag = c.background ? ' [background]' : '';
180
- const desc = c.description != null && c.description !== ''
180
+ const backgroundTag = c.background ? " [background]" : "";
181
+ const desc = c.description != null && c.description !== ""
181
182
  ? ` — ${c.description}`
182
183
  : text
183
184
  ? ` — ${text}`
184
- : '';
185
- console.log(` ${i + 1}. [${c.kind}]${backgroundTag} ${text || '(无命令)'}${desc}`);
185
+ : "";
186
+ console.log(` ${i + 1}. [${c.kind}]${backgroundTag} ${text || "(无命令)"}${desc}`);
186
187
  });
187
- console.log('');
188
+ console.log("");
188
189
  return;
189
190
  }
190
- const intervalMs = Math.max(0, parseInt(opts.interval ?? '0', 10));
191
+ const intervalMs = Math.max(0, parseInt(opts.interval ?? "0", 10));
191
192
  const options = {
192
193
  stopOnError,
193
194
  silent: opts.silent ?? false,
@@ -195,7 +196,9 @@ async function registerScenarioCommands(rootProgram) {
195
196
  ignorePlatform,
196
197
  intervalMs: intervalMs > 0 ? intervalMs : undefined,
197
198
  };
198
- const chunks = getGroupChunks(scenarioGroups, specs, { ignorePlatform });
199
+ const chunks = getGroupChunks(scenarioGroups, specs, {
200
+ ignorePlatform,
201
+ });
199
202
  const { failed } = await runGroupChunks(chunks, options);
200
203
  if (failed)
201
204
  process.exit(1);
@@ -203,9 +206,9 @@ async function registerScenarioCommands(rootProgram) {
203
206
  }
204
207
  }
205
208
  program
206
- .name('snapshot-checker')
207
- .description('按顺序执行 bat / mac / shell 命令')
208
- .version('0.1.0');
209
+ .name("snapshot-checker")
210
+ .description("按顺序执行 bat / mac / shell 命令")
211
+ .version("0.1.0");
209
212
  async function main() {
210
213
  await registerScenarioCommands(program);
211
214
  await program.parseAsync();
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * 执行器统一导出:单命令执行(runCommand)与组执行(runGroups)。
3
3
  */
4
- export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from './runCommand.js';
5
- export type { ExecuteAllOptions, ExecuteOneOptions } from './runCommand.js';
6
- export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, type GroupSpec, } from './runGroups.js';
7
- export type { RunGroupChunksOptions } from './runGroups.js';
4
+ export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./runCommand.js";
5
+ export type { ExecuteAllOptions, ExecuteOneOptions } from "./runCommand.js";
6
+ export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, type GroupSpec, } from "./runGroups.js";
7
+ export type { RunGroupChunksOptions } from "./runGroups.js";
8
8
  //# sourceMappingURL=executor.d.ts.map
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 执行器统一导出:单命令执行(runCommand)与组执行(runGroups)。
3
3
  */
4
- export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from './runCommand.js';
5
- export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, } from './runGroups.js';
4
+ export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./runCommand.js";
5
+ export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, } from "./runGroups.js";
6
6
  //# sourceMappingURL=executor.js.map
@@ -2,6 +2,6 @@
2
2
  * 解析 CLI 风格 --group 参数为 GroupSpec 列表。
3
3
  * 支持 "name" 或 "name:N",多个可用逗号分隔。
4
4
  */
5
- import type { GroupSpec } from './runGroups.js';
5
+ import type { GroupSpec } from "./runGroups.js";
6
6
  export declare function parseGroupSpecs(raw: string[] | undefined, defaultOrder: string[]): GroupSpec[];
7
7
  //# sourceMappingURL=groupSpecs.d.ts.map