@overkill-dev/run 0.0.30 → 0.0.32

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 (103) hide show
  1. package/assertion-protocol/assertion-node-shape.d.ts +9 -1
  2. package/assertion-protocol/assertion-node-shape.d.ts.map +1 -1
  3. package/assertion-protocol/source-location.d.ts +8 -0
  4. package/assertion-protocol/source-location.d.ts.map +1 -0
  5. package/assertion-protocol/source-location.js +30 -8
  6. package/assertion-protocol/source-location.js.map +1 -1
  7. package/engine/execution.d.ts +5 -5
  8. package/engine/execution.d.ts.map +1 -1
  9. package/engine/execution.js +73 -68
  10. package/engine/execution.js.map +1 -1
  11. package/engine/reporter-dispatcher.d.ts +11 -5
  12. package/engine/reporter-dispatcher.d.ts.map +1 -1
  13. package/engine/reporter-dispatcher.js +78 -101
  14. package/engine/reporter-dispatcher.js.map +1 -1
  15. package/engine/reporter-disposal.d.ts +6 -0
  16. package/engine/reporter-disposal.d.ts.map +1 -0
  17. package/engine/reporter-disposal.js +13 -0
  18. package/engine/reporter-disposal.js.map +1 -0
  19. package/engine/reporter-error-delivery-tracking.js +22 -0
  20. package/engine/reporter-error-delivery-tracking.js.map +1 -0
  21. package/engine/reporter-event-queue.js +2 -2
  22. package/engine/reporter-event-queue.js.map +1 -1
  23. package/engine/reporter-managed-output.js +84 -0
  24. package/engine/reporter-managed-output.js.map +1 -0
  25. package/engine/reporter-output.d.ts +5 -2
  26. package/engine/reporter-output.d.ts.map +1 -1
  27. package/engine/reporter-output.js +9 -7
  28. package/engine/reporter-output.js.map +1 -1
  29. package/engine/reporter.d.ts +4 -2
  30. package/engine/reporter.d.ts.map +1 -1
  31. package/engine/reporter.js +3 -3
  32. package/engine/reporter.js.map +1 -1
  33. package/engine/reporting-context.d.ts +18 -0
  34. package/engine/reporting-context.d.ts.map +1 -0
  35. package/engine/reporting-context.js +74 -0
  36. package/engine/reporting-context.js.map +1 -0
  37. package/engine/test-node.d.ts.map +1 -1
  38. package/engine/test-node.js +4 -0
  39. package/engine/test-node.js.map +1 -1
  40. package/engine/test-plan.d.ts +4 -6
  41. package/engine/test-plan.d.ts.map +1 -1
  42. package/engine/test-plan.js +20 -6
  43. package/engine/test-plan.js.map +1 -1
  44. package/package.json +8 -3
  45. package/packages/engine/assertion-protocol.entry-point.d.ts +2 -1
  46. package/packages/engine/assertion-protocol.entry-point.d.ts.map +1 -1
  47. package/packages/engine/assertion-protocol.entry-point.js +1 -0
  48. package/packages/engine/assertion-protocol.entry-point.js.map +1 -1
  49. package/packages/engine/engine.entry-point.js +61 -0
  50. package/packages/engine/engine.entry-point.js.map +1 -0
  51. package/packages/reporter-line/reporter-line.entry-point.js +7 -0
  52. package/packages/reporter-line/reporter-line.entry-point.js.map +1 -0
  53. package/readme.md +1 -0
  54. package/reporters/line-failure-rendering.js +235 -0
  55. package/reporters/line-failure-rendering.js.map +1 -0
  56. package/reporters/line-reporter.js +154 -0
  57. package/reporters/line-reporter.js.map +1 -0
  58. package/reporters/serialized-value-rendering.js +108 -0
  59. package/reporters/serialized-value-rendering.js.map +1 -0
  60. package/reporters/terminal.js +13 -0
  61. package/reporters/terminal.js.map +1 -0
  62. package/run/command-line-runner.d.ts +3 -3
  63. package/run/command-line-runner.d.ts.map +1 -1
  64. package/run/command-line-runner.js +2 -19
  65. package/run/command-line-runner.js.map +1 -1
  66. package/run/default-direct-reporter.js +2 -6
  67. package/run/default-direct-reporter.js.map +1 -1
  68. package/run/run-collection-error-result.js +8 -9
  69. package/run/run-collection-error-result.js.map +1 -1
  70. package/run/run-config.d.ts +4 -4
  71. package/run/run-config.d.ts.map +1 -1
  72. package/run/run-config.js.map +1 -1
  73. package/run/run-discovery.js +10 -2
  74. package/run/run-discovery.js.map +1 -1
  75. package/run/run-facts.js +1 -0
  76. package/run/run-facts.js.map +1 -1
  77. package/run/run-if-main-facts.js +2 -1
  78. package/run/run-if-main-facts.js.map +1 -1
  79. package/run/run-if-main-options.d.ts +6 -6
  80. package/run/run-if-main-options.d.ts.map +1 -1
  81. package/run/run-if-main-options.js.map +1 -1
  82. package/run/run-if-main-profile.js +1 -0
  83. package/run/run-if-main-profile.js.map +1 -1
  84. package/run/run-if-main.js +1 -1
  85. package/run/run-if-main.js.map +1 -1
  86. package/run/run-input-resolution.js +3 -3
  87. package/run/run-input-resolution.js.map +1 -1
  88. package/run/run-list-renderer.js +39 -51
  89. package/run/run-list-renderer.js.map +1 -1
  90. package/run/run-test-modules.js +0 -1
  91. package/run/run-test-modules.js.map +1 -1
  92. package/run/run-types.d.ts +1 -0
  93. package/run/run-types.d.ts.map +1 -1
  94. package/run/run-types.js.map +1 -1
  95. package/run/run.js +21 -5
  96. package/run/run.js.map +1 -1
  97. package/run/supervised-child.js +16 -16
  98. package/run/supervised-child.js.map +1 -1
  99. package/run/supervised-run-runtime.js +10 -13
  100. package/run/supervised-run-runtime.js.map +1 -1
  101. package/run/supervised-run.js +5 -5
  102. package/run/supervised-run.js.map +1 -1
  103. package/sbom.cdx.json +67 -16
@@ -0,0 +1,235 @@
1
+ import colors from 'yoctocolors';
2
+ import { formatAssertionSourceLocations } from "../engine/reporting-context.js";
3
+ import { formatSerializedValue, keyText } from "./serialized-value-rendering.js";
4
+ const blockLineLimit = 100;
5
+ const bytesPerKilobyte = 1024;
6
+ const valueKilobytes = 8;
7
+ const valueByteLimit = valueKilobytes * bytesPerKilobyte;
8
+ function byteLength(value) {
9
+ return Buffer.byteLength(value, 'utf8');
10
+ }
11
+ function truncateBytes(value) {
12
+ if (byteLength(value) <= valueByteLimit) {
13
+ return value;
14
+ }
15
+ let truncated = '';
16
+ for (const character of value) {
17
+ const next = `${truncated}${character}`;
18
+ if (byteLength(next) > valueByteLimit) {
19
+ break;
20
+ }
21
+ truncated = next;
22
+ }
23
+ return `${truncated}\n... truncated after ${valueByteLimit} bytes`;
24
+ }
25
+ function truncateLines(value) {
26
+ const lines = value.split('\n');
27
+ if (lines.length <= blockLineLimit) {
28
+ return value;
29
+ }
30
+ return [
31
+ ...lines.slice(0, blockLineLimit),
32
+ `... truncated ${lines.length - blockLineLimit} lines`
33
+ ]
34
+ .join('\n');
35
+ }
36
+ function truncateRenderedValue(value) {
37
+ return truncateLines(truncateBytes(value));
38
+ }
39
+ function formatPropertySegment(segment) {
40
+ const key = keyText(segment.key);
41
+ return /^[A-Za-z_$][\w$]*$/u.test(key) ? `.${key}` : `[${JSON.stringify(key)}]`;
42
+ }
43
+ function formatKeyedSegment(segment) {
44
+ if (segment.kind === 'set-value') {
45
+ return `[set ${formatSerializedValue(segment.value)}]`;
46
+ }
47
+ if (segment.kind === 'map-key') {
48
+ return `[map key ${formatSerializedValue(segment.key)}]`;
49
+ }
50
+ if (segment.kind === 'map-value') {
51
+ return `[map value ${formatSerializedValue(segment.key)}]`;
52
+ }
53
+ return formatPropertySegment(segment);
54
+ }
55
+ function formatSegment(segment) {
56
+ if (segment.kind === 'index') {
57
+ return `[${segment.index}]`;
58
+ }
59
+ return segment.kind === 'byte' ? `[byte ${segment.offset}]` : formatKeyedSegment(segment);
60
+ }
61
+ function formatPath(path) {
62
+ return path.map(formatSegment).join('');
63
+ }
64
+ function formatSerializedValueLines(label, value) {
65
+ return [`${label}: ${truncateRenderedValue(formatSerializedValue(value))}`];
66
+ }
67
+ function formatObjectOperation(operation) {
68
+ if (operation.operation === 'replace') {
69
+ return `replace ${formatPath(operation.path)}: expected ${formatSerializedValue(operation.from)}, actual ${formatSerializedValue(operation.to)}`;
70
+ }
71
+ if (operation.operation === 'add') {
72
+ return `add ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
73
+ }
74
+ if (operation.operation === 'remove') {
75
+ return `remove ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
76
+ }
77
+ return `missing ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
78
+ }
79
+ function formatArrayOperation(operation) {
80
+ if (operation.operation === 'missing-index') {
81
+ return `missing [${operation.index}]: ${formatSerializedValue(operation.value)}`;
82
+ }
83
+ if (operation.operation === 'missing-member') {
84
+ return `missing array member: ${formatSerializedValue(operation.value)}`;
85
+ }
86
+ return formatObjectOperation(operation);
87
+ }
88
+ function formatMapOperation(operation) {
89
+ if (operation.operation === 'missing-entry') {
90
+ return `missing map entry ${formatSerializedValue(operation.key)}: ${formatSerializedValue(operation.value)}`;
91
+ }
92
+ return formatObjectOperation(operation);
93
+ }
94
+ function formatSetOperation(operation) {
95
+ if (operation.operation === 'missing-member') {
96
+ return `missing set member: ${formatSerializedValue(operation.value)}`;
97
+ }
98
+ return formatObjectOperation(operation);
99
+ }
100
+ function formatValueDiff(diff) {
101
+ return [
102
+ ...formatSerializedValueLines('expected', diff.expected),
103
+ ...formatSerializedValueLines('actual', diff.actual)
104
+ ];
105
+ }
106
+ function formatStringDiff(diff) {
107
+ return diff.hunks.flatMap(function formatHunk(hunk) {
108
+ return [
109
+ `string hunk expected ${hunk.expectedStart}, actual ${hunk.actualStart}`,
110
+ ...hunk.removed.map(function removed(line) {
111
+ return `- ${line}`;
112
+ }),
113
+ ...hunk.added.map(function added(line) {
114
+ return `+ ${line}`;
115
+ })
116
+ ];
117
+ });
118
+ }
119
+ function formatBinaryDiff(diff) {
120
+ const expectedSummary = `expected ${diff.expectedSize} bytes ${diff.expectedHash}`;
121
+ const actualSummary = `actual ${diff.actualSize} bytes ${diff.actualHash}`;
122
+ const header = `binary differs: ${expectedSummary}, ${actualSummary}`;
123
+ return [
124
+ header,
125
+ ...diff.ranges.map(function formatRange(range) {
126
+ return `byte ${range.offset}: expected [${range.expected.join(', ')}], actual [${range.actual.join(', ')}]`;
127
+ })
128
+ ];
129
+ }
130
+ function formatNonScalarDiff(diff) {
131
+ if (diff.kind === 'object') {
132
+ return diff.operations.map(formatObjectOperation);
133
+ }
134
+ if (diff.kind === 'array') {
135
+ return diff.operations.map(formatArrayOperation);
136
+ }
137
+ if (diff.kind === 'map') {
138
+ return diff.operations.map(formatMapOperation);
139
+ }
140
+ if (diff.kind === 'set') {
141
+ return diff.operations.map(formatSetOperation);
142
+ }
143
+ return formatBinaryDiff(diff);
144
+ }
145
+ function formatDiff(diff) {
146
+ if (diff.kind === 'value') {
147
+ return formatValueDiff(diff);
148
+ }
149
+ if (diff.kind === 'string') {
150
+ return formatStringDiff(diff);
151
+ }
152
+ return formatNonScalarDiff(diff);
153
+ }
154
+ function failedCheckDetailLines(check) {
155
+ if (check.kind === 'foreign') {
156
+ return [
157
+ `foreign assertion: ${check.label}`,
158
+ `${check.error.name}: ${check.error.message}`
159
+ ];
160
+ }
161
+ return check.diff === null
162
+ ? [
163
+ ...formatSerializedValueLines('expected', check.expected),
164
+ ...formatSerializedValueLines('actual', check.actual)
165
+ ]
166
+ : formatDiff(check.diff);
167
+ }
168
+ function formatFailedCheck(check, context) {
169
+ const path = formatPath(check.path);
170
+ const sourceLocations = formatAssertionSourceLocations(check.sourceLocations, context);
171
+ const detailLines = failedCheckDetailLines(check);
172
+ const childLines = check.kind === 'composite'
173
+ ? check.children.flatMap(function formatChild(child, index) {
174
+ return [
175
+ `child check ${index + 1}`,
176
+ ...formatFailedCheck(child, context).map(function indentChild(line) {
177
+ return ` ${line}`;
178
+ })
179
+ ];
180
+ })
181
+ : [];
182
+ return [
183
+ check.summary,
184
+ ...path.length === 0 ? [] : [`path: ${path}`],
185
+ ...sourceLocations.primary === null ? [] : [`source: ${sourceLocations.primary}`],
186
+ ...sourceLocations.details.map(function formatLocationDetail(detail) {
187
+ return ` ${detail}`;
188
+ }),
189
+ ...detailLines,
190
+ ...childLines
191
+ ];
192
+ }
193
+ function formatTestContractFailure(failure) {
194
+ return [
195
+ `${failure.summary} (${failure.code})`,
196
+ `expected: ${failure.expected}`,
197
+ `actual: ${truncateRenderedValue(String(failure.actual))}`
198
+ ];
199
+ }
200
+ function formatBodyErrorFailure(failure) {
201
+ const stackLines = failure.error.stack === null
202
+ ? []
203
+ : truncateRenderedValue(failure.error.stack).split('\n').map(function dimStackLine(line) {
204
+ return colors.dim(line);
205
+ });
206
+ return [
207
+ `${failure.error.name}: ${failure.error.message}`,
208
+ ...stackLines
209
+ ];
210
+ }
211
+ function formatAssertionFailure(failure, context) {
212
+ return failure.checks.flatMap(function formatCheck(check, index) {
213
+ const prefix = failure.checks.length === 1 ? [] : [`check ${index + 1}`];
214
+ return [...prefix, ...formatFailedCheck(check, context)];
215
+ });
216
+ }
217
+ function formatTimeoutFailure(failure) {
218
+ return [
219
+ `Timed out after ${failure.deadlineMilliseconds} ms.`,
220
+ `elapsed: ${failure.elapsedMilliseconds} ms`
221
+ ];
222
+ }
223
+ export function formatFailure(failure, context) {
224
+ if (failure.kind === 'assertion') {
225
+ return formatAssertionFailure(failure, context);
226
+ }
227
+ if (failure.kind === 'body-error') {
228
+ return formatBodyErrorFailure(failure);
229
+ }
230
+ if (failure.kind === 'timeout') {
231
+ return formatTimeoutFailure(failure);
232
+ }
233
+ return formatTestContractFailure(failure);
234
+ }
235
+ //# sourceMappingURL=line-failure-rendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-failure-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/line-failure-rendering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import figures from 'figures';
2
+ import colors from 'yoctocolors';
3
+ import { defineReporter } from "../engine/reporter.js";
4
+ import { formatDefinitionLocations } from "../engine/reporting-context.js";
5
+ import { formatFailure } from "./line-failure-rendering.js";
6
+ import { createTerminalLineLogger } from "./terminal.js";
7
+ const successSymbol = colors.green(figures.tick);
8
+ const errorSymbol = colors.red(figures.cross);
9
+ const infoSymbol = colors.cyan(figures.info);
10
+ function indent(depth) {
11
+ return ' '.repeat(depth);
12
+ }
13
+ function formatCaseTitle(id) {
14
+ if (id.params === null) {
15
+ return id.title;
16
+ }
17
+ return `${id.title} [${id.params}]`;
18
+ }
19
+ function outcomeReason(outcome) {
20
+ if (outcome.kind === 'skip' || outcome.kind === 'inconclusive') {
21
+ return outcome.reason;
22
+ }
23
+ return null;
24
+ }
25
+ function formatDuration(wallTimeMs) {
26
+ return `${wallTimeMs} ms`;
27
+ }
28
+ function formatTestResult(id, outcome, wallTimeMs) {
29
+ const reason = outcomeReason(outcome);
30
+ const detail = reason === null ? '' : `: ${reason}`;
31
+ const message = `${formatCaseTitle(id)}${detail} (${formatDuration(wallTimeMs)})`;
32
+ if (outcome.kind === 'fail') {
33
+ return [errorSymbol, message];
34
+ }
35
+ if (outcome.kind === 'pass') {
36
+ return [successSymbol, message];
37
+ }
38
+ return [infoSymbol, message];
39
+ }
40
+ function formatTerminalTestResult(id, verdict, wallTimeMs) {
41
+ const message = `${formatCaseTitle(id)} (${formatDuration(wallTimeMs)})`;
42
+ if (verdict === 'resource-exhausted') {
43
+ return [errorSymbol, `${message}: resource exhausted`];
44
+ }
45
+ return [errorSymbol, `${message}: crashed`];
46
+ }
47
+ function formatSuiteName(event) {
48
+ return event.suitePath.at(-1)?.title ?? '';
49
+ }
50
+ function formatOrphanLines(orphan, context) {
51
+ const sourceLocations = formatDefinitionLocations(orphan.definitionLocations, context);
52
+ const location = sourceLocations.primary === null ? '' : ` (${sourceLocations.primary})`;
53
+ return [
54
+ `${orphan.kind}: ${orphan.title} (${orphan.file ?? '<unknown>'})${location}`,
55
+ ...sourceLocations.details.map(function formatDetail(detail) {
56
+ return `${indent(1)}${detail}`;
57
+ })
58
+ ];
59
+ }
60
+ function logFailures(terminal, suiteDepth, outcome, context) {
61
+ for (const failure of outcome.failures) {
62
+ for (const line of formatFailure(failure, context)) {
63
+ terminal.line(`${indent(suiteDepth + 1)}${line}`);
64
+ }
65
+ }
66
+ }
67
+ function logSummary(terminal, result) {
68
+ const { summary } = result;
69
+ const executed = summary.passed + summary.failed + summary.skipped + summary.inconclusive +
70
+ summary.crashed + summary.resourceExhausted;
71
+ const outcomes = [
72
+ `${summary.passed} pass`,
73
+ `${summary.failed} fail`,
74
+ `${summary.skipped} skip`,
75
+ ...summary.inconclusive === 0 ? [] : [`${summary.inconclusive} inconclusive`],
76
+ ...summary.resourceExhausted === 0 ? [] : [`${summary.resourceExhausted} resource-exhausted`],
77
+ ...summary.crashed === 0 ? [] : [`${summary.crashed} crash`]
78
+ ]
79
+ .join(', ');
80
+ const orphanSummary = result.orphans.length === 0 ? '' : `, ${result.orphans.length} orphaned`;
81
+ const countSummary = `${summary.discovered} discovered, ${summary.planned} planned, ${executed} executed`;
82
+ terminal.line(infoSymbol, `${countSummary} (${outcomes})${orphanSummary} in ${formatDuration(result.wallTimeMs)}`);
83
+ }
84
+ function logOrphans(terminal, orphans, context) {
85
+ if (orphans.length === 0) {
86
+ return;
87
+ }
88
+ for (const orphan of orphans) {
89
+ const [firstLine, ...detailLines] = formatOrphanLines(orphan, context);
90
+ terminal.line(infoSymbol, firstLine ?? '');
91
+ for (const detailLine of detailLines) {
92
+ terminal.line(detailLine);
93
+ }
94
+ }
95
+ }
96
+ export function createLineReporter(dependencies) {
97
+ const { stdoutConsole } = dependencies;
98
+ return defineReporter(function createLineRuntimeReporter(context) {
99
+ const terminal = createTerminalLineLogger({ stdoutConsole });
100
+ let suiteDepth = 0;
101
+ function logFailureDetails(event, definitionLocations) {
102
+ if (event.outcome?.kind !== 'fail') {
103
+ return;
104
+ }
105
+ for (const detailLine of definitionLocations.details) {
106
+ terminal.line(`${indent(suiteDepth + 1)}${detailLine}`);
107
+ }
108
+ logFailures(terminal, suiteDepth, event.outcome, context);
109
+ }
110
+ function logTestEnd(event) {
111
+ const [symbol, message] = event.outcome === null
112
+ ? formatTerminalTestResult(event.case, event.verdict, event.wallTimeMs)
113
+ : formatTestResult(event.case, event.outcome, event.wallTimeMs);
114
+ const definitionLocations = formatDefinitionLocations(event.definitionLocations, context);
115
+ const location = event.outcome?.kind === 'fail' && definitionLocations.primary !== null
116
+ ? ` (${definitionLocations.primary})`
117
+ : '';
118
+ terminal.line(symbol, `${indent(suiteDepth)}${message}${location}`);
119
+ logFailureDetails(event, definitionLocations);
120
+ }
121
+ function logSuiteStart(event) {
122
+ terminal.line(infoSymbol, `${indent(suiteDepth)}${formatSuiteName(event)}`);
123
+ suiteDepth += 1;
124
+ }
125
+ return {
126
+ dispose: null,
127
+ kind: 'real-time',
128
+ name: 'line',
129
+ sinks: [{ kind: 'stdout-raw' }],
130
+ async onEvent(event) {
131
+ if (event.kind === 'run-start') {
132
+ terminal.line(infoSymbol, `Test run started: ${event.root.title}`);
133
+ }
134
+ else if (event.kind === 'suite-start') {
135
+ logSuiteStart(event);
136
+ }
137
+ else if (event.kind === 'suite-end') {
138
+ suiteDepth = Math.max(0, suiteDepth - 1);
139
+ }
140
+ else if (event.kind === 'test-end') {
141
+ logTestEnd(event);
142
+ }
143
+ else if (event.kind === 'runner-error') {
144
+ terminal.line(errorSymbol, `Runner error: ${event.error.message}`);
145
+ }
146
+ },
147
+ async onFinish(finalResult) {
148
+ logSummary(terminal, finalResult);
149
+ logOrphans(terminal, finalResult.orphans, context);
150
+ }
151
+ };
152
+ });
153
+ }
154
+ //# sourceMappingURL=line-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/line-reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ export function keyText(key) {
2
+ return key.kind === 'symbol' ? `[${key.value}]` : key.value;
3
+ }
4
+ function formatEntries(entries, format) {
5
+ return `{ ${entries
6
+ .map(function formatEntry(entry) {
7
+ return `${keyText(entry.key)}: ${format(entry.value)}`;
8
+ })
9
+ .join(', ')} }`;
10
+ }
11
+ function formatNullishValue(value) {
12
+ if (value.kind === 'undefined') {
13
+ return 'undefined';
14
+ }
15
+ return value.kind === 'null' ? 'null' : null;
16
+ }
17
+ function formatScalarValue(value) {
18
+ if (value.kind === 'boolean' || value.kind === 'number') {
19
+ return String(value.value);
20
+ }
21
+ return value.kind === 'bigint' ? `${value.value}n` : null;
22
+ }
23
+ function formatTextValue(value) {
24
+ if (value.kind === 'string') {
25
+ const rendered = JSON.stringify(value.value);
26
+ return value.truncation === null
27
+ ? rendered
28
+ : `${rendered} (truncated at ${value.truncation.budget} bytes)`;
29
+ }
30
+ return value.kind === 'symbol' ? value.value : null;
31
+ }
32
+ function formatFunctionValue(value) {
33
+ if (value.kind !== 'function') {
34
+ return null;
35
+ }
36
+ return value.name === null ? '[Function]' : `[Function ${value.name}]`;
37
+ }
38
+ function formatCollectionValue(value, format) {
39
+ if (value.kind === 'array') {
40
+ return `[${value
41
+ .entries
42
+ .map(function formatArrayEntry(entry) {
43
+ return format(entry.value);
44
+ })
45
+ .join(', ')}]`;
46
+ }
47
+ if (value.kind === 'object') {
48
+ return `${value.constructorName} ${formatEntries(value.entries, format)}`;
49
+ }
50
+ if (value.kind === 'map') {
51
+ return `Map(${value.size})`;
52
+ }
53
+ return value.kind === 'set' ? `Set(${value.size})` : null;
54
+ }
55
+ function formatBuiltInValue(value) {
56
+ if (value.kind === 'date') {
57
+ return value.value === null ? 'Invalid Date' : `Date ${value.value}`;
58
+ }
59
+ if (value.kind === 'regexp') {
60
+ return `/${value.source}/${value.flags}`;
61
+ }
62
+ return value.kind === 'error' ? `${value.name}: ${value.message}` : null;
63
+ }
64
+ function formatByteValue(value) {
65
+ if (value.kind === 'array-buffer' || value.kind === 'data-view') {
66
+ return `${value.kind}(${value.byteLength} bytes)`;
67
+ }
68
+ return value.kind === 'typed-array' ? `${value.constructorName}(${value.length})` : null;
69
+ }
70
+ function formatFallbackValue(value) {
71
+ if (value.kind === 'circular') {
72
+ return `[Circular ${value.reference}]`;
73
+ }
74
+ if (value.kind === 'opaque') {
75
+ return `[${value.type}]`;
76
+ }
77
+ return value.kind === 'unavailable' ? `[Unavailable: ${value.reason}]` : null;
78
+ }
79
+ const scalarRenderers = [
80
+ formatNullishValue,
81
+ formatScalarValue,
82
+ formatTextValue,
83
+ formatFunctionValue
84
+ ];
85
+ const referenceRenderers = [
86
+ formatBuiltInValue,
87
+ formatByteValue,
88
+ formatFallbackValue
89
+ ];
90
+ function formatWithRenderers(value, renderers) {
91
+ for (const renderer of renderers) {
92
+ const rendered = renderer(value);
93
+ if (rendered !== null) {
94
+ return rendered;
95
+ }
96
+ }
97
+ return null;
98
+ }
99
+ export function formatSerializedValue(value) {
100
+ const scalar = formatWithRenderers(value, scalarRenderers);
101
+ if (scalar !== null) {
102
+ return scalar;
103
+ }
104
+ const collection = formatCollectionValue(value, formatSerializedValue);
105
+ return collection ?? formatWithRenderers(value, referenceRenderers) ??
106
+ '[Unavailable: unsupported serialized value]';
107
+ }
108
+ //# sourceMappingURL=serialized-value-rendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialized-value-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/serialized-value-rendering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import 'ansi-escapes';
2
+ import 'string-width';
3
+
4
+ export function createTerminalLineLogger(dependencies) {
5
+ const { stdoutConsole } = dependencies;
6
+ return {
7
+ line(...values) {
8
+ stdoutConsole.log(...values);
9
+ }
10
+ };
11
+ }
12
+
13
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../../source/reporters/terminal.ts"],"names":[],"mappings":"AAAA,OAAwB,cAAc,CAAC;AACvC,OAAwB,cAAc,CAAC;AAuCZ;AAE3B,MAAM,UAAU,wBAAwB,CAAC,YAA4C;IACjF,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;IAEvC,OAAO;QACH,IAAI,CAAC,GAAG,MAAM;YACV,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACjC,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Reporter } from '../engine/reporter.ts';
1
+ import type { DefinedReporter } from '../engine/reporter.ts';
2
2
  import type { RunOrchestrator } from './run-types.ts';
3
3
  import { type LoadedRunConfig, type RunConfigLoadRequest } from './run-config.ts';
4
4
  import { type CommandLineListTestsRequest, type CommandLineBaselineCommands, type CommandLineBenchmarkCommands, type CommandLineCommand, type CommandLineRunTestsRequest, type CommandLineRunnerResult as CommandLineRunnerResultShape } from './command-line-command.ts';
@@ -13,11 +13,11 @@ export type CommandLineRunner = {
13
13
  };
14
14
  export type CommandLineRunnerResult = CommandLineRunnerResultShape;
15
15
  export type CommandLineRunnerDependencies = CommandLineCommandLoaders & {
16
- readonly createDefaultReporter: () => Promise<Reporter>;
16
+ readonly createDefaultReporter: () => Promise<DefinedReporter>;
17
17
  readonly loadRunConfig: (request: RunConfigLoadRequest) => Promise<LoadedRunConfig>;
18
18
  readonly orchestrator: RunOrchestrator;
19
19
  };
20
20
  export declare function createCommandLineRunner(dependencies: CommandLineRunnerDependencies): CommandLineRunner;
21
- export declare function loadDefaultLineReporter(): Promise<Reporter>;
21
+ export declare function loadDefaultLineReporter(): Promise<DefinedReporter>;
22
22
  export declare const commandLineRunner: CommandLineRunner;
23
23
  //# sourceMappingURL=command-line-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKH,KAAK,2BAA2B,EAEhC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,IAAI,4BAA4B,EAC/D,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,qCAAqC,CAAC;AAY7C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAEnE,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACpE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AA8JF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,6BAA6B,GAAG,iBAAiB,CAyBtG;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAQjE;AAwBD,eAAO,MAAM,iBAAiB,EAAE,iBAe/B,CAAC"}
1
+ {"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKH,KAAK,2BAA2B,EAEhC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,IAAI,4BAA4B,EAC/D,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,qCAAqC,CAAC;AAa7C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAEnE,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACpE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AAyIF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,6BAA6B,GAAG,iBAAiB,CAyBtG;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,eAAe,CAAC,CAExE;AAwBD,eAAO,MAAM,iBAAiB,EAAE,iBAe/B,CAAC"}
@@ -1,22 +1,10 @@
1
- import { isReporter } from "../engine/reporter.js";
2
1
  import { loadRunConfig } from "./run-config.js";
3
2
  import { createCommandLineErrorResultFromUnknown, formatFallbackDiagnostics, formatRunnerErrorDiagnostics, commandLineExitCodes, readExitCodeFromRunResult } from "./command-line-command.js";
4
3
  import { createCommandLineCommandNamespace } from "./command-line-command-namespace.js";
5
4
  import { createUnimplementedCommand, loadUnimplementedBaselineCommands, loadUnimplementedBenchmarkCommands } from "./command-line-unimplemented-commands.js";
6
5
  import { selectCommandLineReporterFallback } from "./run-reporter-resolution.js";
7
6
  import { renderResolvedRunList } from "./run-list-renderer.js";
8
- function isRecord(value) {
9
- return typeof value === 'object' && value !== null;
10
- }
11
- function isDefaultReporterModule(value) {
12
- return isRecord(value) && typeof value.createLineReporter === 'function';
13
- }
14
- function readDefaultReporter(value) {
15
- if (!isReporter(value)) {
16
- throw new TypeError('Default line reporter module returned an invalid reporter.');
17
- }
18
- return value;
19
- }
7
+ import { createDefaultDirectReporter } from "./default-direct-reporter.js";
20
8
  async function loadCommandLineReporterFallback(fallback, dependencies) {
21
9
  if (fallback.kind === 'configured') {
22
10
  return fallback.reporters;
@@ -109,7 +97,6 @@ async function listTestsWithLoadedConfig(request, dependencies, loadedConfig) {
109
97
  fallbackDiagnostics: [],
110
98
  runResult: null,
111
99
  stdoutLines: renderResolvedRunList(resolvedRun, {
112
- cwd: request.cwd,
113
100
  withLocations: request.listRequest.withLocations,
114
101
  withOrphans: request.listRequest.withOrphans
115
102
  })
@@ -143,11 +130,7 @@ export function createCommandLineRunner(dependencies) {
143
130
  };
144
131
  }
145
132
  export async function loadDefaultLineReporter() {
146
- const reporterModule = await import('@overkill-dev/reporter-line');
147
- if (!isDefaultReporterModule(reporterModule)) {
148
- throw new TypeError('Default line reporter module is invalid.');
149
- }
150
- return readDefaultReporter(reporterModule.createLineReporter());
133
+ return await createDefaultDirectReporter();
151
134
  }
152
135
  const commandLoaders = {
153
136
  loadBaselineCommands: loadUnimplementedBaselineCommands,