snapshot-checker 0.4.2 → 0.4.4

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/dist/src/cli.js CHANGED
@@ -4,7 +4,7 @@ import { readdirSync } from "node:fs";
4
4
  import { dirname, extname, basename, join } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { getGroupChunks, runGroupChunks } from "./executor.js";
7
- import { logger, setGlobalLogLevelFromCli, SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES, } from "./logger.js";
7
+ import { attachLoggerFileSink, logger, resolveLogDumpPath, setGlobalLogLevelFromCli, SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES, } from "./logger.js";
8
8
  import { parseGroupSpecs } from "./groupSpecs.js";
9
9
  const customCommands = [];
10
10
  /**
@@ -196,6 +196,7 @@ async function registerScenarioCommands(rootProgram) {
196
196
  cmd.addOption(o);
197
197
  }
198
198
  cmd.configureHelp({
199
+ ...rootProgram.configureHelp(),
199
200
  formatHelp: formatHelpWithScenarioOptionGroups,
200
201
  });
201
202
  }
@@ -210,134 +211,143 @@ async function registerScenarioCommands(rootProgram) {
210
211
  }
211
212
  }
212
213
  }
213
- cmd.action(async (opts) => {
214
- let scenarioGroups = mod.groups;
215
- let scenarioDefaultOrder = mod.defaultGroupOrder;
216
- if (!scenarioGroups || !scenarioDefaultOrder) {
217
- logger.error(`场景 "${commandName}" 的配置无效:需要同时导出 groups 与 defaultGroupOrder。`);
218
- process.exitCode = 1;
219
- return;
220
- }
221
- // 可选:基于已解析 CLI 重写 groups / defaultGroupOrder
222
- if (typeof mod.applyOptions === "function") {
223
- const transformed = mod.applyOptions({
224
- groups: scenarioGroups,
225
- defaultGroupOrder: scenarioDefaultOrder,
226
- options: opts,
227
- });
228
- if (transformed?.groups) {
229
- scenarioGroups = transformed.groups;
214
+ cmd.action(async (opts, command) => {
215
+ const logDumpPath = resolveLogDumpPath(command.optsWithGlobals());
216
+ const detachLog = logDumpPath !== undefined
217
+ ? attachLoggerFileSink(logDumpPath)
218
+ : undefined;
219
+ try {
220
+ let scenarioGroups = mod.groups;
221
+ let scenarioDefaultOrder = mod.defaultGroupOrder;
222
+ if (!scenarioGroups || !scenarioDefaultOrder) {
223
+ logger.error(`场景 "${commandName}" 的配置无效:需要同时导出 groups 与 defaultGroupOrder。`);
224
+ process.exitCode = 1;
225
+ return;
230
226
  }
231
- if (transformed?.defaultGroupOrder) {
232
- scenarioDefaultOrder = transformed.defaultGroupOrder;
227
+ // 可选:基于已解析 CLI 重写 groups / defaultGroupOrder
228
+ if (typeof mod.applyOptions === "function") {
229
+ const transformed = mod.applyOptions({
230
+ groups: scenarioGroups,
231
+ defaultGroupOrder: scenarioDefaultOrder,
232
+ options: opts,
233
+ });
234
+ if (transformed?.groups) {
235
+ scenarioGroups = transformed.groups;
236
+ }
237
+ if (transformed?.defaultGroupOrder) {
238
+ scenarioDefaultOrder = transformed.defaultGroupOrder;
239
+ }
233
240
  }
234
- }
235
- const stopOnError = opts.stopOnError === true;
236
- // variadic 单参数时类型为 string,归一成 string[]
237
- const groupRaw = opts.group;
238
- const groupArray = Array.isArray(groupRaw)
239
- ? groupRaw
240
- : groupRaw !== undefined && groupRaw !== null
241
- ? [String(groupRaw)]
242
- : undefined;
243
- const specs = parseGroupSpecs(groupArray, scenarioDefaultOrder);
244
- const ignorePlatform = opts.ignorePlatform === true;
245
- if (ignorePlatform) {
246
- logger.warn("⚠️ 已启用 --ignore-platform:将忽略命令平台限制并强制执行,可能导致命令失败或产生不可预期行为。");
247
- }
248
- const availableGroupNames = new Set(Object.keys(scenarioGroups));
249
- const unknownGroups = specs
250
- .map((s) => s.name)
251
- .filter((name) => !availableGroupNames.has(name));
252
- // `--list`:列出命令但不执行
253
- if (opts.list) {
254
- console.log(`\n[${commandName}] 场景命令(按 group 展示):\n`);
255
- if (unknownGroups.length > 0) {
256
- logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
257
- logger.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
258
- console.log("");
241
+ const stopOnError = opts.stopOnError === true;
242
+ // variadic 单参数时类型为 string,归一成 string[]
243
+ const groupRaw = opts.group;
244
+ const groupArray = Array.isArray(groupRaw)
245
+ ? groupRaw
246
+ : groupRaw !== undefined && groupRaw !== null
247
+ ? [String(groupRaw)]
248
+ : undefined;
249
+ const specs = parseGroupSpecs(groupArray, scenarioDefaultOrder);
250
+ const ignorePlatform = opts.ignorePlatform === true;
251
+ if (ignorePlatform) {
252
+ logger.warn("⚠️ 已启用 --ignore-platform:将忽略命令平台限制并强制执行,可能导致命令失败或产生不可预期行为。");
259
253
  }
260
- let printedAnyGroup = false;
261
- for (const spec of specs) {
262
- if (printedAnyGroup) {
254
+ const availableGroupNames = new Set(Object.keys(scenarioGroups));
255
+ const unknownGroups = specs
256
+ .map((s) => s.name)
257
+ .filter((name) => !availableGroupNames.has(name));
258
+ // `--list`:列出命令但不执行
259
+ if (opts.list) {
260
+ console.log(`\n[${commandName}] 场景命令(按 group 展示):\n`);
261
+ if (unknownGroups.length > 0) {
262
+ logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
263
+ logger.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
263
264
  console.log("");
264
265
  }
265
- printedAnyGroup = true;
266
- const groupCommands = scenarioGroups[spec.name] ?? [];
267
- if (groupCommands.length === 0) {
268
- console.log(`Group: ${spec.name}`);
269
- console.log(` (无命令)`);
270
- continue;
271
- }
272
- for (let round = 1; round <= Math.max(1, spec.repeat); round++) {
273
- if (round === 1) {
274
- console.log(`Group: ${spec.name}`);
266
+ let printedAnyGroup = false;
267
+ for (const spec of specs) {
268
+ if (printedAnyGroup) {
269
+ console.log("");
275
270
  }
276
- if (spec.repeat > 1) {
277
- console.log(` Round: ${round}/${spec.repeat}`);
271
+ printedAnyGroup = true;
272
+ const groupCommands = scenarioGroups[spec.name] ?? [];
273
+ if (groupCommands.length === 0) {
274
+ console.log(`Group: ${spec.name}`);
275
+ console.log(` (无命令)`);
276
+ continue;
278
277
  }
279
- for (const c of groupCommands) {
280
- const text = getCommandTextForDisplay(c);
281
- const backgroundTag = getBackgroundTag(c);
282
- const desc = c.description != null && c.description !== ""
283
- ? ` ${c.description}`
284
- : text
285
- ? ` — ${text}`
286
- : "";
287
- console.log(` [${c.kind}]${backgroundTag} ${text || "(无命令)"}${desc}`);
278
+ for (let round = 1; round <= Math.max(1, spec.repeat); round++) {
279
+ if (round === 1) {
280
+ console.log(`Group: ${spec.name}`);
281
+ }
282
+ if (spec.repeat > 1) {
283
+ console.log(` Round: ${round}/${spec.repeat}`);
284
+ }
285
+ for (const c of groupCommands) {
286
+ const text = getCommandTextForDisplay(c);
287
+ const backgroundTag = getBackgroundTag(c);
288
+ const desc = c.description != null && c.description !== ""
289
+ ? ` — ${c.description}`
290
+ : text
291
+ ? ` — ${text}`
292
+ : "";
293
+ console.log(` [${c.kind}]${backgroundTag} ${text || "(无命令)"}${desc}`);
294
+ }
288
295
  }
289
296
  }
297
+ if (!printedAnyGroup) {
298
+ console.log("(未匹配到任何可用 group)");
299
+ }
300
+ console.log();
301
+ return;
290
302
  }
291
- if (!printedAnyGroup) {
292
- console.log("(未匹配到任何可用 group)");
293
- }
294
- console.log();
295
- return;
296
- }
297
- // `--dry-run`:打印将执行的命令序列,不写子进程
298
- if (opts.dryRun) {
299
- const chunks = getGroupChunks(scenarioGroups, specs, {
300
- ignorePlatform,
301
- });
302
- const commandsToRun = chunks.flat();
303
- console.log(`\n(dry-run) [${commandName}] 将要执行的命令:\n`);
304
- if (unknownGroups.length > 0) {
305
- logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
306
- logger.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
307
- console.log("");
308
- }
309
- if (commandsToRun.length === 0) {
310
- console.log("(无可执行命令:请检查 group 名称或命令平台类型)");
303
+ // `--dry-run`:打印将执行的命令序列,不写子进程
304
+ if (opts.dryRun) {
305
+ const chunks = getGroupChunks(scenarioGroups, specs, {
306
+ ignorePlatform,
307
+ });
308
+ const commandsToRun = chunks.flat();
309
+ console.log(`\n(dry-run) [${commandName}] 将要执行的命令:\n`);
310
+ if (unknownGroups.length > 0) {
311
+ logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
312
+ logger.warn(`可用 group:${Array.from(availableGroupNames).join(", ") || "(无)"}`);
313
+ console.log("");
314
+ }
315
+ if (commandsToRun.length === 0) {
316
+ console.log("(无可执行命令:请检查 group 名称或命令平台类型)");
317
+ console.log("");
318
+ return;
319
+ }
320
+ commandsToRun.forEach((c, i) => {
321
+ const text = getCommandTextForDisplay(c);
322
+ const backgroundTag = getBackgroundTag(c);
323
+ const desc = c.description != null && c.description !== ""
324
+ ? ` — ${c.description}`
325
+ : text
326
+ ? ` — ${text}`
327
+ : "";
328
+ console.log(` ${i + 1}. [${c.kind}]${backgroundTag} ${text || "(无命令)"}${desc}`);
329
+ });
311
330
  console.log("");
312
331
  return;
313
332
  }
314
- commandsToRun.forEach((c, i) => {
315
- const text = getCommandTextForDisplay(c);
316
- const backgroundTag = getBackgroundTag(c);
317
- const desc = c.description != null && c.description !== ""
318
- ? ` ${c.description}`
319
- : text
320
- ? ` ${text}`
321
- : "";
322
- console.log(` ${i + 1}. [${c.kind}]${backgroundTag} ${text || "(无命令)"}${desc}`);
333
+ const intervalMs = Math.max(0, parseInt(opts.interval ?? "0", 10));
334
+ const options = {
335
+ stopOnError,
336
+ silent: opts.silent ?? false,
337
+ waitForBackground: opts.wait === true,
338
+ ignorePlatform,
339
+ intervalMs: intervalMs > 0 ? intervalMs : undefined,
340
+ };
341
+ const chunks = getGroupChunks(scenarioGroups, specs, {
342
+ ignorePlatform,
323
343
  });
324
- console.log("");
325
- return;
344
+ const { failed } = await runGroupChunks(chunks, options);
345
+ if (failed)
346
+ process.exit(1);
347
+ }
348
+ finally {
349
+ detachLog?.();
326
350
  }
327
- const intervalMs = Math.max(0, parseInt(opts.interval ?? "0", 10));
328
- const options = {
329
- stopOnError,
330
- silent: opts.silent ?? false,
331
- waitForBackground: opts.wait === true,
332
- ignorePlatform,
333
- intervalMs: intervalMs > 0 ? intervalMs : undefined,
334
- };
335
- const chunks = getGroupChunks(scenarioGroups, specs, {
336
- ignorePlatform,
337
- });
338
- const { failed } = await runGroupChunks(chunks, options);
339
- if (failed)
340
- process.exit(1);
341
351
  });
342
352
  }
343
353
  }
@@ -347,7 +357,8 @@ program
347
357
  .description("顺序执行 bat / mac / shell 命令")
348
358
  .version("0.1.0")
349
359
  .configureHelp({ showGlobalOptions: true })
350
- .addOption(new Option("--log-level <level>", "工具与 hiperf_txt_parser 日志级别;未指定时读 SNAPSHOT_CHECKER_LOG_LEVEL / LOG_LEVEL,默认 info").choices([...SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES]));
360
+ .addOption(new Option("--log-level <level>", "日志级别;未设则读 SNAPSHOT_CHECKER_LOG_LEVEL / LOG_LEVEL,默认 info").choices([...SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES]))
361
+ .addOption(new Option("--log-file [path]", "日志与子进程输出追加写文件;省略 path 则 <output-dir>/workspace/checker.log"));
351
362
  async function main() {
352
363
  await registerScenarioCommands(program);
353
364
  program.hook("preAction", (thisCommand) => {
@@ -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,4 +1,10 @@
1
- /** 将 `--group` 文本解析为 {@link GroupSpec[]};允许 `name`、`name:N` 及逗号分隔多项 */
1
+ /**
2
+ * CLI `--group` 与场景默认组顺序之间的桥梁:把 argv 上的字符串解析成 {@link GroupSpec} 列表。
3
+ *
4
+ * 语法要点:
5
+ * - 多条可拆在多个 argv,或写在一条里用逗号分隔;
6
+ * - `name` 表示执行一次,`name:N` 表示该组重复 N 次(非法或小于 1 时按 1 处理)。
7
+ */
2
8
  import type { GroupSpec } from "./runGroups.js";
3
9
  export declare function parseGroupSpecs(raw: string[] | undefined, defaultOrder: string[]): GroupSpec[];
4
10
  //# sourceMappingURL=groupSpecs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groupSpecs.d.ts","sourceRoot":"","sources":["../../src/groupSpecs.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,EAAE,GACrB,SAAS,EAAE,CAsBb"}
1
+ {"version":3,"file":"groupSpecs.d.ts","sourceRoot":"","sources":["../../src/groupSpecs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,EAAE,GACrB,SAAS,EAAE,CA8Bb"}
@@ -3,19 +3,24 @@ export function parseGroupSpecs(raw, defaultOrder) {
3
3
  return defaultOrder.map((name) => ({ name, repeat: 1 }));
4
4
  }
5
5
  const specs = [];
6
- const tokens = raw.flatMap((s) => s
7
- .split(",")
8
- .map((t) => t.trim())
9
- .filter(Boolean));
10
- for (const token of tokens) {
11
- const colon = token.indexOf(":");
12
- if (colon === -1) {
13
- specs.push({ name: token, repeat: 1 });
14
- continue;
6
+ for (const argvFragment of raw) {
7
+ const commaSeparated = argvFragment.split(",");
8
+ for (let i = 0; i < commaSeparated.length; i++) {
9
+ const token = commaSeparated[i].trim();
10
+ if (!token) {
11
+ continue;
12
+ }
13
+ const colon = token.indexOf(":");
14
+ if (colon === -1) {
15
+ specs.push({ name: token, repeat: 1 });
16
+ continue;
17
+ }
18
+ const name = token.slice(0, colon).trim();
19
+ const repeatRaw = token.slice(colon + 1).trim();
20
+ const parsed = parseInt(repeatRaw, 10);
21
+ const repeat = Number.isNaN(parsed) || parsed < 1 ? 1 : parsed;
22
+ specs.push({ name, repeat });
15
23
  }
16
- const name = token.slice(0, colon).trim();
17
- const n = parseInt(token.slice(colon + 1).trim(), 10);
18
- specs.push({ name, repeat: Number.isNaN(n) || n < 1 ? 1 : n });
19
24
  }
20
25
  return specs;
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"groupSpecs.js","sourceRoot":"","sources":["../../src/groupSpecs.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAC7B,GAAyB,EACzB,YAAsB;IAEtB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC;SACE,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"groupSpecs.js","sourceRoot":"","sources":["../../src/groupSpecs.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,eAAe,CAC7B,GAAyB,EACzB,YAAsB;IAEtB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,KAAK,MAAM,YAAY,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,9 +1,3 @@
1
- /**
2
- * 工具侧结构化日志;子进程标准流由 Shell 等 Runner 与 `streamOutput` 控制。
3
- *
4
- * 默认级别由 `SNAPSHOT_CHECKER_LOG_LEVEL` 或 `LOG_LEVEL` 给出(与 `hiperf_txt_parser` 同名枚举;未识别时回退为 `info`),并与 {@link setHiperfLogLevel} 对齐。
5
- * CLI 全局 `--log-level` 通过 {@link setGlobalLogLevelFromCli} 覆盖该基准(直至进程退出)。
6
- */
7
1
  import { type ConsolaInstance } from "consola";
8
2
  import { type HiperfLogLevelName } from "hiperf_txt_parser";
9
3
  /** 与 `hiperf_txt_parser` 一致的合法级别(供 CLI choices 与环境解析共用) */
@@ -20,4 +14,20 @@ export declare function setGlobalLogLevelFromCli(level: string | undefined): voi
20
14
  export declare function attachQuietSilent(silent: boolean): () => void;
21
15
  /** 全局共享的 Consola 实例;未处于 {@link attachQuietSilent} 时与 {@link baselineLevelName} 一致 */
22
16
  export declare const logger: ConsolaInstance;
17
+ /** 当前是否已挂载文件日志 sink(供 Runner 决定是否对子进程标准流做 tee) */
18
+ export declare function isLogFileSinkActive(): boolean;
19
+ /**
20
+ * 将子进程等「非 consola」原文追加到当前 `--log-file` 路径;无活跃 sink 或空串时为 no-op。
21
+ */
22
+ export declare function appendRawToActiveLogFile(data: string): void;
23
+ /** `<outputDir>/workspace/checker.log`(与 forkall/report 的 workspace 约定一致) */
24
+ export declare function resolveDefaultCheckerLogPath(outputDir: string): string;
25
+ /**
26
+ * 由 CLI `--log-file` 解析得到绝对路径;未启用转储时返回 `undefined`。
27
+ */
28
+ export declare function resolveLogDumpPath(opts: Record<string, unknown>): string | undefined;
29
+ /**
30
+ * 将当前进程内 {@link logger} 的输出追加写入文件;返回卸载函数,须在 `finally` 中调用。
31
+ */
32
+ export declare function attachLoggerFileSink(filePath: string): () => void;
23
33
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,2DAA2D;AAC3D,eAAO,MAAM,kCAAkC,EAAE,SAAS,kBAAkB,EAOlE,CAAC;AAsCX;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,CAmB7D;AAED,qFAAqF;AACrF,eAAO,MAAM,MAAM,EAAE,eAEnB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAWA,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,SAAS,CAAC;AACjB,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,2DAA2D;AAC3D,eAAO,MAAM,kCAAkC,EAAE,SAAS,kBAAkB,EAOlE,CAAC;AAsCX;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,CAmB7D;AAED,qFAAqF;AACrF,eAAO,MAAM,MAAM,EAAE,eAEnB,CAAC;AA2CH,kDAAkD;AAClD,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAWpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,IAAI,CAWjE"}
@@ -1,11 +1,16 @@
1
1
  /**
2
2
  * 工具侧结构化日志;子进程标准流由 Shell 等 Runner 与 `streamOutput` 控制。
3
+ * 启用 {@link attachLoggerFileSink} 时,Shell 等 Runner 会将子进程 stdout/stderr 原文追加写入同一日志文件(与结构化行并存)。
3
4
  *
4
5
  * 默认级别由 `SNAPSHOT_CHECKER_LOG_LEVEL` 或 `LOG_LEVEL` 给出(与 `hiperf_txt_parser` 同名枚举;未识别时回退为 `info`),并与 {@link setHiperfLogLevel} 对齐。
5
6
  * CLI 全局 `--log-level` 通过 {@link setGlobalLogLevelFromCli} 覆盖该基准(直至进程退出)。
7
+ * `hiperf_txt_parser` 解析路径日志经 {@link setHiperfParserLogger} 接到本模块同一 {@link logger}。
6
8
  */
7
- import { createConsola, LogLevels } from "consola";
8
- import { setHiperfLogLevel, } from "hiperf_txt_parser";
9
+ import { appendFileSync, mkdirSync } from "node:fs";
10
+ import path from "node:path";
11
+ import util from "node:util";
12
+ import { createConsola, LogLevels, } from "consola";
13
+ import { setHiperfLogLevel, setHiperfParserLogger, } from "hiperf_txt_parser";
9
14
  /** 与 `hiperf_txt_parser` 一致的合法级别(供 CLI choices 与环境解析共用) */
10
15
  export const SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES = [
11
16
  "silent",
@@ -89,4 +94,85 @@ export function attachQuietSilent(silent) {
89
94
  export const logger = createConsola({
90
95
  level: LEVEL_TO_CONSOLA[baselineLevelName],
91
96
  });
97
+ setHiperfParserLogger({
98
+ debug: (...args) => {
99
+ Reflect.apply(logger.debug, logger, args);
100
+ },
101
+ info: (...args) => {
102
+ Reflect.apply(logger.info, logger, args);
103
+ },
104
+ warn: (...args) => {
105
+ Reflect.apply(logger.warn, logger, args);
106
+ },
107
+ });
108
+ function formatLogLineForFile(logObj) {
109
+ const ts = logObj.date instanceof Date
110
+ ? logObj.date.toISOString()
111
+ : new Date().toISOString();
112
+ const type = logObj.type ?? "log";
113
+ const parts = (logObj.args ?? []).map((a) => typeof a === "string"
114
+ ? a
115
+ : util.inspect(a, { depth: 6, breakLength: 120, maxArrayLength: 32 }));
116
+ return `[${ts}] ${type} ${parts.join(" ")}\n`;
117
+ }
118
+ function createFileAppendReporter(filePath) {
119
+ return {
120
+ log(logObj) {
121
+ appendFileSync(filePath, formatLogLineForFile(logObj), "utf8");
122
+ },
123
+ };
124
+ }
125
+ /** 支持嵌套 attach:栈顶为当前 tee 目标 */
126
+ const logFileSinkPathStack = [];
127
+ /** 当前是否已挂载文件日志 sink(供 Runner 决定是否对子进程标准流做 tee) */
128
+ export function isLogFileSinkActive() {
129
+ return logFileSinkPathStack.length > 0;
130
+ }
131
+ /**
132
+ * 将子进程等「非 consola」原文追加到当前 `--log-file` 路径;无活跃 sink 或空串时为 no-op。
133
+ */
134
+ export function appendRawToActiveLogFile(data) {
135
+ if (data.length === 0)
136
+ return;
137
+ const filePath = logFileSinkPathStack[logFileSinkPathStack.length - 1];
138
+ if (filePath === undefined)
139
+ return;
140
+ appendFileSync(filePath, data, "utf8");
141
+ }
142
+ /** `<outputDir>/workspace/checker.log`(与 forkall/report 的 workspace 约定一致) */
143
+ export function resolveDefaultCheckerLogPath(outputDir) {
144
+ const rel = path.join(path.normalize(outputDir), "workspace", "checker.log");
145
+ return path.resolve(process.cwd(), rel);
146
+ }
147
+ /**
148
+ * 由 CLI `--log-file` 解析得到绝对路径;未启用转储时返回 `undefined`。
149
+ */
150
+ export function resolveLogDumpPath(opts) {
151
+ const raw = opts.logFile;
152
+ if (raw === undefined)
153
+ return undefined;
154
+ if (typeof raw === "string" && raw.trim() !== "") {
155
+ return path.resolve(process.cwd(), raw.trim());
156
+ }
157
+ const out = typeof opts.outputDir === "string" && opts.outputDir.trim() !== ""
158
+ ? opts.outputDir.trim()
159
+ : String.raw `.\output`;
160
+ return resolveDefaultCheckerLogPath(out);
161
+ }
162
+ /**
163
+ * 将当前进程内 {@link logger} 的输出追加写入文件;返回卸载函数,须在 `finally` 中调用。
164
+ */
165
+ export function attachLoggerFileSink(filePath) {
166
+ const resolved = path.resolve(filePath);
167
+ mkdirSync(path.dirname(resolved), { recursive: true });
168
+ logFileSinkPathStack.push(resolved);
169
+ const reporter = createFileAppendReporter(resolved);
170
+ logger.addReporter(reporter);
171
+ return () => {
172
+ logger.removeReporter(reporter);
173
+ const idx = logFileSinkPathStack.lastIndexOf(resolved);
174
+ if (idx >= 0)
175
+ logFileSinkPathStack.splice(idx, 1);
176
+ };
177
+ }
92
178
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAwB,MAAM,SAAS,CAAC;AACzE,OAAO,EACL,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAE3B,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kCAAkC,GAAkC;IAC/E,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACC,CAAC;AAEX,SAAS,6BAA6B;IACpC,MAAM,GAAG,GAAG,CACV,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACtC,OAAO,CAAC,GAAG,CAAC,SAAS;QACrB,MAAM,CACP;SACE,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAQ,kCAAwD,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5E,CAAC,CAAE,GAA0B;QAC7B,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,6FAA6F;AAC7F,IAAI,iBAAiB,GAAuB,6BAA6B,EAAE,CAAC;AAC5E,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAErC,MAAM,gBAAgB,GAAuC;IAC3D,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,KAAK,EAAE,SAAS,CAAC,KAAK;IACtB,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,KAAK,EAAE,SAAS,CAAC,KAAK;IACtB,KAAK,EAAE,SAAS,CAAC,KAAK;CACvB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,iBAAiB,GAAG,OAAoC,CAAC;AAC/D,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,4DAA4D;AAC5D,SAAS,iBAAiB;IACxB,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACnD,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAyB;IAChE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAE,kCAAwD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,iBAAiB,GAAG,GAAyB,CAAC;IAC9C,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC3B,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAe;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;IACD,gBAAgB,IAAI,CAAC,CAAC;IACtB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC/B,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,GAAS,EAAE;QAChB,IAAI,IAAI;YAAE,OAAO;QACjB,IAAI,GAAG,IAAI,CAAC;QACZ,gBAAgB,IAAI,CAAC,CAAC;QACtB,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC1B,gBAAgB,GAAG,CAAC,CAAC;YACrB,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAAoB,aAAa,CAAC;IACnD,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;CAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,9 @@ export interface ExecuteAllOptions {
25
25
  */
26
26
  stopOnError?: boolean;
27
27
  /**
28
- * 为 `true` 时经 `attachQuietSilent`(src/logger)应用日志降噪,并协同 `hiperf_txt_parser`;
29
- * 默认 `streamOutput === false`,且不将非流式缓冲结果回显至终端。
30
- */
28
+ * 为 `true` 时经 `attachQuietSilent`(src/logger)应用日志降噪,并协同 `hiperf_txt_parser`;
29
+ * 默认 `streamOutput === false`,且不将非流式缓冲结果回显至终端。
30
+ */
31
31
  silent?: boolean;
32
32
  /**
33
33
  * 子进程标准流是否实时输出。未指定且非 `silent` 时默认为 `true`;为 `true` 时不在结束时重复整段缓冲输出。
@@ -1 +1 @@
1
- {"version":3,"file":"runCommand.d.ts","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAapB,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAOrE;AAYD,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1D,qEAAqE;IACrE,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC/D,iBAAiB;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,8BAA8B;AAC9B,wBAAsB,UAAU,CAC9B,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAkDxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACxB;;;SAGK;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,2BAA2B,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAsMD;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,YAAY,EAAE,EACxB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CA2G1B"}
1
+ {"version":3,"file":"runCommand.d.ts","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAiBpB,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAQrE;AAuBD,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1D,qEAAqE;IACrE,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC/D,iBAAiB;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,8BAA8B;AAC9B,wBAAsB,UAAU,CAC9B,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAkDxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,2BAA2B,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAsMD;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,YAAY,EAAE,EACxB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAgH1B"}
@@ -6,7 +6,7 @@
6
6
  import { spawn } from "node:child_process";
7
7
  import { platform } from "node:os";
8
8
  import { CommandKind, createCommandContext, getCurrentPlatformKind, unsupportedBackgroundCommandResult, } from "./types.js";
9
- import { attachQuietSilent, logger } from "./logger.js";
9
+ import { appendRawToActiveLogFile, attachQuietSilent, logger, } from "./logger.js";
10
10
  import { BuiltinFunctionCommandRunner, EmbedCommandRunner, ShellCommandRunner, } from "./runners/index.js";
11
11
  const currentPlatform = platform();
12
12
  const currentPlatformKind = getCurrentPlatformKind();
@@ -14,17 +14,29 @@ const TEMPLATE_VAR_PATTERN = /\{\{(\w+)\}\}/g;
14
14
  /** `embed` / `builtin-function` 恒为 true;其余需与 {@link getCurrentPlatformKind} 一致 */
15
15
  export function isSupportedOnCurrentPlatform(cmd) {
16
16
  if (cmd.kind === CommandKind.Embed ||
17
- cmd.kind === CommandKind.BuiltinFunction)
17
+ cmd.kind === CommandKind.BuiltinFunction) {
18
18
  return true;
19
+ }
19
20
  return cmd.kind === currentPlatformKind;
20
21
  }
21
- const commandRunners = [
22
- new EmbedCommandRunner(),
23
- new BuiltinFunctionCommandRunner(),
24
- new ShellCommandRunner(),
25
- ];
22
+ /** 进程级单例:避免每条命令在 runner 列表中线性查找 */
23
+ const embedCommandRunner = new EmbedCommandRunner();
24
+ const builtinFunctionCommandRunner = new BuiltinFunctionCommandRunner();
25
+ const shellCommandRunner = new ShellCommandRunner();
26
+ /** 按 {@link CommandKind} 分派到对应 Runner(非法 kind 时返回 undefined) */
26
27
  function getCommandRunner(cmd) {
27
- return commandRunners.find((runner) => runner.canRun(cmd));
28
+ switch (cmd.kind) {
29
+ case CommandKind.Embed:
30
+ return embedCommandRunner;
31
+ case CommandKind.BuiltinFunction:
32
+ return builtinFunctionCommandRunner;
33
+ case CommandKind.Linux:
34
+ case CommandKind.Mac:
35
+ case CommandKind.Windows:
36
+ return shellCommandRunner;
37
+ default:
38
+ return undefined;
39
+ }
28
40
  }
29
41
  /** 执行单个 {@link CommandDef} */
30
42
  export async function executeOne(cmd, options = {}) {
@@ -284,6 +296,7 @@ export async function executeAll(commands, options = {}) {
284
296
  backgroundTarget.push(child);
285
297
  };
286
298
  try {
299
+ // 顺序执行:模板在 applyContextToCommand 中展开;capture 写回共享 context
287
300
  for (let index = 0; index < commands.length; index++) {
288
301
  const originalCmd = commands[index];
289
302
  const cmd = applyContextToCommand(originalCmd, context);
@@ -310,11 +323,15 @@ export async function executeAll(commands, options = {}) {
310
323
  });
311
324
  results.push(result);
312
325
  applyCaptureToContext(originalCmd.captureToVar, result, context, captureRegexCache);
313
- if (!silent) {
314
- if (!streamOutput) {
315
- if (result.stdout)
326
+ if (!streamOutput) {
327
+ if (result.stdout) {
328
+ appendRawToActiveLogFile(result.stdout);
329
+ if (!silent)
316
330
  console.log(result.stdout);
317
- if (result.stderr)
331
+ }
332
+ if (result.stderr) {
333
+ appendRawToActiveLogFile(result.stderr);
334
+ if (!silent)
318
335
  console.error(result.stderr);
319
336
  }
320
337
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runCommand.js","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,sBAAsB,EACtB,kCAAkC,GAKnC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;AACrD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAE9C,kFAAkF;AAClF,MAAM,UAAU,4BAA4B,CAAC,GAAe;IAC1D,IACE,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK;QAC9B,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,eAAe;QAExC,OAAO,IAAI,CAAC;IACd,OAAO,GAAG,CAAC,IAAI,KAAK,mBAAmB,CAAC;AAC1C,CAAC;AAED,MAAM,cAAc,GAAoB;IACtC,IAAI,kBAAkB,EAAE;IACxB,IAAI,4BAA4B,EAAE;IAClC,IAAI,kBAAkB,EAAE;CACzB,CAAC;AAEF,SAAS,gBAAgB,CAAC,GAAe;IACvC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAaD,8BAA8B;AAC9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAe,EACf,UAA6B,EAAE;IAE/B,MAAM,EACJ,YAAY,GAAG,IAAI,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,GACf,GAAG,OAAO,CAAC;IACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,eAAe,GAAG,CAAC,IAAI,kBAAkB;YACjD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC/B,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,kCAAkC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAC/B,YAAY;YACZ,yBAAyB;YACzB,8BAA8B;YAC9B,cAAc,EAAE,cAAc,IAAI,oBAAoB,EAAE;YACxD,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,WAAW,GACf,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACjE,MAAM,MAAM,GACV,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,eAAe;YACtC,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,iBAAiB,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW;YACX,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,GAAG,MAAM,KAAK,OAAO,EAAE;YAC/B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC/B,CAAC;IACJ,CAAC;AACH,CAAC;AAgCD,sCAAsC;AACtC,SAAS,cAAc,CAAC,GAAW,EAAE,OAAuB;IAC1D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QACzD,MAAM,CAAC,KAAK,CACV,mBAAmB,GAAG,SAAS,SAAS,MAAM,GAAG,uBAAuB,CACzE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,SAAS,qBAAqB,CAC5B,GAAe,EACf,OAAuB;IAEvB,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,eAAe,GACnB,GAAG,CAAC,WAAW,IAAI,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,eAAe,GACnB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IACE,CAAC,cAAc;QACf,CAAC,eAAe;QAChB,CAAC,cAAc;QACf,CAAC,eAAe;QAChB,CAAC,eAAe,EAChB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAe,EAAE,GAAG,GAAG,EAAE,CAAC;IACpC,IAAI,cAAc,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,eAAe,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,cAAc,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,eAAe,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,SAAS,qBAAqB,CAC5B,OAAoC,EACpC,MAAqB,EACrB,OAAuB,EACvB,UAAsC;IAEtC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO;IAE5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,EAAE,GAAG,IAAI,CAAC;YACZ,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,oBAAoB;YACpB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,GAA2B,IAAI,CAAC;QACzC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,OAAO,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,SAAS,6BAA6B,CAAC,GAAW;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YAClE,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAAmB;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO;IAExB,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,6BAA6B,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAAmB;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO;IAExB,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,6BAA6B,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,sBAAsB,CAAC,QAAwB;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACpD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,OAAO,CAAC,GAAG,CACT,QAAQ,CAAC,GAAG,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CACL,CACF;QACD,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;KACrE,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,8BAA8B;AAC9B,SAAS,0BAA0B,CAAC,QAAwB;IAC1D,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CACL,CACF,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,QAAwB,EACxB,IAAa;IAEb,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACvD,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;QAClD,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAsB,EACtB,UAA6B,EAAE;IAE/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;IAC/D,MAAM,EACJ,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,KAAK,EACd,YAAY,GAAG,CAAC,MAAM,EACtB,MAAM,GAAG,CAAC,EACV,KAAK,EAAE,aAAa,EACpB,2BAA2B,EAC3B,iBAAiB,GAAG,KAAK,EACzB,cAAc,EAAE,aAAa,GAC9B,GAAG,OAAO,CAAC;IACZ,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAmB,aAAa,IAAI,oBAAoB,EAAE,CAAC;IACxE,MAAM,uBAAuB,GAAmB,EAAE,CAAC;IACnD,MAAM,gBAAgB,GACpB,2BAA2B,IAAI,uBAAuB,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3D,MAAM,uBAAuB,GAAoB,EAAE,CAAC;IAEpD,MAAM,oBAAoB,GAAG,CAAC,GAAe,EAAU,EAAE;QACvD,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC;QAC5C,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC;QACzD,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,kBAAkB,GACtB,CAAC,GAAe,EAAE,EAAE,CACpB,CAAC,KAAmB,EAAQ,EAAE;QAC5B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEJ,IAAI,CAAC;QACL,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,KAAK,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU;gBAC3B,CAAC,CAAC,SAAS,GAAG,CAAC;oBACb,CAAC,CAAC,QAAQ,SAAS,SAAS;oBAC5B,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CACT,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,KAAK,oBAAoB,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAC1E,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE;gBACnC,YAAY;gBACZ,yBAAyB,EAAE,GAAG,CAAC,UAAU;oBACvC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,SAAS;gBACb,8BAA8B,EAAE,GAAG,CAAC,UAAU;oBAC5C,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;wBACP,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;oBACH,CAAC,CAAC,SAAS;gBACb,cAAc,EAAE,OAAO;aACxB,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,qBAAqB,CACnB,WAAW,CAAC,YAAY,EACxB,MAAM,EACN,OAAO,EACP,iBAAiB,CAClB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,IAAI,MAAM,CAAC,MAAM;wBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,MAAM,CAAC,MAAM;wBAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,SAAS,GAAG,CAAC;oBACX,CAAC,CAAC,aAAa,SAAS,SAAS;oBACjC,CAAC,CAAC,WAAW,CAChB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,UAAU,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,UAAU,IAAI,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACzC,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,2BAA2B,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,2BAA2B,CAC/B,uBAAuB,EACvB,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACf,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runCommand.js","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runGroups.d.ts","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,MAAM,EACN,UAAU,EACX,MAAM,YAAY,CAAC;AAcpB,iBAAiB;AACjB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,UAAU,EAAE,CAMd;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,UAAU,EAAE,CAoBd;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,UAAU,EAAE,EAAE,CAoBhB;AAMD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAAE,EAAE,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CA6ExD"}
1
+ {"version":3,"file":"runGroups.d.ts","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,MAAM,EACN,UAAU,EACX,MAAM,YAAY,CAAC;AAOpB,iBAAiB;AACjB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AA4CD,gCAAgC;AAChC,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,UAAU,EAAE,CAMd;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,UAAU,EAAE,CAOd;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,UAAU,EAAE,EAAE,CAOhB;AAMD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAAE,EAAE,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAyFxD"}
@@ -1,59 +1,56 @@
1
1
  import { attachQuietSilent, logger } from "./logger.js";
2
2
  import { createCommandContext } from "./types.js";
3
- import { isSupportedOnCurrentPlatform } from "./runCommand.js";
4
- import { executeAll, finalizeBackgroundProcesses } from "./runCommand.js";
5
- function withSignalHandler(signal, handler) {
6
- process.on(signal, handler);
7
- return () => process.off(signal, handler);
8
- }
9
- /** 按固定组序展开命令;默认过滤为当前平台可执行的条目 */
10
- export function getCommandsToRun(groups, groupOrder, options = {}) {
11
- return getCommandsToRunWithRepeat(groups, groupOrder.map((name) => ({ name, repeat: 1 })), options);
12
- }
13
- /** 按 `GroupSpec`(含 `repeat`)构造线性命令列表;组内顺序执行后再展开下一规格 */
14
- export function getCommandsToRunWithRepeat(groups, specs, options = {}) {
15
- const { ignorePlatform = false } = options;
16
- const list = [];
3
+ import { executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./runCommand.js";
4
+ /**
5
+ * 遍历组规格:对每个组名求「当前平台可执行的命令子序列」,并按 repeat 多次交给回调。
6
+ *
7
+ * `getCommandsToRunWithRepeat` 将每次回调的序列展平拼接;`getGroupChunks` 则每次拷贝成独立 chunk
8
+ *(执行器可能改写模板字段,故 chunk 之间不能共享同一数组实例)。
9
+ */
10
+ function forEachResolvedChunk(groups, specs, ignorePlatform, onSupportedCommands) {
17
11
  const supportedCache = new Map();
18
12
  for (const { name, repeat } of specs) {
19
13
  let supported = supportedCache.get(name);
20
14
  if (!supported) {
21
15
  const cmds = groups[name];
22
- if (!cmds)
16
+ if (!cmds) {
23
17
  continue;
18
+ }
24
19
  supported = ignorePlatform
25
20
  ? cmds
26
21
  : cmds.filter((c) => isSupportedOnCurrentPlatform(c));
27
22
  supportedCache.set(name, supported);
28
23
  }
29
- const n = Math.max(1, repeat);
30
- for (let i = 0; i < n; i++) {
31
- list.push(...supported);
24
+ const rounds = Math.max(1, repeat);
25
+ for (let round = 0; round < rounds; round++) {
26
+ onSupportedCommands(supported);
32
27
  }
33
28
  }
29
+ }
30
+ function withSignalHandler(signal, handler) {
31
+ process.on(signal, handler);
32
+ return () => process.off(signal, handler);
33
+ }
34
+ /** 按固定组序展开命令;默认过滤为当前平台可执行的条目 */
35
+ export function getCommandsToRun(groups, groupOrder, options = {}) {
36
+ return getCommandsToRunWithRepeat(groups, groupOrder.map((name) => ({ name, repeat: 1 })), options);
37
+ }
38
+ /** 按 `GroupSpec`(含 `repeat`)构造线性命令列表;组内顺序执行后再展开下一规格 */
39
+ export function getCommandsToRunWithRepeat(groups, specs, options = {}) {
40
+ const { ignorePlatform = false } = options;
41
+ const list = [];
42
+ forEachResolvedChunk(groups, specs, ignorePlatform, (supported) => {
43
+ list.push(...supported);
44
+ });
34
45
  return list;
35
46
  }
36
47
  /** 将组规格切成多块(每块即一轮组内命令);块界用于施加 `intervalMs` */
37
48
  export function getGroupChunks(groups, specs, options = {}) {
38
49
  const { ignorePlatform = false } = options;
39
50
  const chunks = [];
40
- const supportedCache = new Map();
41
- for (const { name, repeat } of specs) {
42
- let supported = supportedCache.get(name);
43
- if (!supported) {
44
- const cmds = groups[name];
45
- if (!cmds)
46
- continue;
47
- supported = ignorePlatform
48
- ? cmds
49
- : cmds.filter((c) => isSupportedOnCurrentPlatform(c));
50
- supportedCache.set(name, supported);
51
- }
52
- const n = Math.max(1, repeat);
53
- for (let i = 0; i < n; i++) {
54
- chunks.push([...supported]);
55
- }
56
- }
51
+ forEachResolvedChunk(groups, specs, ignorePlatform, (supported) => {
52
+ chunks.push([...supported]);
53
+ });
57
54
  return chunks;
58
55
  }
59
56
  function sleep(ms) {
@@ -73,8 +70,9 @@ export async function runGroupChunks(chunks, options = {}) {
73
70
  /** 跨块共享,供 `captureToVar` 与 `{{var}}` 贯通 */
74
71
  const commandContext = createCommandContext();
75
72
  const onSignal = (signal) => {
76
- if (shuttingDown)
73
+ if (shuttingDown) {
77
74
  return;
75
+ }
78
76
  shuttingDown = true;
79
77
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
80
78
  (async () => {
@@ -92,18 +90,23 @@ export async function runGroupChunks(chunks, options = {}) {
92
90
  if (process.platform === "win32") {
93
91
  cleanupHandlers.push(withSignalHandler("SIGBREAK", () => onSignal("SIGBREAK")));
94
92
  }
95
- // 汇总命令数以生成全局 cur/total
96
- const totalCommands = chunks.reduce((sum, c) => sum + c.length, 0);
93
+ /** 全局进度 `cur/total` 的分母:各块命令条数之和(空块长度为 0) */
94
+ let totalCommands = 0;
95
+ for (let chunkIndex = 0; chunkIndex < chunks.length; chunkIndex++) {
96
+ totalCommands += chunks[chunkIndex].length;
97
+ }
97
98
  let executedCount = 0;
99
+ // 顺序执行各 chunk;块间可插入 intervalMs;块内失败是否中止由 stopOnError 与 executeAll 共同决定
98
100
  try {
99
- for (let i = 0; i < chunks.length; i++) {
100
- if (i > 0 && intervalMs > 0) {
101
+ for (let chunkIndex = 0; chunkIndex < chunks.length; chunkIndex++) {
102
+ if (chunkIndex > 0 && intervalMs > 0) {
101
103
  logger.info(`\n⏱ 等待 ${intervalMs}ms...`);
102
104
  await sleep(intervalMs);
103
105
  }
104
- const chunk = chunks[i];
105
- if (chunk.length === 0)
106
+ const chunk = chunks[chunkIndex];
107
+ if (chunk.length === 0) {
106
108
  continue;
109
+ }
107
110
  const results = await executeAll(chunk, {
108
111
  stopOnError,
109
112
  silent,
@@ -115,10 +118,12 @@ export async function runGroupChunks(chunks, options = {}) {
115
118
  allResults.push(...results);
116
119
  executedCount += chunk.length;
117
120
  const chunkFailed = results.some((r) => !r.success);
118
- if (chunkFailed)
121
+ if (chunkFailed) {
119
122
  failed = true;
120
- if (chunkFailed && stopOnError)
123
+ }
124
+ if (chunkFailed && stopOnError) {
121
125
  break;
126
+ }
122
127
  }
123
128
  if (aggregateBackground.length > 0) {
124
129
  await finalizeBackgroundProcesses(aggregateBackground, waitForBackground);
@@ -1 +1 @@
1
- {"version":3,"file":"runGroups.js","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runGroups.js","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shellRunner.d.ts","sourceRoot":"","sources":["../../../src/runners/shellRunner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAsCtE,0DAA0D;AAC1D,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAInB;IAEH,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAIhC,OAAO,CACL,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC;CA4I1B"}
1
+ {"version":3,"file":"shellRunner.d.ts","sourceRoot":"","sources":["../../../src/runners/shellRunner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8DtE,0DAA0D;AAC1D,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAInB;IAEH,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAIhC,OAAO,CACL,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC;CAgK1B"}
@@ -1,5 +1,23 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { appendRawToActiveLogFile, isLogFileSinkActive, } from "../logger.js";
2
3
  import { CommandKind } from "../types.js";
4
+ function teeToTerminalAndLog(chunk, streamOutput, isStdout) {
5
+ if (streamOutput) {
6
+ if (isStdout)
7
+ process.stdout.write(chunk);
8
+ else
9
+ process.stderr.write(chunk);
10
+ }
11
+ appendRawToActiveLogFile(chunk);
12
+ }
13
+ function attachChildStreamTee(child, streamOutput) {
14
+ child.stdout?.on("data", (d) => {
15
+ teeToTerminalAndLog(d.toString(), streamOutput, true);
16
+ });
17
+ child.stderr?.on("data", (d) => {
18
+ teeToTerminalAndLog(d.toString(), streamOutput, false);
19
+ });
20
+ }
3
21
  function isExitSuccess(code) {
4
22
  return code === 0;
5
23
  }
@@ -44,16 +62,37 @@ export class ShellCommandRunner {
44
62
  const shouldCaptureOutput = Boolean(cmd.captureToVar);
45
63
  if (cmd.background && options.registerBackgroundProcess) {
46
64
  const delayMs = Math.max(0, cmd.backgroundDelayMs ?? 0);
65
+ const logSinkActive = isLogFileSinkActive();
66
+ let outMode;
67
+ let errMode;
68
+ if (options.streamOutput && !logSinkActive) {
69
+ outMode = "inherit";
70
+ errMode = "inherit";
71
+ }
72
+ else if (logSinkActive || options.streamOutput) {
73
+ outMode = "pipe";
74
+ errMode = "pipe";
75
+ }
76
+ else {
77
+ outMode = "ignore";
78
+ errMode = "ignore";
79
+ }
47
80
  const stdio = [
48
81
  "ignore",
49
- options.streamOutput ? "inherit" : "ignore",
50
- options.streamOutput ? "inherit" : "ignore",
82
+ outMode,
83
+ errMode,
51
84
  ];
52
- const spawnBg = () => spawn(command, args, {
53
- cwd,
54
- shell: false,
55
- stdio,
56
- });
85
+ const spawnBg = () => {
86
+ const child = spawn(command, args, {
87
+ cwd,
88
+ shell: false,
89
+ stdio,
90
+ });
91
+ if (outMode === "pipe" || errMode === "pipe") {
92
+ attachChildStreamTee(child, options.streamOutput);
93
+ }
94
+ return child;
95
+ };
57
96
  if (delayMs === 0) {
58
97
  const child = spawnBg();
59
98
  options.registerBackgroundProcess(child);
@@ -94,8 +133,9 @@ export class ShellCommandRunner {
94
133
  durationMs: Date.now() - options.start,
95
134
  });
96
135
  }
97
- // 不需要采集输出时,前台命令直接继承当前终端,保证实时输出体验。
98
- if (options.streamOutput && !shouldCaptureOutput) {
136
+ const logSinkActive = isLogFileSinkActive();
137
+ // 不需要采集输出、且非静默、且未启用 log-file tee 时,前台命令直接继承当前终端。
138
+ if (options.streamOutput && !shouldCaptureOutput && !logSinkActive) {
99
139
  return new Promise((resolve) => {
100
140
  const child = spawn(command, args, {
101
141
  cwd,
@@ -137,14 +177,12 @@ export class ShellCommandRunner {
137
177
  child.stdout?.on("data", (d) => {
138
178
  const s = d.toString();
139
179
  stdout += s;
140
- if (options.streamOutput)
141
- process.stdout.write(s);
180
+ teeToTerminalAndLog(s, options.streamOutput, true);
142
181
  });
143
182
  child.stderr?.on("data", (d) => {
144
183
  const s = d.toString();
145
184
  stderr += s;
146
- if (options.streamOutput)
147
- process.stderr.write(s);
185
+ teeToTerminalAndLog(s, options.streamOutput, false);
148
186
  });
149
187
  child.on("close", (code) => {
150
188
  resolve({
@@ -1 +1 @@
1
- {"version":3,"file":"shellRunner.js","sourceRoot":"","sources":["../../../src/runners/shellRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,SAAS,aAAa,CAAC,IAAmB;IACxC,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG;QAAE,OAAO,WAAW,CAAC;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CACnB,IAAiB,EACjB,GAAW;IAEX,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAe;IAK/C,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,0DAA0D;AAC1D,MAAM,OAAO,kBAAkB;IACZ,KAAK,GAAG,IAAI,GAAG,CAAc;QAC5C,WAAW,CAAC,KAAK;QACjB,WAAW,CAAC,GAAG;QACf,WAAW,CAAC,OAAO;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,GAAe;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CACL,GAAe,EACf,OAA6B;QAE7B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEtD,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAA2D;gBACpE,QAAQ;gBACR,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;gBAC3C,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;aAC5C,CAAC;YACF,MAAM,OAAO,GAAG,GAAiB,EAAE,CACjC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBACnB,GAAG;gBACH,KAAK,EAAE,KAAK;gBACZ,KAAK;aACN,CAAC,CAAC;YAEL,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC;oBAC5C,OAAO,OAAO,CAAC,OAAO,CAAC;wBACrB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE;wBACV,MAAM,EACJ,kFAAkF;wBACpF,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK;qBACvC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACjD,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;4BACxB,OAAO,CAAC,yBAA0B,CAAC,KAAK,CAAC,CAAC;4BAC1C,OAAO,EAAE,CAAC;wBACZ,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC,EAAE,OAAO,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK;aACvC,CAAC,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,IAAI,OAAO,CAAC,YAAY,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;oBACjC,GAAG;oBACH,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;iBACxC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;oBACxC,OAAO,CAAC;wBACN,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,WAAW;wBAC3C,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC;wBAC5B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,EAAE;wBACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK;qBACvC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACxB,OAAO,CAAC;wBACN,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,WAAW;wBAC3C,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,GAAG,CAAC,OAAO;wBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK;qBACvC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBACjC,GAAG;gBACH,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,CAAC;gBACZ,IAAI,OAAO,CAAC,YAAY;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,CAAC;gBACZ,IAAI,OAAO,CAAC,YAAY;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;gBACxC,OAAO,CAAC;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,WAAW;oBAC3C,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC;oBAC5B,QAAQ,EAAE,IAAI;oBACd,MAAM;oBACN,MAAM;oBACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK;iBACvC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,OAAO,CAAC;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,WAAW;oBAC3C,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK;iBACvC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"shellRunner.js","sourceRoot":"","sources":["../../../src/runners/shellRunner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snapshot-checker",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "CLI 工具:按顺序执行 bat / mac / shell 命令",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -34,6 +34,8 @@
34
34
  "clean": "rimraf dist",
35
35
  "build": "rimraf dist && tsc",
36
36
  "test": "tsx --test tests/**/*.test.ts",
37
+ "test:perf": "tsx --test tests/perf/**/*.perf.ts",
38
+ "test:all": "npm run test && npm run test:perf",
37
39
  "prepublishOnly": "npm run build",
38
40
  "start": "node dist/src/cli.js",
39
41
  "dev": "tsx src/cli.ts"
@@ -55,8 +57,8 @@
55
57
  "dependencies": {
56
58
  "commander": "^12.0.0",
57
59
  "consola": "^3.4.2",
58
- "hiperf_txt_parser": "^1.2.5",
59
- "hmtrace-parser": "^0.3.1"
60
+ "hiperf_txt_parser": "^1.2.7",
61
+ "hmtrace-parser": "^0.3.2"
60
62
  },
61
63
  "engines": {
62
64
  "node": ">=18"