snapshot-checker 0.2.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -343
- package/dist/commands/forkall.d.ts +4 -12
- package/dist/commands/forkall.d.ts.map +1 -1
- package/dist/commands/forkall.js +46 -23
- package/dist/commands/forkall.js.map +1 -1
- package/dist/commands/report.d.ts +9 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +153 -32
- package/dist/commands/report.js.map +1 -1
- package/dist/demos/context-demo.d.ts +10 -0
- package/dist/demos/context-demo.d.ts.map +1 -0
- package/dist/{commands/context_demo.js → demos/context-demo.js} +15 -18
- package/dist/demos/context-demo.js.map +1 -0
- package/dist/{commands → demos}/mac-example.d.ts +1 -3
- package/dist/demos/mac-example.d.ts.map +1 -0
- package/dist/{commands → demos}/mac-example.js +2 -4
- package/dist/demos/mac-example.js.map +1 -0
- package/dist/{commands/timeout_demo.d.ts → demos/timeout-demo.d.ts} +2 -2
- package/dist/demos/timeout-demo.d.ts.map +1 -0
- package/dist/demos/timeout-demo.js +35 -0
- package/dist/demos/timeout-demo.js.map +1 -0
- package/dist/src/cli.js +209 -169
- package/dist/src/cli.js.map +1 -1
- package/dist/src/executor.d.ts +1 -3
- package/dist/src/executor.d.ts.map +1 -1
- package/dist/src/executor.js +1 -3
- package/dist/src/executor.js.map +1 -1
- package/dist/src/groupSpecs.d.ts +1 -4
- package/dist/src/groupSpecs.d.ts.map +1 -1
- package/dist/src/groupSpecs.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/{common_groups.d.ts → presets.d.ts} +24 -2
- package/dist/src/lib/presets.d.ts.map +1 -0
- package/dist/src/lib/{common_groups.js → presets.js} +73 -24
- package/dist/src/lib/presets.js.map +1 -0
- package/dist/src/lib/{programmatic.d.ts → scenario.d.ts} +9 -11
- package/dist/src/lib/scenario.d.ts.map +1 -0
- package/dist/src/lib/{programmatic.js → scenario.js} +6 -10
- package/dist/src/lib/scenario.js.map +1 -0
- package/dist/src/logger.d.ts +23 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +92 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/runCommand.d.ts +27 -35
- package/dist/src/runCommand.d.ts.map +1 -1
- package/dist/src/runCommand.js +81 -70
- package/dist/src/runCommand.js.map +1 -1
- package/dist/src/runGroups.d.ts +6 -12
- package/dist/src/runGroups.d.ts.map +1 -1
- package/dist/src/runGroups.js +14 -19
- package/dist/src/runGroups.js.map +1 -1
- package/dist/src/runners/builtinFunctionRunner.d.ts +1 -0
- package/dist/src/runners/builtinFunctionRunner.d.ts.map +1 -1
- package/dist/src/runners/builtinFunctionRunner.js +5 -12
- package/dist/src/runners/builtinFunctionRunner.js.map +1 -1
- package/dist/src/runners/embedRunner.d.ts +1 -0
- package/dist/src/runners/embedRunner.d.ts.map +1 -1
- package/dist/src/runners/embedRunner.js +5 -1
- package/dist/src/runners/embedRunner.js.map +1 -1
- package/dist/src/runners/shellRunner.d.ts +1 -0
- package/dist/src/runners/shellRunner.d.ts.map +1 -1
- package/dist/src/runners/shellRunner.js +40 -8
- package/dist/src/runners/shellRunner.js.map +1 -1
- package/dist/src/runners/types.d.ts +9 -0
- package/dist/src/runners/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +47 -77
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +37 -10
- package/dist/src/types.js.map +1 -1
- package/package.json +10 -3
- package/dist/commands/context_demo.d.ts +0 -18
- package/dist/commands/context_demo.d.ts.map +0 -1
- package/dist/commands/context_demo.js.map +0 -1
- package/dist/commands/mac-example.d.ts.map +0 -1
- package/dist/commands/mac-example.js.map +0 -1
- package/dist/commands/timeout_demo.d.ts.map +0 -1
- package/dist/commands/timeout_demo.js +0 -48
- package/dist/commands/timeout_demo.js.map +0 -1
- package/dist/src/lib/common_groups.d.ts.map +0 -1
- package/dist/src/lib/common_groups.js.map +0 -1
- package/dist/src/lib/foo.d.ts +0 -3
- package/dist/src/lib/foo.d.ts.map +0 -1
- package/dist/src/lib/foo.js +0 -7
- package/dist/src/lib/foo.js.map +0 -1
- package/dist/src/lib/programmatic.d.ts.map +0 -1
- package/dist/src/lib/programmatic.js.map +0 -1
- package/dist/src/lib/trace_formatter.d.ts +0 -9
- package/dist/src/lib/trace_formatter.d.ts.map +0 -1
- package/dist/src/lib/trace_formatter.js +0 -148
- package/dist/src/lib/trace_formatter.js.map +0 -1
package/dist/src/runCommand.d.ts
CHANGED
|
@@ -1,67 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* - 进程被信号终止(Unix):code 为 null,视为失败
|
|
6
|
-
* - spawn 报错(如找不到命令):视为失败
|
|
2
|
+
* 单条与顺序多命令执行(不含 group 分块)。
|
|
3
|
+
*
|
|
4
|
+
* 成功与否:`exitCode === 0` 为成功;信号结束或 `spawn` 失败为失败(与平台一致)。
|
|
7
5
|
*/
|
|
8
6
|
import { type ChildProcess } from "node:child_process";
|
|
9
|
-
import type
|
|
10
|
-
/**
|
|
7
|
+
import { type CommandContext, type CommandDef, type CommandResult } from "./types.js";
|
|
8
|
+
/** `embed` / `builtin-function` 恒为 true;其余需与 {@link getCurrentPlatformKind} 一致 */
|
|
11
9
|
export declare function isSupportedOnCurrentPlatform(cmd: CommandDef): boolean;
|
|
12
10
|
export interface ExecuteOneOptions {
|
|
13
|
-
/**
|
|
11
|
+
/** 为 true(默认)时转发子进程的 stdout/stderr */
|
|
14
12
|
streamOutput?: boolean;
|
|
15
|
-
/**
|
|
13
|
+
/** `background` 命令的子进程交由调用方管理(卸载、收尾等) */
|
|
16
14
|
registerBackgroundProcess?: (child: ChildProcess) => void;
|
|
17
|
-
/**
|
|
15
|
+
/** 参见 {@link RunnerExecuteOptions.registerPendingBackgroundSpawn} */
|
|
16
|
+
registerPendingBackgroundSpawn?: (done: Promise<void>) => void;
|
|
17
|
+
/** 内置函数的命令上下文 */
|
|
18
18
|
commandContext?: CommandContext;
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
20
|
+
/** 执行单个 {@link CommandDef} */
|
|
21
21
|
export declare function executeOne(cmd: CommandDef, options?: ExecuteOneOptions): Promise<CommandResult>;
|
|
22
22
|
export interface ExecuteAllOptions {
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
* 默认 false:忽略命令执行状态,继续执行后续命令。
|
|
26
|
-
* 设为 true:一旦有命令失败(exitCode !== 0 或进程被信号终止等),立即停止。
|
|
24
|
+
* 遇失败是否中止后续命令。默认 `false`:继续执行;`true`:非零退出码或信号终止即停止。
|
|
27
25
|
*/
|
|
28
26
|
stopOnError?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 为 `true` 时经 `attachQuietSilent`(src/logger)应用日志降噪,并协同 `hiperf_txt_parser`;
|
|
29
|
+
* 默认 `streamOutput === false`,且不将非流式缓冲结果回显至终端。
|
|
30
|
+
*/
|
|
29
31
|
silent?: boolean;
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
32
|
-
* 为 true 时 stdout/stderr 会边执行边输出,结束后不再重复打印整段内容。
|
|
33
|
+
* 子进程标准流是否实时输出。未指定且非 `silent` 时默认为 `true`;为 `true` 时不在结束时重复整段缓冲输出。
|
|
33
34
|
*/
|
|
34
35
|
streamOutput?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* 进度条偏移量(用于跨块累计进度),通常由调用方内部使用。
|
|
37
|
-
* 例如前面已经执行了 5 条命令,则 offset = 5。
|
|
38
|
-
*/
|
|
36
|
+
/** 当前批次首条命令在全局序列中的序位偏移(跨块累计进度) */
|
|
39
37
|
offset?: number;
|
|
40
|
-
/**
|
|
41
|
-
* 所有待执行命令的总数(用于显示 cur/all)。
|
|
42
|
-
* 不传则默认使用当前批次 commands.length + offset。
|
|
43
|
-
*/
|
|
38
|
+
/** 全局待执行命令总数(用于 `cur/total`);缺省为 `commands.length + offset` */
|
|
44
39
|
total?: number;
|
|
45
40
|
/**
|
|
46
|
-
*
|
|
47
|
-
* 此时本函数不会在末尾自行 wait/kill 后台进程。
|
|
41
|
+
* 将本批次后台子进程追加至该数组,由调用方统一回收;为真时本函数末尾不处理后台进程。
|
|
48
42
|
*/
|
|
49
43
|
aggregateBackgroundChildren?: ChildProcess[];
|
|
50
44
|
/**
|
|
51
|
-
*
|
|
52
|
-
* true — 等待后台进程自然退出;false — 前台结束后优雅结束后台进程。
|
|
45
|
+
* 未使用 `aggregateBackgroundChildren` 时:是否等待后台进程自然退出(否则在前台结束后终止后台进程)。
|
|
53
46
|
*/
|
|
54
47
|
waitForBackground?: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* 可选:复用并更新同一份命令上下文(跨多次 executeAll / 跨 group 传递变量)。
|
|
57
|
-
* 传入的对象会被就地写入;未传时仅在本次 executeAll 内有效。
|
|
58
|
-
*/
|
|
48
|
+
/** 跨 `executeAll` / 分组复用的命令上下文;传入则原地更新 */
|
|
59
49
|
commandContext?: CommandContext;
|
|
60
50
|
}
|
|
61
51
|
/**
|
|
62
|
-
*
|
|
52
|
+
* 前台队列结束后处理后台子进程:`wait === true` 时等待自然退出,否则发送终止并回收。
|
|
53
|
+
*/
|
|
54
|
+
export declare function finalizeBackgroundProcesses(children: ChildProcess[], wait: boolean): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* 顺序执行命令列表;不包含组间间隔。成功/失败语义同 `executeOne`。
|
|
63
57
|
*/
|
|
64
|
-
export declare function finalizeBackgroundProcesses(children: ChildProcess[], wait: boolean, silent: boolean): Promise<void>;
|
|
65
|
-
/** 按顺序执行多条命令(无组间间隔)。失败判断见 executeOne,支持 Mac/Linux/Windows。 */
|
|
66
58
|
export declare function executeAll(commands: CommandDef[], options?: ExecuteAllOptions): Promise<CommandResult[]>;
|
|
67
59
|
//# sourceMappingURL=runCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runCommand.d.ts","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
package/dist/src/runCommand.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* - 进程被信号终止(Unix):code 为 null,视为失败
|
|
6
|
-
* - spawn 报错(如找不到命令):视为失败
|
|
2
|
+
* 单条与顺序多命令执行(不含 group 分块)。
|
|
3
|
+
*
|
|
4
|
+
* 成功与否:`exitCode === 0` 为成功;信号结束或 `spawn` 失败为失败(与平台一致)。
|
|
7
5
|
*/
|
|
8
6
|
import { spawn } from "node:child_process";
|
|
9
7
|
import { platform } from "node:os";
|
|
10
|
-
import { CommandKind, createCommandContext, getCurrentPlatformKind, } from "./types.js";
|
|
8
|
+
import { CommandKind, createCommandContext, getCurrentPlatformKind, unsupportedBackgroundCommandResult, } from "./types.js";
|
|
9
|
+
import { attachQuietSilent, logger } from "./logger.js";
|
|
11
10
|
import { BuiltinFunctionCommandRunner, EmbedCommandRunner, ShellCommandRunner, } from "./runners/index.js";
|
|
12
11
|
const currentPlatform = platform();
|
|
13
12
|
const currentPlatformKind = getCurrentPlatformKind();
|
|
14
13
|
const TEMPLATE_VAR_PATTERN = /\{\{(\w+)\}\}/g;
|
|
15
|
-
/**
|
|
14
|
+
/** `embed` / `builtin-function` 恒为 true;其余需与 {@link getCurrentPlatformKind} 一致 */
|
|
16
15
|
export function isSupportedOnCurrentPlatform(cmd) {
|
|
17
16
|
if (cmd.kind === CommandKind.Embed ||
|
|
18
17
|
cmd.kind === CommandKind.BuiltinFunction)
|
|
@@ -27,9 +26,9 @@ const commandRunners = [
|
|
|
27
26
|
function getCommandRunner(cmd) {
|
|
28
27
|
return commandRunners.find((runner) => runner.canRun(cmd));
|
|
29
28
|
}
|
|
30
|
-
/**
|
|
29
|
+
/** 执行单个 {@link CommandDef} */
|
|
31
30
|
export async function executeOne(cmd, options = {}) {
|
|
32
|
-
const { streamOutput = true, registerBackgroundProcess, commandContext, } = options;
|
|
31
|
+
const { streamOutput = true, registerBackgroundProcess, registerPendingBackgroundSpawn, commandContext, } = options;
|
|
33
32
|
const start = Date.now();
|
|
34
33
|
const runner = getCommandRunner(cmd);
|
|
35
34
|
if (!runner) {
|
|
@@ -43,10 +42,15 @@ export async function executeOne(cmd, options = {}) {
|
|
|
43
42
|
durationMs: Date.now() - start,
|
|
44
43
|
};
|
|
45
44
|
}
|
|
45
|
+
const unsupportedBg = unsupportedBackgroundCommandResult(cmd, start);
|
|
46
|
+
if (unsupportedBg) {
|
|
47
|
+
return unsupportedBg;
|
|
48
|
+
}
|
|
46
49
|
try {
|
|
47
50
|
return await runner.execute(cmd, {
|
|
48
51
|
streamOutput,
|
|
49
52
|
registerBackgroundProcess,
|
|
53
|
+
registerPendingBackgroundSpawn,
|
|
50
54
|
commandContext: commandContext ?? createCommandContext(),
|
|
51
55
|
start,
|
|
52
56
|
});
|
|
@@ -68,10 +72,7 @@ export async function executeOne(cmd, options = {}) {
|
|
|
68
72
|
};
|
|
69
73
|
}
|
|
70
74
|
}
|
|
71
|
-
/**
|
|
72
|
-
* 将字符串中的 {{varName}} 占位符替换为上下文中的变量值。
|
|
73
|
-
* 未找到变量时保留原占位符,便于排查。
|
|
74
|
-
*/
|
|
75
|
+
/** 将 `{{name}}` 替换为上下文字符串;未绑定则保留原样 */
|
|
75
76
|
function expandTemplate(str, context) {
|
|
76
77
|
if (!str.includes("{{"))
|
|
77
78
|
return str;
|
|
@@ -84,14 +85,11 @@ function expandTemplate(str, context) {
|
|
|
84
85
|
return value;
|
|
85
86
|
}
|
|
86
87
|
const valueType = value === null ? "null" : typeof value;
|
|
87
|
-
|
|
88
|
+
logger.error(`[模板变量解析] 上下文变量 "${key}" 类型为 ${valueType},{{${key}}} 仅支持 string,已保留原占位符`);
|
|
88
89
|
return match;
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
|
-
/**
|
|
92
|
-
* 基于当前上下文,对命令中的各个字符串字段进行变量展开。
|
|
93
|
-
* - run / file / args / cwd / description 支持 {{var}} 占位符。
|
|
94
|
-
*/
|
|
92
|
+
/** 在 `run`、`file`、`args`、`cwd`、`description` 上对 `{{var}}` 占位符做解析 */
|
|
95
93
|
function applyContextToCommand(cmd, context) {
|
|
96
94
|
const runHasTemplate = cmd.run != null && cmd.run.includes("{{");
|
|
97
95
|
const fileHasTemplate = cmd.file != null && cmd.file.includes("{{");
|
|
@@ -123,9 +121,7 @@ function applyContextToCommand(cmd, context) {
|
|
|
123
121
|
}
|
|
124
122
|
return next;
|
|
125
123
|
}
|
|
126
|
-
/**
|
|
127
|
-
* 根据 captureToVar 配置,从命令执行结果中提取变量值并写入上下文。
|
|
128
|
-
*/
|
|
124
|
+
/** 按 {@link CaptureToVarDef} 将 `CommandResult` 写入 `CommandContext` */
|
|
129
125
|
function applyCaptureToContext(capture, result, context, regexCache) {
|
|
130
126
|
if (!capture)
|
|
131
127
|
return;
|
|
@@ -149,7 +145,7 @@ function applyCaptureToContext(capture, result, context, regexCache) {
|
|
|
149
145
|
regexCache.set(capture.pattern, re);
|
|
150
146
|
}
|
|
151
147
|
if (re === null) {
|
|
152
|
-
//
|
|
148
|
+
// 非法正则:跳过本项,不中断后续命令
|
|
153
149
|
return;
|
|
154
150
|
}
|
|
155
151
|
let match = null;
|
|
@@ -214,7 +210,7 @@ async function forceKillChildProcess(child) {
|
|
|
214
210
|
/* ignore */
|
|
215
211
|
}
|
|
216
212
|
}
|
|
217
|
-
/**
|
|
213
|
+
/** 先 `SIGTERM`,超时后 `SIGKILL`(Windows 使用 `taskkill`) */
|
|
218
214
|
async function gracefulKillBackground(children) {
|
|
219
215
|
if (children.length === 0)
|
|
220
216
|
return Promise.resolve();
|
|
@@ -233,7 +229,7 @@ async function gracefulKillBackground(children) {
|
|
|
233
229
|
]);
|
|
234
230
|
await Promise.all(children.map((child) => forceKillChildProcess(child)));
|
|
235
231
|
}
|
|
236
|
-
/**
|
|
232
|
+
/** 阻塞至子进程 `exit`(已退出则立即返回) */
|
|
237
233
|
function waitForBackgroundProcesses(children) {
|
|
238
234
|
return Promise.all(children.map((c) => new Promise((resolve) => {
|
|
239
235
|
if (c.exitCode !== null || c.signalCode !== null) {
|
|
@@ -245,29 +241,26 @@ function waitForBackgroundProcesses(children) {
|
|
|
245
241
|
}))).then(() => { });
|
|
246
242
|
}
|
|
247
243
|
/**
|
|
248
|
-
*
|
|
244
|
+
* 前台队列结束后处理后台子进程:`wait === true` 时等待自然退出,否则发送终止并回收。
|
|
249
245
|
*/
|
|
250
|
-
export async function finalizeBackgroundProcesses(children, wait
|
|
246
|
+
export async function finalizeBackgroundProcesses(children, wait) {
|
|
251
247
|
if (children.length === 0)
|
|
252
248
|
return;
|
|
253
249
|
if (wait) {
|
|
254
|
-
|
|
255
|
-
console.log(`\n等待 ${children.length} 个后台进程全部结束后退出...`);
|
|
256
|
-
}
|
|
250
|
+
logger.info(`\n等待 ${children.length} 个后台进程全部结束后退出...`);
|
|
257
251
|
await waitForBackgroundProcesses(children);
|
|
258
|
-
|
|
259
|
-
console.log("所有后台进程已结束。\n");
|
|
260
|
-
}
|
|
252
|
+
logger.info("所有后台进程已结束。\n");
|
|
261
253
|
}
|
|
262
254
|
else {
|
|
263
|
-
|
|
264
|
-
console.log(`\n正在结束 ${children.length} 个后台进程...`);
|
|
265
|
-
}
|
|
255
|
+
logger.info(`\n正在结束 ${children.length} 个后台进程...`);
|
|
266
256
|
await gracefulKillBackground(children);
|
|
267
257
|
}
|
|
268
258
|
}
|
|
269
|
-
/**
|
|
259
|
+
/**
|
|
260
|
+
* 顺序执行命令列表;不包含组间间隔。成功/失败语义同 `executeOne`。
|
|
261
|
+
*/
|
|
270
262
|
export async function executeAll(commands, options = {}) {
|
|
263
|
+
const detachQuiet = attachQuietSilent(options.silent ?? false);
|
|
271
264
|
const { stopOnError = false, silent = false, streamOutput = !silent, offset = 0, total: explicitTotal, aggregateBackgroundChildren, waitForBackground = false, commandContext: sharedContext, } = options;
|
|
272
265
|
const results = [];
|
|
273
266
|
const context = sharedContext ?? createCommandContext();
|
|
@@ -275,6 +268,7 @@ export async function executeAll(commands, options = {}) {
|
|
|
275
268
|
const backgroundTarget = aggregateBackgroundChildren ?? localBackgroundChildren;
|
|
276
269
|
const total = explicitTotal ?? commands.length + offset;
|
|
277
270
|
const captureRegexCache = new Map();
|
|
271
|
+
const pendingBackgroundSpawns = [];
|
|
278
272
|
const getDescriptionForLog = (cmd) => {
|
|
279
273
|
if (cmd.description)
|
|
280
274
|
return cmd.description;
|
|
@@ -289,48 +283,65 @@ export async function executeAll(commands, options = {}) {
|
|
|
289
283
|
const registerBackground = (cmd) => (child) => {
|
|
290
284
|
backgroundTarget.push(child);
|
|
291
285
|
};
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
const
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
286
|
+
try {
|
|
287
|
+
for (let index = 0; index < commands.length; index++) {
|
|
288
|
+
const originalCmd = commands[index];
|
|
289
|
+
const cmd = applyContextToCommand(originalCmd, context);
|
|
290
|
+
const cur = offset + index + 1;
|
|
291
|
+
const all = total;
|
|
292
|
+
const bgDelayMs = Math.max(0, cmd.backgroundDelayMs ?? 0);
|
|
293
|
+
const suffix = cmd.background
|
|
294
|
+
? bgDelayMs > 0
|
|
295
|
+
? ` (后台,${bgDelayMs}ms 后启动)`
|
|
296
|
+
: " (后台)"
|
|
297
|
+
: "";
|
|
298
|
+
logger.info(`\n▶ (${cur}/${all}) [${cmd.kind}] ${getDescriptionForLog(cmd)}${suffix}`);
|
|
299
|
+
const result = await executeOne(cmd, {
|
|
300
|
+
streamOutput,
|
|
301
|
+
registerBackgroundProcess: cmd.background
|
|
302
|
+
? registerBackground(cmd)
|
|
303
|
+
: undefined,
|
|
304
|
+
registerPendingBackgroundSpawn: cmd.background
|
|
305
|
+
? (done) => {
|
|
306
|
+
pendingBackgroundSpawns.push(done);
|
|
307
|
+
}
|
|
308
|
+
: undefined,
|
|
309
|
+
commandContext: context,
|
|
310
|
+
});
|
|
311
|
+
results.push(result);
|
|
312
|
+
applyCaptureToContext(originalCmd.captureToVar, result, context, captureRegexCache);
|
|
313
|
+
if (!silent) {
|
|
314
|
+
if (!streamOutput) {
|
|
315
|
+
if (result.stdout)
|
|
316
|
+
console.log(result.stdout);
|
|
317
|
+
if (result.stderr)
|
|
318
|
+
console.error(result.stderr);
|
|
319
|
+
}
|
|
316
320
|
}
|
|
317
321
|
if (cmd.background) {
|
|
318
|
-
|
|
322
|
+
logger.info(bgDelayMs > 0
|
|
323
|
+
? ` 已调度后台执行(${bgDelayMs}ms 后启动)`
|
|
324
|
+
: ` 已放入后台执行`);
|
|
319
325
|
}
|
|
320
326
|
else {
|
|
321
|
-
|
|
327
|
+
logger.info(` 退出码: ${result.exitCode}, 耗时: ${result.durationMs}ms`);
|
|
322
328
|
}
|
|
329
|
+
if (!result.success && stopOnError) {
|
|
330
|
+
logger.error(`命令失败,已停止。请检查运行环境并尝试重新运行。`);
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
if (pendingBackgroundSpawns.length > 0) {
|
|
335
|
+
await Promise.all(pendingBackgroundSpawns);
|
|
323
336
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
break;
|
|
337
|
+
// 若由调用方聚合 `aggregateBackgroundChildren`,此处不做收尾;否则回收本批次后台进程
|
|
338
|
+
if (!aggregateBackgroundChildren && localBackgroundChildren.length > 0) {
|
|
339
|
+
await finalizeBackgroundProcesses(localBackgroundChildren, waitForBackground);
|
|
328
340
|
}
|
|
341
|
+
return results;
|
|
329
342
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
await finalizeBackgroundProcesses(localBackgroundChildren, waitForBackground, silent);
|
|
343
|
+
finally {
|
|
344
|
+
detachQuiet();
|
|
333
345
|
}
|
|
334
|
-
return results;
|
|
335
346
|
}
|
|
336
347
|
//# sourceMappingURL=runCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runCommand.js","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runCommand.js","sourceRoot":"","sources":["../../src/runCommand.ts"],"names":[],"mappings":"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"}
|
package/dist/src/runGroups.d.ts
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
import type { CommandDef, CommandResult, Groups, RunOptions } from "./types.js";
|
|
2
|
-
/**
|
|
2
|
+
/** 组名及其重复执行次数 */
|
|
3
3
|
export interface GroupSpec {
|
|
4
4
|
name: string;
|
|
5
5
|
repeat: number;
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
7
|
+
/** 按固定组序展开命令;默认过滤为当前平台可执行的条目 */
|
|
8
8
|
export declare function getCommandsToRun(groups: Groups, groupOrder: string[], options?: {
|
|
9
9
|
ignorePlatform?: boolean;
|
|
10
10
|
}): CommandDef[];
|
|
11
|
-
/**
|
|
12
|
-
* 根据组配置与「组名:次数」规格,得到要执行的命令列表(默认仅包含当前系统支持的命令)。
|
|
13
|
-
* 每组按 repeat 重复若干次后再接下一组。
|
|
14
|
-
*/
|
|
11
|
+
/** 按 `GroupSpec`(含 `repeat`)构造线性命令列表;组内顺序执行后再展开下一规格 */
|
|
15
12
|
export declare function getCommandsToRunWithRepeat(groups: Groups, specs: GroupSpec[], options?: {
|
|
16
13
|
ignorePlatform?: boolean;
|
|
17
14
|
}): CommandDef[];
|
|
18
|
-
/**
|
|
19
|
-
* 将组规格展开为「块」数组:每一块为一次组执行(一组命令的一轮),
|
|
20
|
-
* 用于在块与块之间插入间隔(对重复执行的 group 也生效)。
|
|
21
|
-
*/
|
|
15
|
+
/** 将组规格切成多块(每块即一轮组内命令);块界用于施加 `intervalMs` */
|
|
22
16
|
export declare function getGroupChunks(groups: Groups, specs: GroupSpec[], options?: {
|
|
23
17
|
ignorePlatform?: boolean;
|
|
24
18
|
}): CommandDef[][];
|
|
25
19
|
export interface RunGroupChunksOptions extends RunOptions {
|
|
26
|
-
/**
|
|
20
|
+
/** 相邻块之间的等待时间(毫秒);`0` 或缺省表示无等待 */
|
|
27
21
|
intervalMs?: number;
|
|
28
22
|
}
|
|
29
23
|
/**
|
|
30
|
-
*
|
|
24
|
+
* 按块依次执行;块内顺序执行,块间可插入 `intervalMs` 等待(亦适用于 `repeat` 产生的多块)。
|
|
31
25
|
*/
|
|
32
26
|
export declare function runGroupChunks(chunks: CommandDef[][], options?: RunGroupChunksOptions): Promise<{
|
|
33
27
|
results: CommandResult[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runGroups.d.ts","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/src/runGroups.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { attachQuietSilent, logger } from "./logger.js";
|
|
1
2
|
import { createCommandContext } from "./types.js";
|
|
2
3
|
import { isSupportedOnCurrentPlatform } from "./runCommand.js";
|
|
3
4
|
import { executeAll, finalizeBackgroundProcesses } from "./runCommand.js";
|
|
@@ -5,14 +6,11 @@ function withSignalHandler(signal, handler) {
|
|
|
5
6
|
process.on(signal, handler);
|
|
6
7
|
return () => process.off(signal, handler);
|
|
7
8
|
}
|
|
8
|
-
/**
|
|
9
|
+
/** 按固定组序展开命令;默认过滤为当前平台可执行的条目 */
|
|
9
10
|
export function getCommandsToRun(groups, groupOrder, options = {}) {
|
|
10
11
|
return getCommandsToRunWithRepeat(groups, groupOrder.map((name) => ({ name, repeat: 1 })), options);
|
|
11
12
|
}
|
|
12
|
-
/**
|
|
13
|
-
* 根据组配置与「组名:次数」规格,得到要执行的命令列表(默认仅包含当前系统支持的命令)。
|
|
14
|
-
* 每组按 repeat 重复若干次后再接下一组。
|
|
15
|
-
*/
|
|
13
|
+
/** 按 `GroupSpec`(含 `repeat`)构造线性命令列表;组内顺序执行后再展开下一规格 */
|
|
16
14
|
export function getCommandsToRunWithRepeat(groups, specs, options = {}) {
|
|
17
15
|
const { ignorePlatform = false } = options;
|
|
18
16
|
const list = [];
|
|
@@ -35,10 +33,7 @@ export function getCommandsToRunWithRepeat(groups, specs, options = {}) {
|
|
|
35
33
|
}
|
|
36
34
|
return list;
|
|
37
35
|
}
|
|
38
|
-
/**
|
|
39
|
-
* 将组规格展开为「块」数组:每一块为一次组执行(一组命令的一轮),
|
|
40
|
-
* 用于在块与块之间插入间隔(对重复执行的 group 也生效)。
|
|
41
|
-
*/
|
|
36
|
+
/** 将组规格切成多块(每块即一轮组内命令);块界用于施加 `intervalMs` */
|
|
42
37
|
export function getGroupChunks(groups, specs, options = {}) {
|
|
43
38
|
const { ignorePlatform = false } = options;
|
|
44
39
|
const chunks = [];
|
|
@@ -65,16 +60,17 @@ function sleep(ms) {
|
|
|
65
60
|
return new Promise((r) => setTimeout(r, ms));
|
|
66
61
|
}
|
|
67
62
|
/**
|
|
68
|
-
*
|
|
63
|
+
* 按块依次执行;块内顺序执行,块间可插入 `intervalMs` 等待(亦适用于 `repeat` 产生的多块)。
|
|
69
64
|
*/
|
|
70
65
|
export async function runGroupChunks(chunks, options = {}) {
|
|
66
|
+
const detachQuietRun = attachQuietSilent(options.silent ?? false);
|
|
71
67
|
const { stopOnError = false, silent = false, intervalMs = 0, waitForBackground = false, } = options;
|
|
72
68
|
const allResults = [];
|
|
73
69
|
let failed = false;
|
|
74
70
|
const aggregateBackground = [];
|
|
75
71
|
let shuttingDown = false;
|
|
76
72
|
const cleanupHandlers = [];
|
|
77
|
-
/**
|
|
73
|
+
/** 跨块共享,供 `captureToVar` 与 `{{var}}` 贯通 */
|
|
78
74
|
const commandContext = createCommandContext();
|
|
79
75
|
const onSignal = (signal) => {
|
|
80
76
|
if (shuttingDown)
|
|
@@ -82,11 +78,9 @@ export async function runGroupChunks(chunks, options = {}) {
|
|
|
82
78
|
shuttingDown = true;
|
|
83
79
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
84
80
|
(async () => {
|
|
85
|
-
|
|
86
|
-
console.log(`\n收到 ${signal},正在清理后台进程...`);
|
|
87
|
-
}
|
|
81
|
+
logger.info(`\n收到 ${signal},正在清理后台进程...`);
|
|
88
82
|
try {
|
|
89
|
-
await finalizeBackgroundProcesses(aggregateBackground, false
|
|
83
|
+
await finalizeBackgroundProcesses(aggregateBackground, false);
|
|
90
84
|
}
|
|
91
85
|
finally {
|
|
92
86
|
process.exit(130);
|
|
@@ -98,13 +92,13 @@ export async function runGroupChunks(chunks, options = {}) {
|
|
|
98
92
|
if (process.platform === "win32") {
|
|
99
93
|
cleanupHandlers.push(withSignalHandler("SIGBREAK", () => onSignal("SIGBREAK")));
|
|
100
94
|
}
|
|
101
|
-
//
|
|
95
|
+
// 汇总命令数以生成全局 cur/total
|
|
102
96
|
const totalCommands = chunks.reduce((sum, c) => sum + c.length, 0);
|
|
103
97
|
let executedCount = 0;
|
|
104
98
|
try {
|
|
105
99
|
for (let i = 0; i < chunks.length; i++) {
|
|
106
|
-
if (i > 0 && intervalMs > 0
|
|
107
|
-
|
|
100
|
+
if (i > 0 && intervalMs > 0) {
|
|
101
|
+
logger.info(`\n⏱ 等待 ${intervalMs}ms...`);
|
|
108
102
|
await sleep(intervalMs);
|
|
109
103
|
}
|
|
110
104
|
const chunk = chunks[i];
|
|
@@ -127,11 +121,12 @@ export async function runGroupChunks(chunks, options = {}) {
|
|
|
127
121
|
break;
|
|
128
122
|
}
|
|
129
123
|
if (aggregateBackground.length > 0) {
|
|
130
|
-
await finalizeBackgroundProcesses(aggregateBackground, waitForBackground
|
|
124
|
+
await finalizeBackgroundProcesses(aggregateBackground, waitForBackground);
|
|
131
125
|
}
|
|
132
126
|
}
|
|
133
127
|
finally {
|
|
134
128
|
cleanupHandlers.forEach((dispose) => dispose());
|
|
129
|
+
detachQuietRun();
|
|
135
130
|
}
|
|
136
131
|
return { results: allResults, failed };
|
|
137
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runGroups.js","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runGroups.js","sourceRoot":"","sources":["../../src/runGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CommandDef, CommandResult } from "../types.js";
|
|
2
2
|
import type { CommandRunner, RunnerExecuteOptions } from "./types.js";
|
|
3
|
+
/** `CommandKind.BuiltinFunction`:调用 `CommandDef.func` */
|
|
3
4
|
export declare class BuiltinFunctionCommandRunner implements CommandRunner {
|
|
4
5
|
canRun(cmd: CommandDef): boolean;
|
|
5
6
|
execute(cmd: CommandDef, options: RunnerExecuteOptions): Promise<CommandResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinFunctionRunner.d.ts","sourceRoot":"","sources":["../../../src/runners/builtinFunctionRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEtE,qBAAa,4BAA6B,YAAW,aAAa;IAChE,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAI1B,OAAO,CACX,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"builtinFunctionRunner.d.ts","sourceRoot":"","sources":["../../../src/runners/builtinFunctionRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEtE,yDAAyD;AACzD,qBAAa,4BAA6B,YAAW,aAAa;IAChE,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAI1B,OAAO,CACX,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC;CAuC1B"}
|