snapshot-checker 0.8.0 → 0.8.3

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 (100) hide show
  1. package/README.md +13 -2
  2. package/dist/commands/forkall.d.ts +1 -0
  3. package/dist/commands/forkall.d.ts.map +1 -1
  4. package/dist/commands/forkall.js +6 -1
  5. package/dist/commands/forkall.js.map +1 -1
  6. package/dist/src/bin.js +1 -1
  7. package/dist/src/bin.js.map +1 -1
  8. package/dist/src/cli.js +62 -367
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/executor.d.ts +4 -5
  11. package/dist/src/executor.d.ts.map +1 -1
  12. package/dist/src/executor.js +2 -3
  13. package/dist/src/executor.js.map +1 -1
  14. package/dist/src/group_specs.d.ts +1 -9
  15. package/dist/src/group_specs.d.ts.map +1 -1
  16. package/dist/src/group_specs.js +1 -26
  17. package/dist/src/group_specs.js.map +1 -1
  18. package/dist/src/index.d.ts +4 -4
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +3 -3
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/lib/format.d.ts +1 -1
  23. package/dist/src/lib/format.d.ts.map +1 -1
  24. package/dist/src/lib/paths.d.ts +2 -0
  25. package/dist/src/lib/paths.d.ts.map +1 -1
  26. package/dist/src/lib/paths.js +2 -0
  27. package/dist/src/lib/paths.js.map +1 -1
  28. package/dist/src/lib/perf_decode.d.ts +2 -1
  29. package/dist/src/lib/perf_decode.d.ts.map +1 -1
  30. package/dist/src/lib/perf_decode.js +0 -1
  31. package/dist/src/lib/perf_decode.js.map +1 -1
  32. package/dist/src/lib/pipeline.d.ts +4 -1
  33. package/dist/src/lib/pipeline.d.ts.map +1 -1
  34. package/dist/src/lib/pipeline.js +26 -0
  35. package/dist/src/lib/pipeline.js.map +1 -1
  36. package/dist/src/lib/presets.d.ts +4 -0
  37. package/dist/src/lib/presets.d.ts.map +1 -1
  38. package/dist/src/lib/presets.js +2 -1
  39. package/dist/src/lib/presets.js.map +1 -1
  40. package/dist/src/lib/report_scenario.d.ts +1 -0
  41. package/dist/src/lib/report_scenario.d.ts.map +1 -1
  42. package/dist/src/lib/report_scenario.js +7 -1
  43. package/dist/src/lib/report_scenario.js.map +1 -1
  44. package/dist/src/lib/scenario.d.ts +12 -50
  45. package/dist/src/lib/scenario.d.ts.map +1 -1
  46. package/dist/src/lib/scenario.js +10 -74
  47. package/dist/src/lib/scenario.js.map +1 -1
  48. package/dist/src/lib/scenario_globals.d.ts +8 -0
  49. package/dist/src/lib/scenario_globals.d.ts.map +1 -0
  50. package/dist/src/lib/scenario_globals.js +11 -0
  51. package/dist/src/lib/scenario_globals.js.map +1 -0
  52. package/dist/src/logger.d.ts +2 -0
  53. package/dist/src/logger.d.ts.map +1 -1
  54. package/dist/src/logger.js +3 -0
  55. package/dist/src/logger.js.map +1 -1
  56. package/dist/src/run_command.d.ts +1 -68
  57. package/dist/src/run_command.d.ts.map +1 -1
  58. package/dist/src/run_command.js +1 -366
  59. package/dist/src/run_command.js.map +1 -1
  60. package/dist/src/run_groups.d.ts +1 -38
  61. package/dist/src/run_groups.d.ts.map +1 -1
  62. package/dist/src/run_groups.js +1 -153
  63. package/dist/src/run_groups.js.map +1 -1
  64. package/dist/src/runners/index.d.ts +1 -6
  65. package/dist/src/runners/index.d.ts.map +1 -1
  66. package/dist/src/runners/index.js +1 -4
  67. package/dist/src/runners/index.js.map +1 -1
  68. package/dist/src/types.d.ts +1 -171
  69. package/dist/src/types.d.ts.map +1 -1
  70. package/dist/src/types.js +1 -174
  71. package/dist/src/types.js.map +1 -1
  72. package/package.json +5 -3
  73. package/dist/src/lib/programmatic.d.ts +0 -30
  74. package/dist/src/lib/programmatic.d.ts.map +0 -1
  75. package/dist/src/lib/programmatic.js +0 -40
  76. package/dist/src/lib/programmatic.js.map +0 -1
  77. package/dist/src/runners/background_executor.d.ts +0 -3
  78. package/dist/src/runners/background_executor.d.ts.map +0 -1
  79. package/dist/src/runners/background_executor.js +0 -3
  80. package/dist/src/runners/background_executor.js.map +0 -1
  81. package/dist/src/runners/builtin_runner.d.ts +0 -8
  82. package/dist/src/runners/builtin_runner.d.ts.map +0 -1
  83. package/dist/src/runners/builtin_runner.js +0 -66
  84. package/dist/src/runners/builtin_runner.js.map +0 -1
  85. package/dist/src/runners/embed_runner.d.ts +0 -8
  86. package/dist/src/runners/embed_runner.d.ts.map +0 -1
  87. package/dist/src/runners/embed_runner.js +0 -155
  88. package/dist/src/runners/embed_runner.js.map +0 -1
  89. package/dist/src/runners/platform_shell_executor.d.ts +0 -71
  90. package/dist/src/runners/platform_shell_executor.d.ts.map +0 -1
  91. package/dist/src/runners/platform_shell_executor.js +0 -158
  92. package/dist/src/runners/platform_shell_executor.js.map +0 -1
  93. package/dist/src/runners/shell_runner.d.ts +0 -8
  94. package/dist/src/runners/shell_runner.d.ts.map +0 -1
  95. package/dist/src/runners/shell_runner.js +0 -167
  96. package/dist/src/runners/shell_runner.js.map +0 -1
  97. package/dist/src/runners/types.d.ts +0 -27
  98. package/dist/src/runners/types.d.ts.map +0 -1
  99. package/dist/src/runners/types.js +0 -2
  100. package/dist/src/runners/types.js.map +0 -1
package/README.md CHANGED
@@ -8,14 +8,25 @@
8
8
 
9
9
  - `report` 默认 `--trace-from` 由 `hitrace` 改为 **`mix`**(采集默认带 `--raw-data`,analysis 默认预处理 hitrace 并使用 **perfFirst** sidecar)。
10
10
  - 日志格式统一为行首 `[ISO8601] {级别} {正文}`(无 consola 颜色)。
11
- - 依赖升级:`hiperf_txt_parser` ^1.4、`hmtrace-parser` ^0.6;analysis trace 解码改由 pipeline 编排。
11
+ - 依赖升级:`hiperf_txt_parser` 2.0、`hm-pt-core` 1.0、`hmtrace-parser` 0.8;analysis trace 解码改由 pipeline 编排;公共类型与 trace 机制自 `hm-pt-core` 导入。
12
12
  - 若需与 0.6.x 相同默认行为,显式传入 `--trace-from hitrace`。
13
13
 
14
14
  **前置条件**
15
15
 
16
16
  - **Node.js** ≥ 18。
17
17
  - PATH 中可用 **`hdc`**,并已连接目标设备。
18
- - 本机 analysis 依赖 **`hiperf_txt_parser` ^1.4**、**`hmtrace-parser` ^0.6**(随包安装):hitrace 预处理与索引由 hmtrace 构建,样本级并行解码与 hitrace 合并由 hiperf 完成。
18
+ - 本机 analysis 依赖 **`hiperf_txt_parser` ^2.0**、**`hm-pt-core` ^1.0**、**`hmtrace-parser` ^0.8**(随 `npm install` 安装):hitrace 预处理与索引由 hmtrace 构建,公共类型与 trace 机制由 hm-pt-core 提供,样本级并行解码与 hitrace 合并由 hiperf 完成。
19
+
20
+ ## 架构与 hmcommand-runner
21
+
22
+ 自 **0.8.x** 起,命令调度与执行引擎已提取为独立 npm 包 **[`hmcommand-runner`](https://www.npmjs.com/package/hmcommand-runner)**(`1.0.0`):
23
+
24
+ | 层级 | 包 / 目录 | 职责 |
25
+ |------|-----------|------|
26
+ | 执行框架 | `hmcommand-runner` | `CommandDef` 类型、组调度(`group:N`)、Shell/Builtin/Embed Runner、通用 CLI 注册器 |
27
+ | 领域场景 | `commands/`、`src/lib/presets.ts` 等 | forkall/report 场景、hdc/hiperf/hitrace 命令拼装与解码 |
28
+
29
+ `snapshot-checker` 的公开 API(`resolveScenario`、`runScenarioGroups`、`executeAll` 等)继续从主包 re-export,现有 `import from 'snapshot-checker'` 的代码无需修改。若只需通用命令编排框架,可直接依赖 `hmcommand-runner`。
19
30
 
20
31
  ---
21
32
 
@@ -23,6 +23,7 @@ interface ForkallOptions {
23
23
  traceFormatProfile?: string;
24
24
  skipPerfDedupe?: boolean;
25
25
  dropFailedSamples?: boolean;
26
+ keepDecodedPerf?: boolean;
26
27
  hdcTarget?: string;
27
28
  /** 全局 `--parse-concurrency`:hiperf_txt_parser 解析并发度,默认 1 */
28
29
  parseConcurrency?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"forkall.d.ts","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA0C1E,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAOrC,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;IAmDnB,CAAC;AAEF,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsKD,oEAAoE;AACpE,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,CA8JlD"}
1
+ {"version":3,"file":"forkall.d.ts","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA0C1E,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAOrC,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;IAwDnB,CAAC;AAEF,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsKD,oEAAoE;AACpE,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,CAgKlD"}
@@ -74,6 +74,10 @@ export const options = [
74
74
  flags: "--drop-failed-samples",
75
75
  description: "decodePerfRawData 丢弃无 trace 解析器的 raw 样本(dropFailedSamples)",
76
76
  },
77
+ {
78
+ flags: "--keep-decoded-perf",
79
+ description: "将 decodeTrace 解析成功的 perf 写入 workspace/_hyperstart_perf.trace_decoded.txt",
80
+ },
77
81
  ];
78
82
  function buildRebootGroup(input) {
79
83
  const { hdcCli, mode, eventPath, defaultTimeout } = input;
@@ -190,7 +194,7 @@ function buildAnalysisPreDecodeCommands(input) {
190
194
  }
191
195
  /** 按 CLI 结果生成 reboot/init/monitor/collect/filter/analysis 各阶段命令表 */
192
196
  export function applyOptions(ctx) {
193
- const { eventPath = "", app = "", systemSymbolFilePath = "", logKey = "pid", duration = "70", defaultTimeout = "90", bufferSize = "512000", mode = "monitor", outputDir = "./output", traceFormatProfile = "default", skipPerfDedupe = false, dropFailedSamples = false, hdcTarget, parseConcurrency: parseConcurrencyRaw, dryRun = false, list = false, } = ctx.options ?? {};
197
+ const { eventPath = "", app = "", systemSymbolFilePath = "", logKey = "pid", duration = "70", defaultTimeout = "90", bufferSize = "512000", mode = "monitor", outputDir = "./output", traceFormatProfile = "default", skipPerfDedupe = false, dropFailedSamples = false, keepDecodedPerf = false, hdcTarget, parseConcurrency: parseConcurrencyRaw, dryRun = false, list = false, } = ctx.options ?? {};
194
198
  const parseConcurrency = resolveParseConcurrency(parseConcurrencyRaw);
195
199
  const hdcCli = createHdcCli(hdcTarget);
196
200
  const appSpec = parseAppSpec(app);
@@ -280,6 +284,7 @@ export function applyOptions(ctx) {
280
284
  traceFrom: "mix",
281
285
  skipDedupePerfData: skipPerfDedupe,
282
286
  dropFailedSamples,
287
+ keepDecodedPerf,
283
288
  parseConcurrency,
284
289
  traceFormatAuto: traceFormatProfileNormalized === AUTO_TRACE_FORMAT_PROFILE
285
290
  ? (() => {
@@ -1 +1 @@
1
- {"version":3,"file":"forkall.js","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkall.js","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"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"}
package/dist/src/bin.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { program } from "commander";
3
- import { resolveScenario, runScenarioGroups } from "./lib/programmatic.js";
3
+ import { resolveScenario, runScenarioGroups } from "./lib/scenario.js";
4
4
  import { runBinaryPreflight } from "./lib/preflight.js";
5
5
  import * as reportScenario from "../commands/report.js";
6
6
  function registerScenarioCommand(name, description, scenario) {
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.js CHANGED
@@ -1,374 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { program, Option } from "commander";
3
- import { readdirSync } from "node:fs";
4
- import { dirname, extname, basename, join } from "node:path";
3
+ import { dirname, join } from "node:path";
5
4
  import { fileURLToPath } from "node:url";
6
- import { getGroupChunks, runGroupChunks } from "./executor.js";
7
- import { attachLoggerFileSink, createModuleLogger, resolveLogDumpPath, setGlobalLogLevelFromCli, SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES, } from "./logger.js";
8
- import { parseGroupSpecs } from "./group_specs.js";
9
- import { buildApplyOptionsInput } from "./lib/scenario.js";
5
+ import { registerScenarios, } from "hmcommand-runner/cli";
6
+ import { setLoggerHooks, setGlobalLogLevelFromCli as setRunnerLogLevelFromCli, registerLogFilePathForTee, } from "hmcommand-runner";
7
+ import { attachLoggerFileSink, createModuleLogger, resolveLogDumpPath, restoreBaselineLogLevel, setGlobalLogLevelFromCli, SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES, } from "./logger.js";
8
+ import { buildApplyOptionsInput } from "./lib/scenario_globals.js";
10
9
  import { formatInvocationCommandLine, readSnapshotCheckerVersion, } from "./lib/version.js";
11
- import { formatCommandKindForLog, } from "./types.js";
12
- const logger = createModuleLogger(import.meta.url);
13
10
  const cliModuleDir = dirname(fileURLToPath(import.meta.url));
14
- const customCommands = [];
15
- /**
16
- * 在「Options:」区块内:先列出无 helpGroup 的选项,再按组输出带 helpGroup 的选项;
17
- * 组与组之间、内置块与第一组之间插入空行(与 Commander 默认 formatHelp 对齐)。
18
- */
19
- function formatHelpWithScenarioOptionGroups(cmd, helper) {
20
- const termWidth = helper.padWidth(cmd, helper);
21
- const helpWidth = helper.helpWidth ?? 80;
22
- const itemIndentWidth = 2;
23
- const itemSeparatorWidth = 2;
24
- function formatItem(term, description) {
25
- if (description) {
26
- const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`;
27
- return helper.wrap(fullText, helpWidth - itemIndentWidth, termWidth + itemSeparatorWidth);
28
- }
29
- return term;
30
- }
31
- function formatList(textArray) {
32
- return textArray.join("\n").replace(/^/gm, " ".repeat(itemIndentWidth));
33
- }
34
- const visible = helper.visibleOptions(cmd);
35
- const withGroup = visible.filter((o) => typeof o.helpGroup === "string" &&
36
- o.helpGroup.length > 0);
37
- const withoutGroup = visible.filter((o) => !o.helpGroup);
38
- const groupOrder = [];
39
- for (const o of withGroup) {
40
- const g = o.helpGroup;
41
- if (!groupOrder.includes(g))
42
- groupOrder.push(g);
43
- }
44
- const optionList = [];
45
- for (const o of withoutGroup) {
46
- optionList.push(formatItem(helper.optionTerm(o), helper.optionDescription(o)));
47
- }
48
- if (withoutGroup.length > 0 && withGroup.length > 0) {
49
- optionList.push("");
50
- }
51
- for (let i = 0; i < groupOrder.length; i++) {
52
- if (i > 0)
53
- optionList.push("");
54
- const title = groupOrder[i];
55
- // 单独一行左对齐分组标题(不经 formatItem,避免标题落在「选项名 / 说明」对齐列的说明侧)
56
- optionList.push(title);
57
- for (const o of withGroup) {
58
- if (o.helpGroup === title) {
59
- optionList.push(formatItem(helper.optionTerm(o), helper.optionDescription(o)));
60
- }
61
- }
62
- }
63
- let output = [`Usage: ${helper.commandUsage(cmd)}`, ""];
64
- const commandDescription = helper.commandDescription(cmd);
65
- if (commandDescription.length > 0) {
66
- output = output.concat([helper.wrap(commandDescription, helpWidth, 0), ""]);
67
- }
68
- const argumentList = helper.visibleArguments(cmd).map((argument) => {
69
- return formatItem(helper.argumentTerm(argument), helper.argumentDescription(argument));
70
- });
71
- if (argumentList.length > 0) {
72
- output = output.concat(["Arguments:", formatList(argumentList), ""]);
73
- }
74
- if (optionList.length > 0) {
75
- output = output.concat(["Options:", formatList(optionList), ""]);
76
- }
77
- if (helper.showGlobalOptions) {
78
- const globalOptionList = helper.visibleGlobalOptions(cmd).map((option) => {
79
- return formatItem(helper.optionTerm(option), helper.optionDescription(option));
80
- });
81
- if (globalOptionList.length > 0) {
82
- output = output.concat(["Global Options:", formatList(globalOptionList), ""]);
83
- }
84
- }
85
- const commandList = helper.visibleCommands(cmd).map((sub) => {
86
- return formatItem(helper.subcommandTerm(sub), helper.subcommandDescription(sub));
87
- });
88
- if (commandList.length > 0) {
89
- output = output.concat(["Commands:", formatList(commandList), ""]);
90
- }
91
- return output.join("\n");
92
- }
93
- function getCommandTextForDisplay(c) {
94
- if (c.run != null)
95
- return c.run;
96
- if (c.file)
97
- return [c.file, ...(c.args ?? [])].join(" ");
98
- if (typeof c.func === "function")
99
- return `[func:${c.func.name || "anonymous"}]`;
100
- return "";
101
- }
102
- function getBackgroundTag(c) {
103
- if (!c.background)
104
- return "";
105
- const d = Math.max(0, c.backgroundDelayMs ?? 0);
106
- return d > 0 ? ` [background delay ${d}ms]` : " [background]";
107
- }
108
- function getCommandAlias(name) {
109
- if (name.includes("-"))
110
- return name.replace(/-/g, "_");
111
- if (name.includes("_"))
112
- return name.replace(/_/g, "-");
113
- return undefined;
114
- }
115
- async function registerScenarioCommands(rootProgram) {
116
- const scenarioDirectories = [
117
- {
118
- dirPath: join(cliModuleDir, "..", "commands"),
119
- importPrefix: "../commands",
120
- displayPrefix: "commands",
121
- },
122
- {
123
- dirPath: join(cliModuleDir, "..", "demos"),
124
- importPrefix: "../demos",
125
- displayPrefix: "demos",
126
- },
127
- ];
128
- const loadedCommandNames = new Set();
129
- for (const directory of scenarioDirectories) {
130
- let entries;
131
- try {
132
- entries = readdirSync(directory.dirPath).map((name) => name.toString());
133
- }
134
- catch {
135
- continue;
136
- }
137
- const files = entries.filter((f) => {
138
- const ext = extname(f);
139
- // 排除主名 `config`(含任意扩展名)
140
- if (basename(f, ext) === "config")
141
- return false;
142
- // 排除 `.d.ts` / `.d.mts` / `.d.cts` 及 source map
143
- if (f.endsWith(".d.ts") ||
144
- f.endsWith(".d.mts") ||
145
- f.endsWith(".d.cts") ||
146
- f.endsWith(".map")) {
147
- return false;
148
- }
149
- // 开发载入 `.ts`,发布包仅 `.js`/`.mjs`
150
- return ext === ".js" || ext === ".mjs" || ext === ".ts";
151
- });
152
- for (const file of files) {
153
- const name = basename(file, extname(file));
154
- const commandName = name;
155
- if (loadedCommandNames.has(commandName)) {
156
- logger.warn(`场景命令 "${commandName}" 在多个目录中重复定义,已跳过 ${directory.displayPrefix}/${file}`);
157
- continue;
158
- }
159
- loadedCommandNames.add(commandName);
160
- const relPath = `${directory.importPrefix}/${file}`;
161
- // 懒加载:读取场景的 groups、defaultGroupOrder、options、applyOptions
162
- const mod = await import(relPath);
163
- const displayPath = `${directory.displayPrefix}/${commandName}.ts`;
164
- customCommands.push({ name: commandName, displayPath });
165
- const cmd = rootProgram
166
- .command(commandName)
167
- .description(`按 ${displayPath} 的 group 定义执行`)
168
- .option("-g, --group <specs...>", "要执行的组及次数:group 或 group:N;多项用空格或逗号分隔(例 env:10,list)")
169
- .option("--stop-on-error", "任一命令失败则中止后续(默认忽略失败继续)")
170
- .option("-s, --silent", "日志为 error;子进程 stdout/stderr 不输出到终端")
171
- .option("--wait", "前台结束后阻塞至全部后台子进程退出(默认:终止并回收后台子进程)")
172
- .option("--dry-run", "只打印将执行的命令,不启动子进程")
173
- .option("--list", "只列出命令,不执行;不创建输出目录(与 --dry-run 同目录语义)")
174
- .option("--ignore-platform", "跨平台执行:包含全部 kind 的命令,Shell 类命令依当前宿主系统自动选择执行器")
175
- .option("-i, --interval <ms>", "相邻命令间隔(毫秒),默认 0;组内重复执行也生效", "0");
176
- const alias = getCommandAlias(commandName);
177
- if (alias) {
178
- cmd.alias(alias);
179
- }
180
- // 若导出 `options` 数组,则附加场景级 CLI 选项(可选 `helpGroup` 触发分组 --help)
181
- if (Array.isArray(mod.options)) {
182
- const scenarioOpts = mod.options;
183
- const hasHelpGroups = scenarioOpts.some((o) => typeof o.helpGroup === "string" && o.helpGroup.length > 0);
184
- if (hasHelpGroups) {
185
- for (const opt of scenarioOpts) {
186
- const o = new Option(opt.flags, opt.description ?? "");
187
- if (opt.defaultValue !== undefined) {
188
- o.default(opt.defaultValue);
189
- }
190
- if (opt.helpGroup) {
191
- o.helpGroup = opt.helpGroup;
192
- }
193
- cmd.addOption(o);
194
- }
195
- cmd.configureHelp({
196
- ...rootProgram.configureHelp(),
197
- formatHelp: formatHelpWithScenarioOptionGroups,
198
- });
199
- }
200
- else {
201
- for (const opt of scenarioOpts) {
202
- if (opt.defaultValue !== undefined) {
203
- cmd.option(opt.flags, opt.description ?? "", opt.defaultValue);
204
- }
205
- else {
206
- cmd.option(opt.flags, opt.description ?? "");
207
- }
208
- }
209
- }
210
- }
211
- cmd.action(async (opts, command) => {
212
- const globals = command.optsWithGlobals();
213
- const logFileOpt = globals.logFile;
214
- const skipLogSinkOnList = opts.list === true &&
215
- (logFileOpt === undefined ||
216
- logFileOpt === true ||
217
- (typeof logFileOpt === "string" && logFileOpt.trim() === ""));
218
- const logDumpPath = skipLogSinkOnList
219
- ? undefined
220
- : resolveLogDumpPath(globals);
221
- const detachLog = logDumpPath !== undefined
222
- ? attachLoggerFileSink(logDumpPath, {
223
- commandLine: formatInvocationCommandLine(),
224
- version: readSnapshotCheckerVersion(),
225
- })
226
- : undefined;
227
- try {
228
- let scenarioGroups = mod.groups;
229
- let scenarioDefaultOrder = mod.defaultGroupOrder;
230
- if (!scenarioGroups || !scenarioDefaultOrder) {
231
- logger.error(`场景 "${commandName}" 的配置无效:需要同时导出 groups 与 defaultGroupOrder。`);
232
- process.exitCode = 1;
233
- return;
234
- }
235
- // 可选:基于已解析 CLI 重写 groups / defaultGroupOrder
236
- if (typeof mod.applyOptions === "function") {
237
- const transformed = mod.applyOptions({
238
- groups: scenarioGroups,
239
- defaultGroupOrder: scenarioDefaultOrder,
240
- options: buildApplyOptionsInput(opts, {
241
- hdcTarget: globals.hdcTarget,
242
- parseConcurrency: globals.parseConcurrency,
243
- }),
244
- });
245
- if (transformed?.groups) {
246
- scenarioGroups = transformed.groups;
247
- }
248
- if (transformed?.defaultGroupOrder) {
249
- scenarioDefaultOrder = transformed.defaultGroupOrder;
250
- }
251
- }
252
- const stopOnError = opts.stopOnError === true;
253
- // variadic 单参数时类型为 string,归一成 string[]
254
- const groupRaw = opts.group;
255
- const groupArray = Array.isArray(groupRaw)
256
- ? groupRaw
257
- : groupRaw !== undefined && groupRaw !== null
258
- ? [String(groupRaw)]
259
- : undefined;
260
- const specs = parseGroupSpecs(groupArray, scenarioDefaultOrder);
261
- const ignorePlatform = opts.ignorePlatform === true;
262
- if (ignorePlatform) {
263
- logger.warn("⚠️ 已启用 --ignore-platform:将执行全部 kind 的命令;Shell 类命令(含后台)依当前宿主系统自动选择执行器。Windows 专用语法在非 Windows 宿主上仍可能失败。");
264
- }
265
- const availableGroupNames = new Set(Object.keys(scenarioGroups));
266
- const unknownGroups = specs
267
- .map((s) => s.name)
268
- .filter((name) => !availableGroupNames.has(name));
269
- // `--list`:列出命令但不执行
270
- if (opts.list) {
271
- console.log(`\n[${commandName}] 场景命令(按 group 展示):\n`);
272
- if (unknownGroups.length > 0) {
273
- logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
274
- logger.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
275
- console.log("");
276
- }
277
- let printedAnyGroup = false;
278
- for (const spec of specs) {
279
- if (printedAnyGroup) {
280
- console.log("");
281
- }
282
- printedAnyGroup = true;
283
- const groupCommands = scenarioGroups[spec.name] ?? [];
284
- if (groupCommands.length === 0) {
285
- console.log(`Group: ${spec.name}`);
286
- console.log(` (无命令)`);
287
- continue;
288
- }
289
- for (let round = 1; round <= Math.max(1, spec.repeat); round++) {
290
- if (round === 1) {
291
- console.log(`Group: ${spec.name}`);
292
- }
293
- if (spec.repeat > 1) {
294
- console.log(` Round: ${round}/${spec.repeat}`);
295
- }
296
- for (const c of groupCommands) {
297
- const text = getCommandTextForDisplay(c);
298
- const backgroundTag = getBackgroundTag(c);
299
- const desc = c.description != null && c.description !== ""
300
- ? ` — ${c.description}`
301
- : text
302
- ? ` — ${text}`
303
- : "";
304
- console.log(` [${formatCommandKindForLog(c, ignorePlatform)}]${backgroundTag} ${text || "(无命令)"}${desc}`);
305
- }
306
- }
307
- }
308
- if (!printedAnyGroup) {
309
- console.log("(未匹配到任何可用 group)");
310
- }
311
- console.log();
312
- return;
313
- }
314
- // `--dry-run`:打印将执行的命令序列,不写子进程
315
- if (opts.dryRun) {
316
- const chunks = getGroupChunks(scenarioGroups, specs, {
317
- ignorePlatform,
318
- });
319
- const commandsToRun = chunks.flatMap((chunk) => chunk.commands);
320
- console.log(`\n(dry-run) [${commandName}] 将要执行的命令:\n`);
321
- if (unknownGroups.length > 0) {
322
- logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
323
- logger.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
324
- console.log("");
325
- }
326
- if (commandsToRun.length === 0) {
327
- console.log("(无可执行命令:请检查 group 名称或命令平台类型)");
328
- console.log("");
329
- return;
330
- }
331
- let cmdIndex = 0;
332
- for (const chunk of chunks) {
333
- const repeatSuffix = chunk.repeat > 1 ? `(${chunk.round}/${chunk.repeat})` : "";
334
- console.log(`\n [group] ${chunk.name}${repeatSuffix} — ${chunk.commands.length} 条命令`);
335
- for (const c of chunk.commands) {
336
- cmdIndex += 1;
337
- const text = getCommandTextForDisplay(c);
338
- const backgroundTag = getBackgroundTag(c);
339
- const desc = c.description != null && c.description !== ""
340
- ? ` — ${c.description}`
341
- : text
342
- ? ` — ${text}`
343
- : "";
344
- console.log(` ${cmdIndex}. [${formatCommandKindForLog(c, ignorePlatform)}]${backgroundTag} ${text || "(无命令)"}${desc}`);
345
- }
346
- }
347
- console.log("");
348
- return;
349
- }
350
- const intervalMs = Math.max(0, parseInt(opts.interval ?? "0", 10));
351
- const options = {
352
- stopOnError,
353
- silent: opts.silent ?? false,
354
- waitForBackground: opts.wait === true,
355
- ignorePlatform,
356
- intervalMs: intervalMs > 0 ? intervalMs : undefined,
357
- };
358
- const chunks = getGroupChunks(scenarioGroups, specs, {
359
- ignorePlatform,
360
- });
361
- const { failed } = await runGroupChunks(chunks, options);
362
- if (failed)
363
- process.exit(1);
364
- }
365
- finally {
366
- detachLog?.();
367
- }
368
- });
369
- }
370
- }
371
- }
11
+ const cliLogger = createModuleLogger(import.meta.url);
12
+ setLoggerHooks({
13
+ onQuietSilentAttach: () => {
14
+ setGlobalLogLevelFromCli("error");
15
+ },
16
+ onQuietSilentDetach: () => {
17
+ restoreBaselineLogLevel();
18
+ },
19
+ onGlobalLevelChange: (level) => {
20
+ setGlobalLogLevelFromCli(level);
21
+ },
22
+ });
372
23
  program
373
24
  .name("snapshot-checker")
374
25
  .description("顺序执行 bat / mac / shell 命令")
@@ -379,10 +30,54 @@ program
379
30
  .addOption(new Option("--hdc-target <sn>", "hdc -t 目标设备序列号;指定后全部 hdc 命令带 -t"))
380
31
  .addOption(new Option("--parse-concurrency <n>", "hiperf_txt_parser 解析/解码/写回并发 Worker 数,默认 1(串行,无 Worker 开销)").default(1));
381
32
  async function main() {
382
- await registerScenarioCommands(program);
33
+ await registerScenarios({
34
+ program: program,
35
+ scenarioDirs: [
36
+ {
37
+ dirPath: join(cliModuleDir, "..", "commands"),
38
+ displayPrefix: "commands",
39
+ },
40
+ {
41
+ dirPath: join(cliModuleDir, "..", "demos"),
42
+ displayPrefix: "demos",
43
+ },
44
+ ],
45
+ mergeScenarioOptions: (scenarioOpts, globals) => buildApplyOptionsInput(scenarioOpts, {
46
+ hdcTarget: globals.hdcTarget,
47
+ parseConcurrency: globals.parseConcurrency,
48
+ }),
49
+ onBeforeRun: async ({ globals, opts }) => {
50
+ const logFileOpt = globals.logFile;
51
+ const skipLogSinkOnList = opts.list === true &&
52
+ (logFileOpt === undefined ||
53
+ logFileOpt === true ||
54
+ (typeof logFileOpt === "string" && logFileOpt.trim() === ""));
55
+ const logDumpPath = skipLogSinkOnList
56
+ ? undefined
57
+ : resolveLogDumpPath(globals);
58
+ if (logDumpPath === undefined) {
59
+ return {};
60
+ }
61
+ const commandLine = formatInvocationCommandLine();
62
+ const version = readSnapshotCheckerVersion();
63
+ const detachChecker = attachLoggerFileSink(logDumpPath, {
64
+ commandLine,
65
+ version,
66
+ });
67
+ const detachTee = registerLogFilePathForTee(logDumpPath);
68
+ return {
69
+ detach: () => {
70
+ detachChecker();
71
+ detachTee();
72
+ },
73
+ };
74
+ },
75
+ logger: cliLogger,
76
+ });
383
77
  program.hook("preAction", (thisCommand) => {
384
78
  const { logLevel } = thisCommand.optsWithGlobals();
385
79
  setGlobalLogLevelFromCli(logLevel);
80
+ setRunnerLogLevelFromCli(logLevel);
386
81
  });
387
82
  await program.parseAsync();
388
83
  }
@@ -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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"}