@c9up/helix 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/native.d.ts +14 -31
- package/dist/cli/native.d.ts.map +1 -1
- package/dist/cli/native.js.map +1 -1
- package/dist/cli/reporter.d.ts +3 -4
- package/dist/cli/reporter.d.ts.map +1 -1
- package/dist/cli/reporter.js +28 -28
- package/dist/cli/reporter.js.map +1 -1
- package/dist/cli/runner.d.ts +1 -0
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +1 -0
- package/dist/cli/runner.js.map +1 -1
- package/dist/cli/suites.d.ts.map +1 -1
- package/dist/cli/suites.js +33 -2
- package/dist/cli/suites.js.map +1 -1
- package/dist/native/generated.d.ts +47 -0
- package/dist/native/generated.d.ts.map +1 -0
- package/dist/native/generated.js +7 -0
- package/dist/native/generated.js.map +1 -0
- package/dist/runtime/drain-guard.d.ts +30 -0
- package/dist/runtime/drain-guard.d.ts.map +1 -0
- package/dist/runtime/drain-guard.js +56 -0
- package/dist/runtime/drain-guard.js.map +1 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +3 -2
package/dist/cli/native.d.ts
CHANGED
|
@@ -11,37 +11,20 @@
|
|
|
11
11
|
* Field names are camelCase: napi-rs converts the Rust struct's snake_case
|
|
12
12
|
* fields automatically (`timeout_ms` → `timeoutMs`, etc.).
|
|
13
13
|
*/
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
readonly bail?: boolean;
|
|
29
|
-
}
|
|
30
|
-
/** Mirror of the Rust `SummaryPayload` (camelCase). */
|
|
31
|
-
export interface NativeSummaryPayload {
|
|
32
|
-
readonly pass: number;
|
|
33
|
-
readonly fail: number;
|
|
34
|
-
readonly skip: number;
|
|
35
|
-
readonly todo: number;
|
|
36
|
-
readonly fileErrors: number;
|
|
37
|
-
readonly durationMs: number;
|
|
38
|
-
readonly exitCode: number;
|
|
39
|
-
/** Full `Summary` serialized as JSON (same shape as TS `Summary`). */
|
|
40
|
-
readonly json: string;
|
|
41
|
-
}
|
|
42
|
-
interface NativeExports {
|
|
43
|
-
readonly run: (config: NativeRunConfig) => Promise<NativeSummaryPayload>;
|
|
44
|
-
}
|
|
14
|
+
/**
|
|
15
|
+
* The Rust `RunConfig` and `SummaryPayload`, and the surface that carries
|
|
16
|
+
* them.
|
|
17
|
+
*
|
|
18
|
+
* Derived from `../native/generated.js` — written by `pnpm build:napi-types`
|
|
19
|
+
* from napi-derive's own `type-def` output — rather than mirrored here by
|
|
20
|
+
* hand, where nothing would notice the Rust struct gaining, losing or
|
|
21
|
+
* renaming a field. The runtime guard below still checks `run` is actually
|
|
22
|
+
* there: a declaration says what the Rust promises, not what a stale binary
|
|
23
|
+
* shipped.
|
|
24
|
+
*/
|
|
25
|
+
export type NativeRunConfig = import("../native/generated.js").RunConfig;
|
|
26
|
+
export type NativeSummaryPayload = import("../native/generated.js").SummaryPayload;
|
|
27
|
+
type NativeExports = typeof import("../native/generated.js");
|
|
45
28
|
export declare function getNative(): NativeExports;
|
|
46
29
|
export {};
|
|
47
30
|
//# sourceMappingURL=native.d.ts.map
|
package/dist/cli/native.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/cli/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyBH
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/cli/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyBH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,wBAAwB,EAAE,SAAS,CAAC;AACzE,MAAM,MAAM,oBAAoB,GAC/B,OAAO,wBAAwB,EAAE,cAAc,CAAC;AAEjD,KAAK,aAAa,GAAG,cAAc,wBAAwB,CAAC,CAAC;AAS7D,wBAAgB,SAAS,IAAI,aAAa,CA6BzC"}
|
package/dist/cli/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/cli/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAqC;IACpD,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB;IAChC,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,gBAAgB;CAC7B,CAAC;AAEF,SAAS,cAAc;IACtB,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACd,8BAA8B,GAAG,+CAA+C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/cli/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAqC;IACpD,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB;IAChC,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,gBAAgB;CAC7B,CAAC;AAEF,SAAS,cAAc;IACtB,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACd,8BAA8B,GAAG,+CAA+C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAmBD,SAAS,eAAe,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,UAAU,CAAC;AACxD,CAAC;AAED,IAAI,YAAuC,CAAC;AAE5C,MAAM,UAAU,SAAS;IACxB,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAEpD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,8EAA8E;IAC9E,2DAA2D;IAC3D,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,eAAe,MAAM,OAAO,CAAC;IAC/C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACvC,CAAC,CAAC,uGAAuG;YACzG,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,IAAI,KAAK,CACd,oCAAoC,MAAM,2CAA2C,IAAI,6DAA6D,QAAQ,WAAW,KAAK,EAAE,EAChL,EAAE,KAAK,EAAE,GAAG,EAAE,CACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACd,8HAA8H,CAC9H,CAAC;IACH,CAAC;IACD,YAAY,GAAG,MAAM,CAAC;IACtB,OAAO,YAAY,CAAC;AACrB,CAAC"}
|
package/dist/cli/reporter.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ type Sink = {
|
|
|
21
21
|
};
|
|
22
22
|
export declare function stdoutSink(): Sink;
|
|
23
23
|
export declare class DotReporter implements Reporter {
|
|
24
|
-
private
|
|
24
|
+
#private;
|
|
25
25
|
constructor(sink?: Sink);
|
|
26
26
|
onFileStart(_file: string): void;
|
|
27
27
|
onFileResult(result: FileResult): void;
|
|
@@ -29,8 +29,7 @@ export declare class DotReporter implements Reporter {
|
|
|
29
29
|
onSummary(summary: Summary): void;
|
|
30
30
|
}
|
|
31
31
|
export declare class SpecReporter implements Reporter {
|
|
32
|
-
private
|
|
33
|
-
private readonly useColors;
|
|
32
|
+
#private;
|
|
34
33
|
constructor(sink?: Sink, useColors?: boolean);
|
|
35
34
|
onFileStart(file: string): void;
|
|
36
35
|
onFileResult(result: FileResult): void;
|
|
@@ -38,7 +37,7 @@ export declare class SpecReporter implements Reporter {
|
|
|
38
37
|
onSummary(summary: Summary): void;
|
|
39
38
|
}
|
|
40
39
|
export declare class JsonReporter implements Reporter {
|
|
41
|
-
private
|
|
40
|
+
#private;
|
|
42
41
|
constructor(sink?: Sink);
|
|
43
42
|
onFileStart(file: string): void;
|
|
44
43
|
onFileResult(result: FileResult): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACxB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,KAAK,IAAI,GAAG;IACX,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAgB,UAAU,IAAI,IAAI,CASjC;AASD,qBAAa,WAAY,YAAW,QAAQ
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACxB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,KAAK,IAAI,GAAG;IACX,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAgB,UAAU,IAAI,IAAI,CASjC;AASD,qBAAa,WAAY,YAAW,QAAQ;;gBAG/B,IAAI,GAAE,IAAmB;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAChC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAatC,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAG7C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAIjC;AAED,qBAAa,YAAa,YAAW,QAAQ;;gBAIhC,IAAI,GAAE,IAAmB,EAAE,SAAS,UAAO;IAKvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA0BtC,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAM5C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAIjC;AAED,qBAAa,YAAa,YAAW,QAAQ;;gBAGhC,IAAI,GAAE,IAAmB;IAIrC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAG/B,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAGtC,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAG5C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC;AAWD,qCAAqC;AACrC,wBAAgB,YAAY,CAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,SAAS,EAAE,OAAO,GAChB,QAAQ,CASV;AAyCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAG1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACpC,SAAS,EAAE,OAAO,GAChB,QAAQ,CAIV"}
|
package/dist/cli/reporter.js
CHANGED
|
@@ -23,9 +23,9 @@ const ANSI = {
|
|
|
23
23
|
yellow: (s, on) => (on ? `\x1b[33m${s}\x1b[0m` : s),
|
|
24
24
|
};
|
|
25
25
|
export class DotReporter {
|
|
26
|
-
sink;
|
|
26
|
+
#sink;
|
|
27
27
|
constructor(sink = stdoutSink()) {
|
|
28
|
-
this
|
|
28
|
+
this.#sink = sink;
|
|
29
29
|
}
|
|
30
30
|
onFileStart(_file) { }
|
|
31
31
|
onFileResult(result) {
|
|
@@ -37,71 +37,71 @@ export class DotReporter {
|
|
|
37
37
|
: t.status === "skip"
|
|
38
38
|
? "-"
|
|
39
39
|
: "*";
|
|
40
|
-
this
|
|
40
|
+
this.#sink.write(c);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
onFileError(_error) {
|
|
44
|
-
this
|
|
44
|
+
this.#sink.write("E");
|
|
45
45
|
}
|
|
46
46
|
onSummary(summary) {
|
|
47
|
-
this
|
|
48
|
-
printSummary(this
|
|
47
|
+
this.#sink.writeLine("");
|
|
48
|
+
printSummary(this.#sink, summary);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
export class SpecReporter {
|
|
52
|
-
sink;
|
|
53
|
-
useColors;
|
|
52
|
+
#sink;
|
|
53
|
+
#useColors;
|
|
54
54
|
constructor(sink = stdoutSink(), useColors = true) {
|
|
55
|
-
this
|
|
56
|
-
this
|
|
55
|
+
this.#sink = sink;
|
|
56
|
+
this.#useColors = useColors;
|
|
57
57
|
}
|
|
58
58
|
onFileStart(file) {
|
|
59
|
-
this
|
|
59
|
+
this.#sink.writeLine(`${ANSI.dim("▶", this.#useColors)} ${ANSI.dim(file, this.#useColors)}`);
|
|
60
60
|
}
|
|
61
61
|
onFileResult(result) {
|
|
62
62
|
for (const t of result.tests) {
|
|
63
63
|
const marker = t.status === "pass"
|
|
64
|
-
? ANSI.green("✔", this
|
|
64
|
+
? ANSI.green("✔", this.#useColors)
|
|
65
65
|
: t.status === "fail"
|
|
66
|
-
? ANSI.red("✘", this
|
|
66
|
+
? ANSI.red("✘", this.#useColors)
|
|
67
67
|
: t.status === "skip"
|
|
68
|
-
? ANSI.yellow("○", this
|
|
69
|
-
: ANSI.dim("☐", this
|
|
70
|
-
this
|
|
68
|
+
? ANSI.yellow("○", this.#useColors)
|
|
69
|
+
: ANSI.dim("☐", this.#useColors);
|
|
70
|
+
this.#sink.writeLine(` ${marker} ${t.fullName}`);
|
|
71
71
|
if (t.error) {
|
|
72
|
-
this
|
|
72
|
+
this.#sink.writeLine(` ${ANSI.red(t.error.message, this.#useColors)}`);
|
|
73
73
|
if (t.error.actual !== undefined && t.error.expected !== undefined) {
|
|
74
|
-
this
|
|
75
|
-
this
|
|
74
|
+
this.#sink.writeLine(` ${ANSI.dim("actual: ", this.#useColors)} ${JSON.stringify(t.error.actual)}`);
|
|
75
|
+
this.#sink.writeLine(` ${ANSI.dim("expected:", this.#useColors)} ${JSON.stringify(t.error.expected)}`);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
onFileError(error) {
|
|
81
81
|
const file = error.file ?? "<unknown>";
|
|
82
|
-
this
|
|
82
|
+
this.#sink.writeLine(`${ANSI.red("✘", this.#useColors)} ${file}: ${error.message}`);
|
|
83
83
|
}
|
|
84
84
|
onSummary(summary) {
|
|
85
|
-
this
|
|
86
|
-
printSummary(this
|
|
85
|
+
this.#sink.writeLine("");
|
|
86
|
+
printSummary(this.#sink, summary);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
export class JsonReporter {
|
|
90
|
-
sink;
|
|
90
|
+
#sink;
|
|
91
91
|
constructor(sink = stdoutSink()) {
|
|
92
|
-
this
|
|
92
|
+
this.#sink = sink;
|
|
93
93
|
}
|
|
94
94
|
onFileStart(file) {
|
|
95
|
-
this
|
|
95
|
+
this.#sink.writeLine(JSON.stringify({ event: "file:start", file }));
|
|
96
96
|
}
|
|
97
97
|
onFileResult(result) {
|
|
98
|
-
this
|
|
98
|
+
this.#sink.writeLine(JSON.stringify({ event: "file:end", result }));
|
|
99
99
|
}
|
|
100
100
|
onFileError(error) {
|
|
101
|
-
this
|
|
101
|
+
this.#sink.writeLine(JSON.stringify({ event: "file:error", error }));
|
|
102
102
|
}
|
|
103
103
|
onSummary(summary) {
|
|
104
|
-
this
|
|
104
|
+
this.#sink.writeLine(JSON.stringify({ event: "summary", summary }));
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
function printSummary(sink, summary) {
|
package/dist/cli/reporter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkBH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,KAAK,CAAC,KAAa;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,SAAS,CAAC,KAAa;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACpC,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAG;IACZ,GAAG,EAAE,CAAC,CAAS,EAAE,EAAW,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAW,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAW,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,EAAE,CAAC,CAAS,EAAE,EAAW,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/runner.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* the same pieces instead of shelling out to the CLI.
|
|
9
9
|
*/
|
|
10
10
|
export { BOOTSTRAP_FILENAMES, resolveBootstrap, } from "../runtime/bootstrap.js";
|
|
11
|
+
export { armDrainGuard, DRAIN_GRACE_MS } from "../runtime/drain-guard.js";
|
|
11
12
|
export { runGlobalHooks } from "../runtime/global-hooks.js";
|
|
12
13
|
export type { Reporter } from "./reporter.js";
|
|
13
14
|
export { makeReporters, makeReportersFrom } from "./reporter.js";
|
package/dist/cli/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACN,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACN,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/cli/runner.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* the same pieces instead of shelling out to the CLI.
|
|
9
9
|
*/
|
|
10
10
|
export { BOOTSTRAP_FILENAMES, resolveBootstrap, } from "../runtime/bootstrap.js";
|
|
11
|
+
export { armDrainGuard, DRAIN_GRACE_MS } from "../runtime/drain-guard.js";
|
|
11
12
|
export { runGlobalHooks } from "../runtime/global-hooks.js";
|
|
12
13
|
export { makeReporters, makeReportersFrom } from "./reporter.js";
|
|
13
14
|
export { run, runSuites } from "./run.js";
|
package/dist/cli/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACN,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACN,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/cli/suites.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suites.d.ts","sourceRoot":"","sources":["../../src/cli/suites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAY,MAAM,eAAe,CAAC;AAUhE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAE5E,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC/B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"suites.d.ts","sourceRoot":"","sources":["../../src/cli/suites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAY,MAAM,eAAe,CAAC;AAUhE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAE5E,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC/B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAuGD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKxE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMnE;AA8CD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,gBAAgB,GAAG,SAAS,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CAiDnB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EAAE,GACnB,eAAe,EAAE,GAAG,SAAS,CAU/B"}
|
package/dist/cli/suites.js
CHANGED
|
@@ -32,13 +32,44 @@ const CONFIG_FILENAMES = [
|
|
|
32
32
|
"helix.config.js",
|
|
33
33
|
"helix.config.mjs",
|
|
34
34
|
];
|
|
35
|
+
/**
|
|
36
|
+
* Accept a config whose settings sit under a `tests` block.
|
|
37
|
+
*
|
|
38
|
+
* helix's own config is flat, the way Japa's is. Ream's `reamrc.ts` nests the
|
|
39
|
+
* same fields under `tests`, the way `adonisrc.ts` does — so someone moving
|
|
40
|
+
* between the two files writes the nested form here soon enough, and the whole
|
|
41
|
+
* block used to be read as an unknown key and dropped. Nothing said so: the
|
|
42
|
+
* declared bootstrap was ignored, the conventional `tests/bootstrap.ts` was
|
|
43
|
+
* picked up instead, and a suite that had asked for no bootstrap at all ran one
|
|
44
|
+
* — in the reported case, one that starts the application, for 25 tests that
|
|
45
|
+
* needed no server.
|
|
46
|
+
*
|
|
47
|
+
* The flat form wins where both carry the same key, so a config that already
|
|
48
|
+
* works keeps working.
|
|
49
|
+
*/
|
|
50
|
+
function unwrapTestsBlock(source) {
|
|
51
|
+
const tests = Reflect.get(source, "tests");
|
|
52
|
+
if (tests === null || typeof tests !== "object")
|
|
53
|
+
return source;
|
|
54
|
+
return { ...tests, ...stripUndefined(source) };
|
|
55
|
+
}
|
|
56
|
+
/** Own enumerable entries whose value is not `undefined`. */
|
|
57
|
+
function stripUndefined(source) {
|
|
58
|
+
const out = {};
|
|
59
|
+
for (const [key, value] of Object.entries(source)) {
|
|
60
|
+
if (value !== undefined)
|
|
61
|
+
out[key] = value;
|
|
62
|
+
}
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
35
65
|
/** Narrow an imported module's default export to a {@link HelixConfig}. */
|
|
36
66
|
function toConfig(imported) {
|
|
37
|
-
const
|
|
67
|
+
const exported = imported !== null && typeof imported === "object"
|
|
38
68
|
? (Reflect.get(imported, "default") ?? imported)
|
|
39
69
|
: imported;
|
|
40
|
-
if (
|
|
70
|
+
if (exported === null || typeof exported !== "object")
|
|
41
71
|
return {};
|
|
72
|
+
const source = unwrapTestsBlock(exported);
|
|
42
73
|
const rawBootstrap = Reflect.get(source, "bootstrap");
|
|
43
74
|
const bootstrap = typeof rawBootstrap === "string" ? rawBootstrap : undefined;
|
|
44
75
|
const rawTimeout = Reflect.get(source, "timeout");
|
package/dist/cli/suites.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suites.js","sourceRoot":"","sources":["../../src/cli/suites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAyB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EACN,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,SAAS,EACT,eAAe,GACf,MAAM,WAAW,CAAC;AA8CnB,8DAA8D;AAC9D,MAAM,gBAAgB,GAAG;IACxB,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;CAClB,CAAC;AAEF,2EAA2E;AAC3E,SAAS,QAAQ,CAAC,QAAiB;IAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"suites.js","sourceRoot":"","sources":["../../src/cli/suites.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface RunConfig {
|
|
2
|
+
/** Absolute root directory to discover from. Required. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Explicit files to run (skips discovery if non-empty). */
|
|
5
|
+
files?: string[] | undefined;
|
|
6
|
+
/** Number of concurrent workers. Defaults to `num_cpus::get()`. */
|
|
7
|
+
threads?: number;
|
|
8
|
+
/** Per-file timeout in milliseconds. Default 60 000. */
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
/** `"dot" | "spec" | "json"`. Default `"spec"`. */
|
|
11
|
+
reporter?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Activate several reporters at once (Japa `--reporters=spec,json`).
|
|
14
|
+
* Takes precedence over `reporter` when it holds more than one name.
|
|
15
|
+
*/
|
|
16
|
+
reporters?: string[] | undefined;
|
|
17
|
+
/** Stop the run at the first failing file (Japa `--bail`). */
|
|
18
|
+
bail?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Path to the compiled worker entry (points at the JS shim that calls
|
|
21
|
+
* `runtime/worker.ts#main()`). Required — there's no sensible default
|
|
22
|
+
* from Rust's perspective.
|
|
23
|
+
*/
|
|
24
|
+
workerEntry: string;
|
|
25
|
+
/** Optional `node` executable path. Defaults to `"node"` on `PATH`. */
|
|
26
|
+
nodeBin?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Extra args passed to the node binary (before the worker entry). For
|
|
29
|
+
* example, `["--import", "tsx"]` to enable TS loading.
|
|
30
|
+
*/
|
|
31
|
+
nodeArgs?: Array<string>;
|
|
32
|
+
/** ANSI colours in the Spec reporter. Default true when stdout is TTY. */
|
|
33
|
+
useColors?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface SummaryPayload {
|
|
36
|
+
pass: number;
|
|
37
|
+
fail: number;
|
|
38
|
+
skip: number;
|
|
39
|
+
todo: number;
|
|
40
|
+
fileErrors: number;
|
|
41
|
+
durationMs: number;
|
|
42
|
+
exitCode: number;
|
|
43
|
+
/** Full summary as a JSON string (clients that want detail parse this). */
|
|
44
|
+
json: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function run(config: RunConfig): Promise<SummaryPayload>;
|
|
47
|
+
//# sourceMappingURL=generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../src/native/generated.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// GENERATED FROM THE RUST — do not edit.
|
|
2
|
+
//
|
|
3
|
+
// Produced by scripts/generate-napi-types.mjs from napi-derive's type-def
|
|
4
|
+
// output. Editing this file by hand puts it back where it started: a
|
|
5
|
+
// description that can disagree with the code it describes.
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/native/generated.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,0EAA0E;AAC1E,qEAAqE;AACrE,4DAA4D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Say something when a finished run cannot drain, instead of hanging silently.
|
|
3
|
+
*
|
|
4
|
+
* Letting the event loop drain on its own is the right default — it is what
|
|
5
|
+
* makes a leaked resource visible instead of swallowed. But visible has to mean
|
|
6
|
+
* SAID: without this the run prints its summary and then stops producing
|
|
7
|
+
* output, which reads as a crash. Under a CI timeout it becomes a non-zero exit
|
|
8
|
+
* for a run in which every test passed.
|
|
9
|
+
*
|
|
10
|
+
* `bin/helix.js` carries its own copy on purpose: it calls the guard from the
|
|
11
|
+
* error path too, where the build may never have been imported, and an exit
|
|
12
|
+
* handler that can fail to load is worse than a duplicated one.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* How long to wait before deciding the loop is stuck. Long enough that a normal
|
|
16
|
+
* teardown — a socket closing, a pool draining — finishes first, short enough
|
|
17
|
+
* that CI does not sit on it.
|
|
18
|
+
*/
|
|
19
|
+
export declare const DRAIN_GRACE_MS = 2000;
|
|
20
|
+
/**
|
|
21
|
+
* Arm the guard for a run that has just finished with `code`.
|
|
22
|
+
*
|
|
23
|
+
* Returns immediately. The timer is `unref`'d, so it never keeps the process
|
|
24
|
+
* alive by itself: if everything closed, it never fires and nothing is printed.
|
|
25
|
+
*
|
|
26
|
+
* @param code The exit code the run produced.
|
|
27
|
+
* @param write Where the diagnostic goes. Defaults to stderr.
|
|
28
|
+
*/
|
|
29
|
+
export declare function armDrainGuard(code: number, write?: (message: string) => void): void;
|
|
30
|
+
//# sourceMappingURL=drain-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drain-guard.d.ts","sourceRoot":"","sources":["../../src/runtime/drain-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAE3B,GACC,IAAI,CAWN"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Say something when a finished run cannot drain, instead of hanging silently.
|
|
3
|
+
*
|
|
4
|
+
* Letting the event loop drain on its own is the right default — it is what
|
|
5
|
+
* makes a leaked resource visible instead of swallowed. But visible has to mean
|
|
6
|
+
* SAID: without this the run prints its summary and then stops producing
|
|
7
|
+
* output, which reads as a crash. Under a CI timeout it becomes a non-zero exit
|
|
8
|
+
* for a run in which every test passed.
|
|
9
|
+
*
|
|
10
|
+
* `bin/helix.js` carries its own copy on purpose: it calls the guard from the
|
|
11
|
+
* error path too, where the build may never have been imported, and an exit
|
|
12
|
+
* handler that can fail to load is worse than a duplicated one.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* How long to wait before deciding the loop is stuck. Long enough that a normal
|
|
16
|
+
* teardown — a socket closing, a pool draining — finishes first, short enough
|
|
17
|
+
* that CI does not sit on it.
|
|
18
|
+
*/
|
|
19
|
+
export const DRAIN_GRACE_MS = 2000;
|
|
20
|
+
/**
|
|
21
|
+
* Arm the guard for a run that has just finished with `code`.
|
|
22
|
+
*
|
|
23
|
+
* Returns immediately. The timer is `unref`'d, so it never keeps the process
|
|
24
|
+
* alive by itself: if everything closed, it never fires and nothing is printed.
|
|
25
|
+
*
|
|
26
|
+
* @param code The exit code the run produced.
|
|
27
|
+
* @param write Where the diagnostic goes. Defaults to stderr.
|
|
28
|
+
*/
|
|
29
|
+
export function armDrainGuard(code, write = (message) => {
|
|
30
|
+
process.stderr.write(message);
|
|
31
|
+
}) {
|
|
32
|
+
const timer = setTimeout(() => {
|
|
33
|
+
write(`\nhelix: the run finished (exit ${code}) but the process is still alive after ${DRAIN_GRACE_MS}ms.\n` +
|
|
34
|
+
`helix: still open: ${describeOpenResources()}\n` +
|
|
35
|
+
"helix: a test left something running — an open server, a timer, a database handle. Close it in a teardown hook,\n" +
|
|
36
|
+
"helix: or set `forceExit: true` in the tests config (or pass --force-exit) to exit anyway.\n");
|
|
37
|
+
process.exit(code);
|
|
38
|
+
}, DRAIN_GRACE_MS);
|
|
39
|
+
timer.unref();
|
|
40
|
+
}
|
|
41
|
+
/** What Node still has open, counted by kind. */
|
|
42
|
+
function describeOpenResources() {
|
|
43
|
+
const resources = typeof process.getActiveResourcesInfo === "function"
|
|
44
|
+
? process.getActiveResourcesInfo()
|
|
45
|
+
: [];
|
|
46
|
+
const counted = new Map();
|
|
47
|
+
for (const name of resources) {
|
|
48
|
+
counted.set(name, (counted.get(name) ?? 0) + 1);
|
|
49
|
+
}
|
|
50
|
+
if (counted.size === 0)
|
|
51
|
+
return "nothing Node can name";
|
|
52
|
+
return [...counted]
|
|
53
|
+
.map(([name, n]) => (n > 1 ? `${name} x${n}` : name))
|
|
54
|
+
.join(", ");
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=drain-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drain-guard.js","sourceRoot":"","sources":["../../src/runtime/drain-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC5B,IAAY,EACZ,QAAmC,CAAC,OAAO,EAAE,EAAE;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC7B,KAAK,CACJ,mCAAmC,IAAI,0CAA0C,cAAc,OAAO;YACrG,sBAAsB,qBAAqB,EAAE,IAAI;YACjD,mHAAmH;YACnH,8FAA8F,CAC/F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,cAAc,CAAC,CAAC;IACnB,KAAK,CAAC,KAAK,EAAE,CAAC;AACf,CAAC;AAED,iDAAiD;AACjD,SAAS,qBAAqB;IAC7B,MAAM,SAAS,GACd,OAAO,OAAO,CAAC,sBAAsB,KAAK,UAAU;QACnD,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE;QAClC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACvD,OAAO,CAAC,GAAG,OAAO,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACpD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c9up/helix",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Helix — framework-agnostic test runtime for the Ream ecosystem (Vitest-compatible runner, spies, container overrides, time-travel). Per-package fakes live in each package's /testing.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -62,7 +62,8 @@
|
|
|
62
62
|
"scripts": {
|
|
63
63
|
"prebuild": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
64
64
|
"build": "tsc -p tsconfig.build.json",
|
|
65
|
-
"build:napi": "cargo build --release -p ream-test-napi && node scripts/copy-napi.mjs",
|
|
65
|
+
"build:napi": "cargo build --release -p ream-test-napi && pnpm build:napi-types && node scripts/copy-napi.mjs",
|
|
66
|
+
"build:napi-types": "node scripts/build-napi-types.mjs",
|
|
66
67
|
"test": "vitest run",
|
|
67
68
|
"test:self": "node bin/helix.js test tests/selftest --timeout=30000",
|
|
68
69
|
"lint": "biome check src/",
|