@c9up/helix 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +274 -5
  2. package/bin/helix.js +312 -13
  3. package/dist/cli/failed-cache.d.ts +27 -0
  4. package/dist/cli/failed-cache.d.ts.map +1 -0
  5. package/dist/cli/failed-cache.js +64 -0
  6. package/dist/cli/failed-cache.js.map +1 -0
  7. package/dist/cli/glob.d.ts +36 -0
  8. package/dist/cli/glob.d.ts.map +1 -0
  9. package/dist/cli/glob.js +185 -0
  10. package/dist/cli/glob.js.map +1 -0
  11. package/dist/cli/native.d.ts +4 -0
  12. package/dist/cli/native.d.ts.map +1 -1
  13. package/dist/cli/native.js.map +1 -1
  14. package/dist/cli/pool.d.ts +11 -0
  15. package/dist/cli/pool.d.ts.map +1 -1
  16. package/dist/cli/pool.js +12 -0
  17. package/dist/cli/pool.js.map +1 -1
  18. package/dist/cli/reporter.d.ts +11 -0
  19. package/dist/cli/reporter.d.ts.map +1 -1
  20. package/dist/cli/reporter.js +53 -0
  21. package/dist/cli/reporter.js.map +1 -1
  22. package/dist/cli/run.d.ts +41 -0
  23. package/dist/cli/run.d.ts.map +1 -1
  24. package/dist/cli/run.js +181 -21
  25. package/dist/cli/run.js.map +1 -1
  26. package/dist/cli/runner.d.ts +19 -0
  27. package/dist/cli/runner.d.ts.map +1 -0
  28. package/dist/cli/runner.js +15 -0
  29. package/dist/cli/runner.js.map +1 -0
  30. package/dist/cli/suites.d.ts +102 -0
  31. package/dist/cli/suites.d.ts.map +1 -0
  32. package/dist/cli/suites.js +226 -0
  33. package/dist/cli/suites.js.map +1 -0
  34. package/dist/index.d.ts +10 -9
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +9 -8
  37. package/dist/index.js.map +1 -1
  38. package/dist/japa/core.d.ts +106 -0
  39. package/dist/japa/core.d.ts.map +1 -0
  40. package/dist/japa/core.js +128 -0
  41. package/dist/japa/core.js.map +1 -0
  42. package/dist/runtime/assert.d.ts +174 -0
  43. package/dist/runtime/assert.d.ts.map +1 -0
  44. package/dist/runtime/assert.js +591 -0
  45. package/dist/runtime/assert.js.map +1 -0
  46. package/dist/runtime/bootstrap.d.ts +47 -0
  47. package/dist/runtime/bootstrap.d.ts.map +1 -0
  48. package/dist/runtime/bootstrap.js +166 -0
  49. package/dist/runtime/bootstrap.js.map +1 -0
  50. package/dist/runtime/cli-args.d.ts +77 -0
  51. package/dist/runtime/cli-args.d.ts.map +1 -0
  52. package/dist/runtime/cli-args.js +85 -0
  53. package/dist/runtime/cli-args.js.map +1 -0
  54. package/dist/runtime/configure.d.ts +214 -0
  55. package/dist/runtime/configure.d.ts.map +1 -0
  56. package/dist/runtime/configure.js +164 -0
  57. package/dist/runtime/configure.js.map +1 -0
  58. package/dist/runtime/context.d.ts +84 -0
  59. package/dist/runtime/context.d.ts.map +1 -0
  60. package/dist/runtime/context.js +146 -0
  61. package/dist/runtime/context.js.map +1 -0
  62. package/dist/runtime/emitter.d.ts +141 -0
  63. package/dist/runtime/emitter.d.ts.map +1 -0
  64. package/dist/runtime/emitter.js +79 -0
  65. package/dist/runtime/emitter.js.map +1 -0
  66. package/dist/runtime/global-hooks.d.ts +31 -0
  67. package/dist/runtime/global-hooks.d.ts.map +1 -0
  68. package/dist/runtime/global-hooks.js +126 -0
  69. package/dist/runtime/global-hooks.js.map +1 -0
  70. package/dist/runtime/index.d.ts +14 -3
  71. package/dist/runtime/index.d.ts.map +1 -1
  72. package/dist/runtime/index.js +7 -2
  73. package/dist/runtime/index.js.map +1 -1
  74. package/dist/runtime/run.d.ts +49 -2
  75. package/dist/runtime/run.d.ts.map +1 -1
  76. package/dist/runtime/run.js +618 -94
  77. package/dist/runtime/run.js.map +1 -1
  78. package/dist/runtime/runner.d.ts +97 -0
  79. package/dist/runtime/runner.d.ts.map +1 -0
  80. package/dist/runtime/runner.js +160 -0
  81. package/dist/runtime/runner.js.map +1 -0
  82. package/dist/runtime/suite-config.d.ts +23 -0
  83. package/dist/runtime/suite-config.d.ts.map +1 -0
  84. package/dist/runtime/suite-config.js +52 -0
  85. package/dist/runtime/suite-config.js.map +1 -0
  86. package/dist/runtime/suite-taps.d.ts +122 -0
  87. package/dist/runtime/suite-taps.d.ts.map +1 -0
  88. package/dist/runtime/suite-taps.js +218 -0
  89. package/dist/runtime/suite-taps.js.map +1 -0
  90. package/dist/runtime/suite.d.ts +277 -8
  91. package/dist/runtime/suite.d.ts.map +1 -1
  92. package/dist/runtime/suite.js +255 -4
  93. package/dist/runtime/suite.js.map +1 -1
  94. package/dist/runtime/test-context.d.ts +50 -3
  95. package/dist/runtime/test-context.d.ts.map +1 -1
  96. package/dist/runtime/test-context.js +83 -5
  97. package/dist/runtime/test-context.js.map +1 -1
  98. package/dist/runtime/worker.d.ts.map +1 -1
  99. package/dist/runtime/worker.js +85 -28
  100. package/dist/runtime/worker.js.map +1 -1
  101. package/index.darwin-arm64.node +0 -0
  102. package/index.darwin-x64.node +0 -0
  103. package/index.linux-arm64-gnu.node +0 -0
  104. package/index.linux-x64-gnu.node +0 -0
  105. package/index.win32-x64-msvc.node +0 -0
  106. package/package.json +8 -1
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The `--failed` cache — Japa's "run what failed last time".
3
+ *
4
+ * Japa writes the failed test TITLES to a cache file after every run, and
5
+ * `--failed` turns them into a `--tests` filter on the next one. Same contract
6
+ * here, same file shape (`{ tests: string[] }`), under
7
+ * `node_modules/.cache/helix/summary.json`.
8
+ *
9
+ * Named deviation: the cache is written only when the run produced per-test
10
+ * detail — i.e. the TypeScript pool. The native (Rust) engine reports totals
11
+ * only, so a run it owns leaves the previous cache untouched rather than
12
+ * blanking it. `--failed` therefore forces the TypeScript pool.
13
+ */
14
+ import type { Summary } from "./summary.js";
15
+ /** Titles of the tests that failed, in run order, without duplicates. */
16
+ export declare function failedTestTitles(summary: Summary): string[];
17
+ /**
18
+ * Persist the failed titles for a later `--failed`. Never throws: a run must
19
+ * not fail because its cache could not be written.
20
+ */
21
+ export declare function writeFailedCache(root: string, summary: Summary): Promise<void>;
22
+ /**
23
+ * The titles cached by the previous run, or an empty list when there is no
24
+ * usable cache (never run, unreadable, or malformed).
25
+ */
26
+ export declare function readFailedCache(root: string): Promise<string[]>;
27
+ //# sourceMappingURL=failed-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failed-cache.d.ts","sourceRoot":"","sources":["../../src/cli/failed-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAQ3D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWrE"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * The `--failed` cache — Japa's "run what failed last time".
3
+ *
4
+ * Japa writes the failed test TITLES to a cache file after every run, and
5
+ * `--failed` turns them into a `--tests` filter on the next one. Same contract
6
+ * here, same file shape (`{ tests: string[] }`), under
7
+ * `node_modules/.cache/helix/summary.json`.
8
+ *
9
+ * Named deviation: the cache is written only when the run produced per-test
10
+ * detail — i.e. the TypeScript pool. The native (Rust) engine reports totals
11
+ * only, so a run it owns leaves the previous cache untouched rather than
12
+ * blanking it. `--failed` therefore forces the TypeScript pool.
13
+ */
14
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
15
+ import path from "node:path";
16
+ /** Where the cache lives, relative to the project root. */
17
+ function cacheFile(root) {
18
+ return path.join(root, "node_modules", ".cache", "helix", "summary.json");
19
+ }
20
+ /** Titles of the tests that failed, in run order, without duplicates. */
21
+ export function failedTestTitles(summary) {
22
+ const titles = new Set();
23
+ for (const file of summary.files) {
24
+ for (const test of file.tests) {
25
+ if (test.status === "fail")
26
+ titles.add(test.name);
27
+ }
28
+ }
29
+ return [...titles];
30
+ }
31
+ /**
32
+ * Persist the failed titles for a later `--failed`. Never throws: a run must
33
+ * not fail because its cache could not be written.
34
+ */
35
+ export async function writeFailedCache(root, summary) {
36
+ const file = cacheFile(root);
37
+ try {
38
+ await mkdir(path.dirname(file), { recursive: true });
39
+ await writeFile(file, JSON.stringify({ tests: failedTestTitles(summary) }), "utf8");
40
+ }
41
+ catch {
42
+ // Best-effort — a read-only or missing node_modules is not a run failure.
43
+ }
44
+ }
45
+ /**
46
+ * The titles cached by the previous run, or an empty list when there is no
47
+ * usable cache (never run, unreadable, or malformed).
48
+ */
49
+ export async function readFailedCache(root) {
50
+ try {
51
+ const raw = await readFile(cacheFile(root), "utf8");
52
+ const parsed = JSON.parse(raw);
53
+ if (parsed === null || typeof parsed !== "object")
54
+ return [];
55
+ const tests = Reflect.get(parsed, "tests");
56
+ if (!Array.isArray(tests))
57
+ return [];
58
+ return tests.filter((t) => typeof t === "string");
59
+ }
60
+ catch {
61
+ return [];
62
+ }
63
+ }
64
+ //# sourceMappingURL=failed-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failed-cache.js","sourceRoot":"","sources":["../../src/cli/failed-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,2DAA2D;AAC3D,SAAS,SAAS,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC3E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAAY,EACZ,OAAgB;IAEhB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC;QACJ,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,CACd,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EACpD,MAAM,CACN,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,0EAA0E;IAC3E,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IACjD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Glob patterns for suite `files` entries.
3
+ *
4
+ * AdonisJS declares suites with real globs — its own defaults are
5
+ * `tests/unit/**​/*.spec.(js|ts)` — so an `adonisrc.ts` suite list has to be
6
+ * portable verbatim. Compiles to a `RegExp` over root-relative POSIX paths:
7
+ * `*`, `**`, `?`, `{a,b}`, `(a|b)`, `[abc]`, and the extglob quantifiers with an
8
+ * exact regex equivalent — `@(a|b)`, `?(a|b)`, `*(a|b)`, `+(a|b)`.
9
+ *
10
+ * An ENTRY may also start with `!` to exclude what it matches from the suite,
11
+ * the way a file list is usually written.
12
+ *
13
+ * One form stays refused: `!(a|b)`, the negated extglob GROUP. Its semantics
14
+ * ("anything in this segment other than a or b", composing with whatever
15
+ * follows) have no faithful regex rendering, and a near-miss would silently
16
+ * select the wrong files — the one thing a file selector must not do.
17
+ */
18
+ /** Whether an entry is a pattern rather than a plain path. */
19
+ export declare function isGlob(entry: string): boolean;
20
+ /** Whether an entry excludes rather than selects (a leading `!`). */
21
+ export declare function isNegated(entry: string): boolean;
22
+ /** The pattern an entry carries, with any leading `!` stripped. */
23
+ export declare function withoutNegation(entry: string): string;
24
+ /** The reason an entry cannot be compiled, or `undefined` when it can. */
25
+ export declare function globRejection(entry: string): string | undefined;
26
+ /**
27
+ * The leading path that contains no pattern character — the directory a walk
28
+ * can start from. `tests/unit/**​/*.spec.ts` → `tests/unit`.
29
+ */
30
+ export declare function globBaseDir(entry: string): string;
31
+ /**
32
+ * Compile a glob to an anchored `RegExp`. Paths are matched with `/`
33
+ * separators, relative to the root the pattern was declared against.
34
+ */
35
+ export declare function globToRegExp(entry: string): RegExp;
36
+ //# sourceMappingURL=glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/cli/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,8DAA8D;AAC9D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAKD,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK/D;AAeD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwElD"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Glob patterns for suite `files` entries.
3
+ *
4
+ * AdonisJS declares suites with real globs — its own defaults are
5
+ * `tests/unit/**​/*.spec.(js|ts)` — so an `adonisrc.ts` suite list has to be
6
+ * portable verbatim. Compiles to a `RegExp` over root-relative POSIX paths:
7
+ * `*`, `**`, `?`, `{a,b}`, `(a|b)`, `[abc]`, and the extglob quantifiers with an
8
+ * exact regex equivalent — `@(a|b)`, `?(a|b)`, `*(a|b)`, `+(a|b)`.
9
+ *
10
+ * An ENTRY may also start with `!` to exclude what it matches from the suite,
11
+ * the way a file list is usually written.
12
+ *
13
+ * One form stays refused: `!(a|b)`, the negated extglob GROUP. Its semantics
14
+ * ("anything in this segment other than a or b", composing with whatever
15
+ * follows) have no faithful regex rendering, and a near-miss would silently
16
+ * select the wrong files — the one thing a file selector must not do.
17
+ */
18
+ const GLOB_CHARS = /[*?{}()[\]]/;
19
+ /** Whether an entry is a pattern rather than a plain path. */
20
+ export function isGlob(entry) {
21
+ return GLOB_CHARS.test(entry);
22
+ }
23
+ /** The negated extglob group, the one form with no exact regex equivalent. */
24
+ const NEGATED_GROUP = /!\(/;
25
+ /** Whether an entry excludes rather than selects (a leading `!`). */
26
+ export function isNegated(entry) {
27
+ return entry.startsWith("!") && !entry.startsWith("!(");
28
+ }
29
+ /** The pattern an entry carries, with any leading `!` stripped. */
30
+ export function withoutNegation(entry) {
31
+ return isNegated(entry) ? entry.slice(1) : entry;
32
+ }
33
+ /** The reason an entry cannot be compiled, or `undefined` when it can. */
34
+ export function globRejection(entry) {
35
+ if (NEGATED_GROUP.test(entry)) {
36
+ return "the negated extglob group `!(…)` is not supported — write a `!pattern` entry to exclude";
37
+ }
38
+ return undefined;
39
+ }
40
+ /** The regex quantifier an extglob prefix stands for. */
41
+ function quantifierFor(prefix) {
42
+ if (prefix === "?")
43
+ return "?";
44
+ if (prefix === "*")
45
+ return "*";
46
+ if (prefix === "+")
47
+ return "+";
48
+ return "";
49
+ }
50
+ /** Regex-escape one literal character. */
51
+ function escapeChar(char) {
52
+ return /[.+^$|\\]/.test(char) ? `\\${char}` : char;
53
+ }
54
+ /**
55
+ * The leading path that contains no pattern character — the directory a walk
56
+ * can start from. `tests/unit/**​/*.spec.ts` → `tests/unit`.
57
+ */
58
+ export function globBaseDir(entry) {
59
+ const segments = entry.split("/");
60
+ const first = segments.findIndex((segment) => GLOB_CHARS.test(segment));
61
+ if (first === -1)
62
+ return entry;
63
+ return segments.slice(0, first).join("/") || ".";
64
+ }
65
+ /**
66
+ * Compile a glob to an anchored `RegExp`. Paths are matched with `/`
67
+ * separators, relative to the root the pattern was declared against.
68
+ */
69
+ export function globToRegExp(entry) {
70
+ let out = "";
71
+ let depth = 0;
72
+ let i = 0;
73
+ while (i < entry.length) {
74
+ const char = entry[i];
75
+ // `@(a|b)`, `?(a|b)`, `*(a|b)`, `+(a|b)` — the prefix quantifies the group
76
+ // rather than standing on its own, so it is consumed here before the `*`
77
+ // and `?` cases could claim it.
78
+ if ((char === "@" || char === "?" || char === "*" || char === "+") &&
79
+ entry[i + 1] === "(") {
80
+ const close = matchingParen(entry, i + 1);
81
+ if (close !== -1) {
82
+ out += `(?:${bodyToRegExp(entry.slice(i + 2, close))})${quantifierFor(char)}`;
83
+ i = close + 1;
84
+ continue;
85
+ }
86
+ }
87
+ if (char === "*") {
88
+ if (entry[i + 1] === "*") {
89
+ i += 2;
90
+ // `**/` spans zero or more directories, so `tests/**​/*.ts` also
91
+ // matches `tests/a.ts` — the globstar semantics Adonis relies on.
92
+ if (entry[i] === "/") {
93
+ out += "(?:[^/]*/)*";
94
+ i += 1;
95
+ }
96
+ else {
97
+ out += ".*";
98
+ }
99
+ }
100
+ else {
101
+ out += "[^/]*";
102
+ i += 1;
103
+ }
104
+ continue;
105
+ }
106
+ if (char === "?") {
107
+ out += "[^/]";
108
+ i += 1;
109
+ continue;
110
+ }
111
+ if (char === "{" || char === "(") {
112
+ out += "(?:";
113
+ depth += 1;
114
+ i += 1;
115
+ continue;
116
+ }
117
+ if ((char === "}" || char === ")") && depth > 0) {
118
+ out += ")";
119
+ depth -= 1;
120
+ i += 1;
121
+ continue;
122
+ }
123
+ if ((char === "," || char === "|") && depth > 0) {
124
+ out += "|";
125
+ i += 1;
126
+ continue;
127
+ }
128
+ if (char === "[") {
129
+ const close = entry.indexOf("]", i + 1);
130
+ if (close !== -1) {
131
+ const body = entry.slice(i + 1, close);
132
+ out += `[${body.startsWith("!") ? `^${body.slice(1)}` : body}]`;
133
+ i = close + 1;
134
+ continue;
135
+ }
136
+ }
137
+ out += escapeChar(char);
138
+ i += 1;
139
+ }
140
+ return new RegExp(`^${out}$`);
141
+ }
142
+ /** Index of the `)` closing the `(` at `open`, or `-1` when unbalanced. */
143
+ function matchingParen(entry, open) {
144
+ let depth = 0;
145
+ for (let i = open; i < entry.length; i += 1) {
146
+ if (entry[i] === "(")
147
+ depth += 1;
148
+ else if (entry[i] === ")") {
149
+ depth -= 1;
150
+ if (depth === 0)
151
+ return i;
152
+ }
153
+ }
154
+ return -1;
155
+ }
156
+ /**
157
+ * Compile a quantified group's body. Each alternative is a pattern in its own
158
+ * right, so `@(a|b)` and `@(a,b)` both read as "a or b" — the two separators
159
+ * glob syntax uses for the same thing.
160
+ */
161
+ function bodyToRegExp(body) {
162
+ return splitAlternatives(body)
163
+ .map((alternative) => globToRegExp(alternative).source.slice(1, -1))
164
+ .join("|");
165
+ }
166
+ /** Split a group body on its TOP-LEVEL separators, so nesting survives. */
167
+ function splitAlternatives(body) {
168
+ const parts = [];
169
+ let depth = 0;
170
+ let start = 0;
171
+ for (let i = 0; i < body.length; i += 1) {
172
+ const char = body[i];
173
+ if (char === "(" || char === "{" || char === "[")
174
+ depth += 1;
175
+ else if (char === ")" || char === "}" || char === "]")
176
+ depth -= 1;
177
+ else if ((char === "|" || char === ",") && depth === 0) {
178
+ parts.push(body.slice(start, i));
179
+ start = i + 1;
180
+ }
181
+ }
182
+ parts.push(body.slice(start));
183
+ return parts;
184
+ }
185
+ //# sourceMappingURL=glob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/cli/glob.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,10 @@ export interface NativeRunConfig {
22
22
  readonly nodeBin?: string;
23
23
  readonly nodeArgs?: readonly string[];
24
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;
25
29
  }
26
30
  /** Mirror of the Rust `SummaryPayload` (camelCase). */
27
31
  export interface NativeSummaryPayload {
@@ -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;CAC7B;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,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 +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;AAgCD,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;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"}
@@ -35,6 +35,17 @@ export interface PoolConfig {
35
35
  * Used by coverage to forward `NODE_V8_COVERAGE=<tmp-dir>`.
36
36
  */
37
37
  extraEnv?: NodeJS.ProcessEnv;
38
+ /**
39
+ * Stop the run once a file reports a failure (Japa `--bail` at the runner
40
+ * layer). Files already in flight finish; files not yet started are never
41
+ * spawned.
42
+ *
43
+ * Named deviation from Japa: those files are DROPPED, not reported as
44
+ * skipped. Japa can skip them because it collected every test in one
45
+ * process; helix runs one process per file, so a file that never starts has
46
+ * no tests to skip.
47
+ */
48
+ bail?: boolean;
38
49
  }
39
50
  export interface WorkerErrorMessage {
40
51
  file: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/cli/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,UAAU;IAC1B,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAwHhD,wBAAsB,OAAO,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAmClE"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/cli/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,UAAU;IAC1B,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC7B;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAwHhD,wBAAsB,OAAO,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CA6ClE"}
package/dist/cli/pool.js CHANGED
@@ -131,19 +131,31 @@ export async function runPool(files, cfg, reporter) {
131
131
  const sem = new Semaphore(effectiveThreads);
132
132
  const results = [];
133
133
  const errors = [];
134
+ // Under `--bail`, the first failing file closes the gate: whatever has not
135
+ // been spawned yet never will be.
136
+ let gateClosed = false;
134
137
  await Promise.all(files.map(async (file) => {
135
138
  const absFile = path.isAbsolute(file) ? file : path.resolve(file);
136
139
  const release = await sem.acquire();
137
140
  try {
141
+ // Checked AFTER acquiring the slot: by then an earlier file may have
142
+ // failed while this one was queued.
143
+ if (cfg.bail === true && gateClosed)
144
+ return;
138
145
  safeCall(() => reporter.onFileStart(absFile), "onFileStart");
139
146
  const outcome = await runOne(absFile, cfg);
140
147
  if (outcome.kind === "result") {
141
148
  safeCall(() => reporter.onFileResult(outcome.result), "onFileResult");
142
149
  results.push(outcome.result);
150
+ if (cfg.bail === true && outcome.result.totals.fail > 0) {
151
+ gateClosed = true;
152
+ }
143
153
  }
144
154
  else {
145
155
  safeCall(() => reporter.onFileError(outcome.error), "onFileError");
146
156
  errors.push(outcome.error);
157
+ if (cfg.bail === true)
158
+ gateClosed = true;
147
159
  }
148
160
  }
149
161
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/cli/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/cli/pool.ts"],"names":[],"mappings":"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"}
@@ -47,5 +47,16 @@ export declare class JsonReporter implements Reporter {
47
47
  }
48
48
  /** Factory from a CLI-style name. */
49
49
  export declare function makeReporter(name: string | undefined, useColors: boolean): Reporter;
50
+ /**
51
+ * Fan a run out to reporter INSTANCES — the programmatic form, for callers that
52
+ * built their own. A single reporter is returned as-is, so no wrapper sits in
53
+ * the common path.
54
+ */
55
+ export declare function makeReportersFrom(reporters: readonly Reporter[]): Reporter;
56
+ /**
57
+ * Build the reporter for a run. One name behaves exactly as before; several
58
+ * (Japa `--reporters=spec,json`) fan out to all of them.
59
+ */
60
+ export declare function makeReporters(names: readonly string[] | undefined, useColors: boolean): Reporter;
50
61
  export {};
51
62
  //# sourceMappingURL=reporter.d.ts.map
@@ -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"}
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"}
@@ -121,4 +121,57 @@ export function makeReporter(name, useColors) {
121
121
  return new SpecReporter(stdoutSink(), useColors);
122
122
  }
123
123
  }
124
+ /**
125
+ * Fan one run out to several reporters — Japa activates a LIST of reporters
126
+ * (`--reporters=spec,json`), not just one. Each callback reaches every reporter;
127
+ * a throwing reporter is isolated so it cannot take the run down with it.
128
+ */
129
+ class MultiReporter {
130
+ #reporters;
131
+ constructor(reporters) {
132
+ this.#reporters = reporters;
133
+ }
134
+ #each(label, call) {
135
+ for (const reporter of this.#reporters) {
136
+ try {
137
+ call(reporter);
138
+ }
139
+ catch (err) {
140
+ console.error(`[helix] reporter ${label} failed:`, err);
141
+ }
142
+ }
143
+ }
144
+ onFileStart(file) {
145
+ this.#each("onFileStart", (r) => r.onFileStart(file));
146
+ }
147
+ onFileResult(result) {
148
+ this.#each("onFileResult", (r) => r.onFileResult(result));
149
+ }
150
+ onFileError(error) {
151
+ this.#each("onFileError", (r) => r.onFileError(error));
152
+ }
153
+ onSummary(summary) {
154
+ this.#each("onSummary", (r) => r.onSummary(summary));
155
+ }
156
+ }
157
+ /**
158
+ * Fan a run out to reporter INSTANCES — the programmatic form, for callers that
159
+ * built their own. A single reporter is returned as-is, so no wrapper sits in
160
+ * the common path.
161
+ */
162
+ export function makeReportersFrom(reporters) {
163
+ if (reporters.length === 1)
164
+ return reporters[0];
165
+ return new MultiReporter([...reporters]);
166
+ }
167
+ /**
168
+ * Build the reporter for a run. One name behaves exactly as before; several
169
+ * (Japa `--reporters=spec,json`) fan out to all of them.
170
+ */
171
+ export function makeReporters(names, useColors) {
172
+ const list = (names ?? []).filter((n) => n.trim().length > 0);
173
+ if (list.length <= 1)
174
+ return makeReporter(list[0], useColors);
175
+ return makeReportersFrom(list.map((n) => makeReporter(n, useColors)));
176
+ }
124
177
  //# sourceMappingURL=reporter.js.map
@@ -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;IACM;IAA7B,YAA6B,OAAa,UAAU,EAAE;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAC1D,WAAW,CAAC,KAAa,IAAS,CAAC;IACnC,YAAY,CAAC,MAAkB;QAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,GACN,CAAC,CAAC,MAAM,KAAK,MAAM;gBAClB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;oBACpB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;wBACpB,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IACD,WAAW,CAAC,MAA0B;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,OAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CACD;AAED,MAAM,OAAO,YAAY;IAEN;IACA;IAFlB,YACkB,OAAa,UAAU,EAAE,EACzB,YAAY,IAAI;QADhB,SAAI,GAAJ,IAAI,CAAqB;QACzB,cAAS,GAAT,SAAS,CAAO;IAC/B,CAAC;IACJ,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAClB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CACpE,CAAC;IACH,CAAC;IACD,YAAY,CAAC,MAAkB;QAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,MAAM,GACX,CAAC,CAAC,MAAM,KAAK,MAAM;gBAClB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;oBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;oBAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;wBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,SAAS,CAClB,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CACpD,CAAC;gBACF,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACpE,IAAI,CAAC,IAAI,CAAC,SAAS,CAClB,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAClF,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,SAAS,CAClB,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CACpF,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,WAAW,CAAC,KAAyB;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAClB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAC5D,CAAC;IACH,CAAC;IACD,SAAS,CAAC,OAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CACD;AAED,MAAM,OAAO,YAAY;IACK;IAA7B,YAA6B,OAAa,UAAU,EAAE;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAC1D,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,YAAY,CAAC,MAAkB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,WAAW,CAAC,KAAyB;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,SAAS,CAAC,OAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACD;AAED,SAAS,YAAY,CAAC,IAAU,EAAE,OAAgB;IACjD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,IAAI,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,CACb,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,UAAU,cAAc,CAC1G,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,YAAY,CAC3B,IAAwB,EACxB,SAAkB;IAElB,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,KAAK,KAAK;YACT,OAAO,IAAI,WAAW,EAAE,CAAC;QAC1B,KAAK,MAAM;YACV,OAAO,IAAI,YAAY,EAAE,CAAC;QAC3B;YACC,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/cli/reporter.ts"],"names":[],"mappings":"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"}