@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.
@@ -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
- /** Mirror of the Rust `RunConfig` (camelCase). */
15
- export interface NativeRunConfig {
16
- readonly root: string;
17
- readonly files?: readonly string[];
18
- readonly threads?: number;
19
- readonly timeoutMs?: number;
20
- readonly reporter?: string;
21
- readonly workerEntry: string;
22
- readonly nodeBin?: string;
23
- readonly nodeArgs?: readonly string[];
24
- readonly useColors?: boolean;
25
- /** Activate several reporters at once (Japa `--reporters`). */
26
- readonly reporters?: readonly string[];
27
- /** Stop the run at the first failing file (Japa `--bail`). */
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
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/cli/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyBH,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,aAAa;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzE;AASD,wBAAgB,SAAS,IAAI,aAAa,CA6BzC"}
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"}
@@ -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;AAoCD,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"}
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"}
@@ -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 readonly sink;
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 readonly sink;
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 readonly sink;
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;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,IAAmB;IACtD,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;IAE3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,IAAI,GAAE,IAAmB,EACzB,SAAS,UAAO;IAElC,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;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,IAAmB;IACtD,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"}
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"}
@@ -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.sink = sink;
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.sink.write(c);
40
+ this.#sink.write(c);
41
41
  }
42
42
  }
43
43
  onFileError(_error) {
44
- this.sink.write("E");
44
+ this.#sink.write("E");
45
45
  }
46
46
  onSummary(summary) {
47
- this.sink.writeLine("");
48
- printSummary(this.sink, summary);
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.sink = sink;
56
- this.useColors = useColors;
55
+ this.#sink = sink;
56
+ this.#useColors = useColors;
57
57
  }
58
58
  onFileStart(file) {
59
- this.sink.writeLine(`${ANSI.dim("▶", this.useColors)} ${ANSI.dim(file, this.useColors)}`);
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.useColors)
64
+ ? ANSI.green("✔", this.#useColors)
65
65
  : t.status === "fail"
66
- ? ANSI.red("✘", this.useColors)
66
+ ? ANSI.red("✘", this.#useColors)
67
67
  : t.status === "skip"
68
- ? ANSI.yellow("○", this.useColors)
69
- : ANSI.dim("☐", this.useColors);
70
- this.sink.writeLine(` ${marker} ${t.fullName}`);
68
+ ? ANSI.yellow("○", this.#useColors)
69
+ : ANSI.dim("☐", this.#useColors);
70
+ this.#sink.writeLine(` ${marker} ${t.fullName}`);
71
71
  if (t.error) {
72
- this.sink.writeLine(` ${ANSI.red(t.error.message, this.useColors)}`);
72
+ this.#sink.writeLine(` ${ANSI.red(t.error.message, this.#useColors)}`);
73
73
  if (t.error.actual !== undefined && t.error.expected !== undefined) {
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)}`);
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.sink.writeLine(`${ANSI.red("✘", this.useColors)} ${file}: ${error.message}`);
82
+ this.#sink.writeLine(`${ANSI.red("✘", this.#useColors)} ${file}: ${error.message}`);
83
83
  }
84
84
  onSummary(summary) {
85
- this.sink.writeLine("");
86
- printSummary(this.sink, summary);
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.sink = sink;
92
+ this.#sink = sink;
93
93
  }
94
94
  onFileStart(file) {
95
- this.sink.writeLine(JSON.stringify({ event: "file:start", file }));
95
+ this.#sink.writeLine(JSON.stringify({ event: "file:start", file }));
96
96
  }
97
97
  onFileResult(result) {
98
- this.sink.writeLine(JSON.stringify({ event: "file:end", result }));
98
+ this.#sink.writeLine(JSON.stringify({ event: "file:end", result }));
99
99
  }
100
100
  onFileError(error) {
101
- this.sink.writeLine(JSON.stringify({ event: "file:error", error }));
101
+ this.#sink.writeLine(JSON.stringify({ event: "file:error", error }));
102
102
  }
103
103
  onSummary(summary) {
104
- this.sink.writeLine(JSON.stringify({ event: "summary", summary }));
104
+ this.#sink.writeLine(JSON.stringify({ event: "summary", summary }));
105
105
  }
106
106
  }
107
107
  function printSummary(sink, summary) {
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"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"}
@@ -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";
@@ -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"}
@@ -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";
@@ -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"}
@@ -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;AAwED;;;;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"}
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"}
@@ -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 source = imported !== null && typeof imported === "object"
67
+ const exported = imported !== null && typeof imported === "object"
38
68
  ? (Reflect.get(imported, "default") ?? imported)
39
69
  : imported;
40
- if (source === null || typeof source !== "object")
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");
@@ -1 +1 @@
1
- {"version":3,"file":"suites.js","sourceRoot":"","sources":["../../src/cli/suites.ts"],"names":[],"mappings":"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"}
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.1",
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/",