@overkill-dev/run 0.0.66 → 0.0.67

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 (209) hide show
  1. package/config/benchmark-execution.js +30 -0
  2. package/config/benchmark-execution.js.map +1 -0
  3. package/config/config-error.d.ts +4 -0
  4. package/config/config-error.d.ts.map +1 -0
  5. package/config/config-error.js +7 -0
  6. package/config/config-error.js.map +1 -0
  7. package/config/config.d.ts +57 -0
  8. package/config/config.d.ts.map +1 -0
  9. package/{run/run-config.js → config/config.js} +54 -19
  10. package/config/config.js.map +1 -0
  11. package/{run/coverage-config-schema.d.ts → config/coverage-schema.d.ts} +7 -7
  12. package/config/coverage-schema.d.ts.map +1 -0
  13. package/{run/coverage-config-schema.js → config/coverage-schema.js} +1 -1
  14. package/config/coverage-schema.js.map +1 -0
  15. package/{run/run-config-defaults.js → config/defaults.js} +6 -1
  16. package/config/defaults.js.map +1 -0
  17. package/{run/run-execution-config.d.ts → config/execution.d.ts} +5 -7
  18. package/config/execution.d.ts.map +1 -0
  19. package/config/host-process.js +41 -0
  20. package/config/host-process.js.map +1 -0
  21. package/config/profile-file-discovery.js +88 -0
  22. package/config/profile-file-discovery.js.map +1 -0
  23. package/{run/profile-config-normalization.js → config/profile-normalization.js} +13 -13
  24. package/config/profile-normalization.js.map +1 -0
  25. package/{run/profile-file-glob.js → config/profile-patterns.js} +6 -10
  26. package/config/profile-patterns.js.map +1 -0
  27. package/{run/run-config-schema.d.ts → config/schema.d.ts} +208 -28
  28. package/config/schema.d.ts.map +1 -0
  29. package/{run/run-config-schema.js → config/schema.js} +38 -12
  30. package/config/schema.js.map +1 -0
  31. package/config/snapshot.js +204 -0
  32. package/config/snapshot.js.map +1 -0
  33. package/config/types.d.ts +157 -0
  34. package/config/types.d.ts.map +1 -0
  35. package/config/validation.js +91 -0
  36. package/config/validation.js.map +1 -0
  37. package/{run/work-distribution-config.js → config/work-distribution.js} +3 -3
  38. package/config/work-distribution.js.map +1 -0
  39. package/package.json +10 -7
  40. package/packages/run/command-line.entry-point.d.ts +5 -3
  41. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  42. package/packages/run/command-line.entry-point.js +28 -7
  43. package/packages/run/command-line.entry-point.js.map +1 -1
  44. package/packages/run/config.entry-point.d.ts +8 -6
  45. package/packages/run/config.entry-point.d.ts.map +1 -1
  46. package/packages/run/config.entry-point.js +4 -4
  47. package/packages/run/config.entry-point.js.map +1 -1
  48. package/packages/run/run.entry-point.d.ts +6 -4
  49. package/packages/run/run.entry-point.d.ts.map +1 -1
  50. package/packages/run/run.entry-point.js +3 -3
  51. package/packages/run/run.entry-point.js.map +1 -1
  52. package/readme.md +43 -13
  53. package/run/attachment-eligibility.js +1 -1
  54. package/run/attachment-eligibility.js.map +1 -1
  55. package/run/attachment-record.js +2 -2
  56. package/run/attachment-record.js.map +1 -1
  57. package/run/attachment-results.js.map +1 -1
  58. package/run/benchmark-commands.d.ts +10 -0
  59. package/run/benchmark-commands.d.ts.map +1 -0
  60. package/run/benchmark-commands.js +82 -0
  61. package/run/benchmark-commands.js.map +1 -0
  62. package/run/child-process-outbox.js +36 -0
  63. package/run/child-process-outbox.js.map +1 -0
  64. package/run/command-line-command-namespace.d.ts.map +1 -1
  65. package/run/command-line-command-namespace.js.map +1 -1
  66. package/run/command-line-command.d.ts +26 -18
  67. package/run/command-line-command.d.ts.map +1 -1
  68. package/run/command-line-command.js +3 -2
  69. package/run/command-line-command.js.map +1 -1
  70. package/run/command-line-config.d.ts +5 -0
  71. package/run/command-line-config.d.ts.map +1 -0
  72. package/run/command-line-config.js +51 -0
  73. package/run/command-line-config.js.map +1 -0
  74. package/run/command-line-execution.js +82 -0
  75. package/run/command-line-execution.js.map +1 -0
  76. package/run/command-line-runner.d.ts +4 -5
  77. package/run/command-line-runner.d.ts.map +1 -1
  78. package/run/command-line-runner.js +6 -124
  79. package/run/command-line-runner.js.map +1 -1
  80. package/run/command-line-unimplemented-commands.js +1 -8
  81. package/run/command-line-unimplemented-commands.js.map +1 -1
  82. package/run/coverage-loaded-sources.js +8 -9
  83. package/run/coverage-loaded-sources.js.map +1 -1
  84. package/run/coverage-method-ranges.js +100 -0
  85. package/run/coverage-method-ranges.js.map +1 -0
  86. package/run/coverage-paths.js.map +1 -1
  87. package/run/coverage-reporting.js.map +1 -1
  88. package/run/coverage-runtime-source.js +66 -28
  89. package/run/coverage-runtime-source.js.map +1 -1
  90. package/run/coverage-session.js.map +1 -1
  91. package/run/coverage-source-map.js +2 -3
  92. package/run/coverage-source-map.js.map +1 -1
  93. package/run/coverage-source-selection.js +9 -7
  94. package/run/coverage-source-selection.js.map +1 -1
  95. package/run/coverage-tokens.js +26 -0
  96. package/run/coverage-tokens.js.map +1 -0
  97. package/run/duration-history-schema.js +1 -1
  98. package/run/duration-history-schema.js.map +1 -1
  99. package/run/node-command-line-runner.d.ts +1 -1
  100. package/run/node-command-line-runner.d.ts.map +1 -1
  101. package/run/node-command-line-runner.js +18 -10
  102. package/run/node-command-line-runner.js.map +1 -1
  103. package/run/request-snapshot.js +40 -0
  104. package/run/request-snapshot.js.map +1 -0
  105. package/run/run-collected-planning.js +9 -0
  106. package/run/run-collected-planning.js.map +1 -1
  107. package/run/run-collected-resolution.js.map +1 -1
  108. package/run/run-collection-error-result.js +3 -2
  109. package/run/run-collection-error-result.js.map +1 -1
  110. package/run/run-command-schema.js +1 -1
  111. package/run/run-command-schema.js.map +1 -1
  112. package/run/run-coverage.js.map +1 -1
  113. package/run/run-discovery-types.d.ts +2 -2
  114. package/run/run-discovery-types.d.ts.map +1 -1
  115. package/run/run-discovery.js +14 -96
  116. package/run/run-discovery.js.map +1 -1
  117. package/run/run-engine-primitives.d.ts.map +1 -1
  118. package/run/run-errors.d.ts +5 -7
  119. package/run/run-errors.d.ts.map +1 -1
  120. package/run/run-errors.js +0 -6
  121. package/run/run-errors.js.map +1 -1
  122. package/run/run-facts.js +5 -70
  123. package/run/run-facts.js.map +1 -1
  124. package/run/run-host-process.js +1 -40
  125. package/run/run-host-process.js.map +1 -1
  126. package/run/run-if-main-options.js.map +1 -1
  127. package/run/run-if-main-profile.d.ts +8 -10
  128. package/run/run-if-main-profile.d.ts.map +1 -1
  129. package/run/run-if-main-profile.js +25 -112
  130. package/run/run-if-main-profile.js.map +1 -1
  131. package/run/run-if-main.d.ts.map +1 -1
  132. package/run/run-if-main.js.map +1 -1
  133. package/run/run-in-process-execution.js +2 -0
  134. package/run/run-in-process-execution.js.map +1 -1
  135. package/run/run-input-resolution.js +11 -6
  136. package/run/run-input-resolution.js.map +1 -1
  137. package/run/run-isolated-command.js +2 -2
  138. package/run/run-isolated-command.js.map +1 -1
  139. package/run/run-isolated-process.js +12 -7
  140. package/run/run-isolated-process.js.map +1 -1
  141. package/run/run-local-command.js +7 -10
  142. package/run/run-local-command.js.map +1 -1
  143. package/run/run-local-execution.js.map +1 -1
  144. package/run/run-local-resolution.js +1 -3
  145. package/run/run-local-resolution.js.map +1 -1
  146. package/run/run-local-test-plan.js.map +1 -1
  147. package/run/run-orchestrator-dependencies.d.ts +4 -4
  148. package/run/run-orchestrator-dependencies.d.ts.map +1 -1
  149. package/run/run-ordering.js.map +1 -1
  150. package/run/run-process-engine.js.map +1 -1
  151. package/run/run-profile-facts.js +62 -0
  152. package/run/run-profile-facts.js.map +1 -0
  153. package/run/run-record-types.d.ts +5 -4
  154. package/run/run-record-types.d.ts.map +1 -1
  155. package/run/run-reporter-resolution.js +4 -1
  156. package/run/run-reporter-resolution.js.map +1 -1
  157. package/run/run-result-reporting.js.map +1 -1
  158. package/run/run-selection.js.map +1 -1
  159. package/run/run-supervised-process.js +3 -4
  160. package/run/run-supervised-process.js.map +1 -1
  161. package/run/run-support.js +1 -222
  162. package/run/run-support.js.map +1 -1
  163. package/run/run-types.d.ts +40 -166
  164. package/run/run-types.d.ts.map +1 -1
  165. package/run/run-types.js.map +1 -1
  166. package/run/run-validation.js +4 -63
  167. package/run/run-validation.js.map +1 -1
  168. package/run/run.d.ts.map +1 -1
  169. package/run/run.js +32 -16
  170. package/run/run.js.map +1 -1
  171. package/run/supervised-child-process.js +1 -1
  172. package/run/supervised-child-process.js.map +1 -1
  173. package/run/supervised-child.entry-point.js +9 -6
  174. package/run/supervised-child.entry-point.js.map +1 -1
  175. package/run/supervised-child.js +1 -1
  176. package/run/supervised-child.js.map +1 -1
  177. package/run/supervised-protocol.js.map +1 -1
  178. package/run/supervised-run-resource-policy.js.map +1 -1
  179. package/run/supervised-run-state.js.map +1 -1
  180. package/run/test-profile.js +21 -0
  181. package/run/test-profile.js.map +1 -0
  182. package/run/work-unit-identity.js.map +1 -1
  183. package/run/work-unit-planning.js +6 -6
  184. package/run/work-unit-planning.js.map +1 -1
  185. package/run/work-unit-resource-constraints.js +1 -1
  186. package/run/work-unit-resource-constraints.js.map +1 -1
  187. package/run/worker-pool-host-protocol-schema.js +1 -1
  188. package/run/worker-pool-host-protocol-schema.js.map +1 -1
  189. package/run/worker-pool-host.entry-point.js +7 -4
  190. package/run/worker-pool-host.entry-point.js.map +1 -1
  191. package/run/worker-pool-lanes.js.map +1 -1
  192. package/run/worker-pool-lifecycle-lanes.js.map +1 -1
  193. package/run/worker-pool-placement-planning.js.map +1 -1
  194. package/run/worker-pool-protocol.js.map +1 -1
  195. package/run/worker-pool-routing.js.map +1 -1
  196. package/run/worker-pool-runtime.js.map +1 -1
  197. package/sbom.cdx.json +26 -43
  198. package/run/coverage-config-schema.d.ts.map +0 -1
  199. package/run/coverage-config-schema.js.map +0 -1
  200. package/run/profile-config-normalization.js.map +0 -1
  201. package/run/profile-file-glob.js.map +0 -1
  202. package/run/run-config-defaults.js.map +0 -1
  203. package/run/run-config-schema.d.ts.map +0 -1
  204. package/run/run-config-schema.js.map +0 -1
  205. package/run/run-config.d.ts +0 -62
  206. package/run/run-config.d.ts.map +0 -1
  207. package/run/run-config.js.map +0 -1
  208. package/run/run-execution-config.d.ts.map +0 -1
  209. package/run/work-distribution-config.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ function copyLoaderConfig(loader) {
2
+ return {
3
+ sourceMaps: loader.sourceMaps,
4
+ stripMode: loader.stripMode
5
+ };
6
+ }
7
+ export function copyResourceBudgets(resourceBudgets) {
8
+ return {
9
+ activeResourceCount: resourceBudgets.activeResourceCount,
10
+ javaScriptEngineHeapBytes: resourceBudgets.javaScriptEngineHeapBytes,
11
+ residentSetBytes: resourceBudgets.residentSetBytes,
12
+ residentSetGrowthBytesPerSecond: resourceBudgets.residentSetGrowthBytesPerSecond
13
+ };
14
+ }
15
+ function copyResourceUsagePolicy(policy) {
16
+ return {
17
+ budgets: copyResourceBudgets(policy.budgets),
18
+ measure: policy.measure,
19
+ samplingIntervalMilliseconds: policy.samplingIntervalMilliseconds
20
+ };
21
+ }
22
+ function copyTimingProfilePolicy(policy) {
23
+ return {
24
+ collection: policy.collection
25
+ };
26
+ }
27
+ function copyTimeoutPolicy(policy) {
28
+ return {
29
+ collectionMilliseconds: policy.collectionMilliseconds,
30
+ hardMilliseconds: policy.hardMilliseconds,
31
+ softMilliseconds: policy.softMilliseconds
32
+ };
33
+ }
34
+ function copyMicrotestExecution(execution) {
35
+ return {
36
+ maxConcurrency: execution.maxConcurrency,
37
+ processModel: execution.processModel,
38
+ scheduling: execution.scheduling
39
+ };
40
+ }
41
+ function copyWorkGroup(group) {
42
+ return {
43
+ fileSets: [group.fileSets[0], ...group.fileSets.slice(1)],
44
+ granularity: group.granularity,
45
+ name: group.name,
46
+ order: group.order,
47
+ scheduling: group.scheduling,
48
+ workerLifecycle: group.workerLifecycle
49
+ };
50
+ }
51
+ function copyWorkDistribution(distribution) {
52
+ if (distribution.mode !== 'group') {
53
+ return { mode: distribution.mode };
54
+ }
55
+ return {
56
+ groups: [
57
+ copyWorkGroup(distribution.groups[0]),
58
+ ...distribution.groups.slice(1).map(copyWorkGroup)
59
+ ],
60
+ mode: 'group',
61
+ unmatched: distribution.unmatched
62
+ };
63
+ }
64
+ function copyHostProcess(hostProcess) {
65
+ if (hostProcess.kind === 'direct') {
66
+ return { kind: 'direct' };
67
+ }
68
+ return {
69
+ kind: 'child',
70
+ nodeArguments: Array.from(hostProcess.nodeArguments)
71
+ };
72
+ }
73
+ function copyIntegrationExecution(execution) {
74
+ if (execution.processModel === 'worker-pool') {
75
+ return {
76
+ assignmentPolicy: execution.assignmentPolicy,
77
+ dispatchPolicy: execution.dispatchPolicy,
78
+ hedging: { ...execution.hedging },
79
+ hostProcess: copyHostProcess(execution.hostProcess),
80
+ maxConcurrency: execution.maxConcurrency,
81
+ maxWorkers: execution.maxWorkers,
82
+ processModel: execution.processModel,
83
+ scheduling: execution.scheduling,
84
+ workDistribution: copyWorkDistribution(execution.workDistribution),
85
+ workerLifecycle: execution.workerLifecycle
86
+ };
87
+ }
88
+ return {
89
+ maxConcurrency: execution.maxConcurrency,
90
+ processModel: execution.processModel,
91
+ scheduling: execution.scheduling
92
+ };
93
+ }
94
+ function hasProfileFileSets(files) {
95
+ return files.sets !== undefined;
96
+ }
97
+ function copyProfileFiles(files) {
98
+ if (hasProfileFileSets(files)) {
99
+ return {
100
+ sets: Object.fromEntries(Object.entries(files.sets).map(function copyProfileFileSet([name, set]) {
101
+ return [
102
+ name,
103
+ {
104
+ exclude: Array.from(set.exclude),
105
+ include: [set.include[0], ...set.include.slice(1)]
106
+ }
107
+ ];
108
+ }))
109
+ };
110
+ }
111
+ return {
112
+ exclude: Array.from(files.exclude),
113
+ include: [files.include[0], ...files.include.slice(1)]
114
+ };
115
+ }
116
+ function copyCoveragePolicy(policy) {
117
+ return {
118
+ outputDirectory: policy.outputDirectory,
119
+ outputs: Array.from(policy.outputs),
120
+ sources: policy.sources.mode === 'loaded'
121
+ ? { exclude: Array.from(policy.sources.exclude), mode: 'loaded' }
122
+ : {
123
+ exclude: Array.from(policy.sources.exclude),
124
+ include: [policy.sources.include[0], ...policy.sources.include.slice(1)],
125
+ mode: 'all'
126
+ },
127
+ thresholds: {
128
+ branches: policy.thresholds.branches,
129
+ functions: policy.thresholds.functions,
130
+ lines: policy.thresholds.lines
131
+ }
132
+ };
133
+ }
134
+ function copyIntegrationFiles(files) {
135
+ if (files === null) {
136
+ throw new Error('Integration profiles require files.');
137
+ }
138
+ return copyProfileFiles(files);
139
+ }
140
+ function copyReporters(reporters) {
141
+ return reporters === null ? null : Array.from(reporters);
142
+ }
143
+ function copyBenchmarkExecution(execution) {
144
+ return execution.processModel === 'worker-pool'
145
+ ? {
146
+ ...execution,
147
+ hedging: { mode: 'off' },
148
+ hostProcess: copyHostProcess(execution.hostProcess),
149
+ workDistribution: copyWorkDistribution(execution.workDistribution)
150
+ }
151
+ : { ...execution };
152
+ }
153
+ function copyProfileConfig(profile) {
154
+ if (profile.testFamily === 'benchmark') {
155
+ return {
156
+ attachments: { ...profile.attachments },
157
+ execution: copyBenchmarkExecution(profile.execution),
158
+ files: copyProfileFiles(profile.files),
159
+ reporters: copyReporters(profile.reporters),
160
+ resourceUsage: copyResourceUsagePolicy(profile.resourceUsage),
161
+ testFamily: profile.testFamily,
162
+ timings: copyTimingProfilePolicy(profile.timings),
163
+ timeouts: copyTimeoutPolicy(profile.timeouts)
164
+ };
165
+ }
166
+ if (profile.testFamily === 'integration') {
167
+ return {
168
+ attachments: { ...profile.attachments },
169
+ execution: copyIntegrationExecution(profile.execution),
170
+ files: copyIntegrationFiles(profile.files),
171
+ reporters: copyReporters(profile.reporters),
172
+ retries: profile.retries === null ? null : { ...profile.retries },
173
+ resourceUsage: copyResourceUsagePolicy(profile.resourceUsage),
174
+ testFamily: profile.testFamily,
175
+ timings: copyTimingProfilePolicy(profile.timings),
176
+ timeouts: copyTimeoutPolicy(profile.timeouts)
177
+ };
178
+ }
179
+ return {
180
+ coverage: copyCoveragePolicy(profile.coverage),
181
+ execution: copyMicrotestExecution(profile.execution),
182
+ files: profile.files === null ? null : copyProfileFiles(profile.files),
183
+ reporters: copyReporters(profile.reporters),
184
+ resourceUsage: copyResourceUsagePolicy(profile.resourceUsage),
185
+ testFamily: profile.testFamily,
186
+ timings: copyTimingProfilePolicy(profile.timings),
187
+ timeouts: copyTimeoutPolicy(profile.timeouts)
188
+ };
189
+ }
190
+ function copyProfilesConfig(profiles) {
191
+ return Object.fromEntries(Object.entries(profiles).map(function copyProfileEntry([name, profile]) {
192
+ return [name, copyProfileConfig(profile)];
193
+ }));
194
+ }
195
+ export function copyConfig(config) {
196
+ return {
197
+ loader: copyLoaderConfig(config.loader),
198
+ outputRenderer: config.outputRenderer,
199
+ profiles: copyProfilesConfig(config.profiles),
200
+ reporters: copyReporters(config.reporters),
201
+ runtimeStateDir: config.runtimeStateDir
202
+ };
203
+ }
204
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../source/config/snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
2
+ import type { AttachmentLimits } from '../engine/runtime-attachment.ts';
3
+ import type { DefinedReporter } from '../engine/reporter.ts';
4
+ import type { DefinedOutputRenderer } from '../engine/reporter-output.ts';
5
+ import type { IntegrationRetryPolicy, IntegrationExecutionShape, MicrotestExecutionShape } from './execution.ts';
6
+ export type LoaderConfig = {
7
+ readonly sourceMaps: boolean;
8
+ readonly stripMode: 'strip-only';
9
+ };
10
+ export type ResourceBudgets = {
11
+ readonly activeResourceCount: number | null;
12
+ readonly javaScriptEngineHeapBytes: number | null;
13
+ readonly residentSetBytes: number | null;
14
+ readonly residentSetGrowthBytesPerSecond: number | null;
15
+ };
16
+ export type TimingCollectionMode = 'precise' | 'summary';
17
+ export type TimingCollectionOverride = 'precise' | 'profile-default';
18
+ export type TimingProfilePolicy = {
19
+ readonly collection: TimingCollectionMode;
20
+ };
21
+ export type CoverageOutput = 'html' | 'json' | 'lcov' | 'text' | 'v8';
22
+ export type CoverageSourcePolicy = {
23
+ readonly exclude: readonly string[];
24
+ readonly include: NonEmptyReadonlyArray<string>;
25
+ readonly mode: 'all';
26
+ } | {
27
+ readonly exclude: readonly string[];
28
+ readonly mode: 'loaded';
29
+ };
30
+ export type CoverageThresholds = {
31
+ readonly branches: number | null;
32
+ readonly functions: number | null;
33
+ readonly lines: number | null;
34
+ };
35
+ export type CoveragePolicy = {
36
+ readonly outputDirectory: string | null;
37
+ readonly outputs: readonly CoverageOutput[];
38
+ readonly sources: CoverageSourcePolicy;
39
+ readonly thresholds: CoverageThresholds;
40
+ };
41
+ export type ProcessModel = 'in-process' | 'supervised-process' | 'worker-pool';
42
+ export type MicrotestProcessModel = Exclude<ProcessModel, 'worker-pool'>;
43
+ export type MaxConcurrency = number | 'unlimited';
44
+ export type Scheduling = 'concurrent' | 'serial';
45
+ export type WorkerLifecycle = 'fresh-worker-per-unit' | 'reuse';
46
+ export type WorkerPoolAssignmentPolicy = 'case-count-balanced' | 'duration-history-balanced' | 'stable';
47
+ export type WorkerPoolDispatchPolicy = 'dynamic-lease' | 'static-assignment';
48
+ export type WorkerPoolHedgingPolicy = {
49
+ readonly durationMultiplier: number;
50
+ readonly minimumDelayMilliseconds: number;
51
+ readonly mode: 'on';
52
+ } | {
53
+ readonly mode: 'off';
54
+ };
55
+ export type WorkGroupGranularity = 'case' | 'file' | 'group';
56
+ export type WorkGroupOrder = RunOrder | 'profile-default';
57
+ export type WorkGroupScheduling = Scheduling | 'profile-default';
58
+ export type WorkGroupWorkerLifecycle = WorkerLifecycle | 'profile-default';
59
+ export type HostProcess = {
60
+ readonly kind: 'child';
61
+ readonly nodeArguments: readonly string[];
62
+ } | {
63
+ readonly kind: 'direct';
64
+ };
65
+ type FileWorkDistribution = {
66
+ readonly mode: 'file';
67
+ };
68
+ type CaseWorkDistribution = {
69
+ readonly mode: 'case';
70
+ };
71
+ export type WorkGroup = {
72
+ readonly fileSets: NonEmptyReadonlyArray<string>;
73
+ readonly granularity: WorkGroupGranularity;
74
+ readonly name: string;
75
+ readonly order: WorkGroupOrder;
76
+ readonly scheduling: WorkGroupScheduling;
77
+ readonly workerLifecycle: WorkGroupWorkerLifecycle;
78
+ };
79
+ type GroupWorkDistribution = {
80
+ readonly groups: NonEmptyReadonlyArray<WorkGroup>;
81
+ readonly mode: 'group';
82
+ readonly unmatched: 'file' | 'reject';
83
+ };
84
+ export type WorkDistribution = CaseWorkDistribution | FileWorkDistribution | GroupWorkDistribution;
85
+ export type MicrotestExecution = MicrotestExecutionShape<MaxConcurrency, MicrotestProcessModel, Scheduling>;
86
+ export type IntegrationExecution = IntegrationExecutionShape<WorkerPoolAssignmentPolicy, WorkerPoolDispatchPolicy, WorkerPoolHedgingPolicy, HostProcess, MaxConcurrency, Scheduling, WorkerLifecycle, WorkDistribution>;
87
+ export type ResourceUsagePolicy = {
88
+ readonly budgets: ResourceBudgets;
89
+ readonly measure: boolean;
90
+ readonly samplingIntervalMilliseconds: number;
91
+ };
92
+ export type TimeoutPolicy = {
93
+ readonly collectionMilliseconds: number;
94
+ readonly hardMilliseconds: number;
95
+ readonly softMilliseconds: number;
96
+ };
97
+ type ProfileFilePatterns = {
98
+ readonly exclude: readonly string[];
99
+ readonly include: NonEmptyReadonlyArray<string>;
100
+ readonly sets?: never;
101
+ };
102
+ export type ProfileFileSet = {
103
+ readonly exclude: readonly string[];
104
+ readonly include: NonEmptyReadonlyArray<string>;
105
+ };
106
+ export type ProfileFiles = ProfileFilePatterns | {
107
+ readonly exclude?: never;
108
+ readonly include?: never;
109
+ readonly sets: Readonly<Record<string, ProfileFileSet>>;
110
+ };
111
+ export type MicrotestProfileConfig = {
112
+ readonly coverage: CoveragePolicy;
113
+ readonly execution: MicrotestExecution;
114
+ readonly files: ProfileFiles | null;
115
+ readonly reporters: readonly DefinedReporter[] | null;
116
+ readonly resourceUsage: ResourceUsagePolicy;
117
+ readonly testFamily: 'microtest';
118
+ readonly timings: TimingProfilePolicy;
119
+ readonly timeouts: TimeoutPolicy;
120
+ };
121
+ export type IntegrationProfileConfig = {
122
+ readonly attachments: AttachmentLimits;
123
+ readonly retries: IntegrationRetryPolicy | null;
124
+ readonly execution: IntegrationExecution;
125
+ readonly files: ProfileFiles;
126
+ readonly reporters: readonly DefinedReporter[] | null;
127
+ readonly resourceUsage: ResourceUsagePolicy;
128
+ readonly testFamily: 'integration';
129
+ readonly timings: TimingProfilePolicy;
130
+ readonly timeouts: TimeoutPolicy;
131
+ };
132
+ export type BenchmarkExecution = IntegrationExecutionShape<WorkerPoolAssignmentPolicy, WorkerPoolDispatchPolicy, Extract<WorkerPoolHedgingPolicy, {
133
+ readonly mode: 'off';
134
+ }>, HostProcess, 1, 'serial', WorkerLifecycle, WorkDistribution>;
135
+ export type BenchmarkProfileConfig = {
136
+ readonly attachments: AttachmentLimits;
137
+ readonly execution: BenchmarkExecution;
138
+ readonly files: ProfileFiles;
139
+ readonly reporters: readonly DefinedReporter[] | null;
140
+ readonly resourceUsage: ResourceUsagePolicy;
141
+ readonly testFamily: 'benchmark';
142
+ readonly timings: TimingProfilePolicy;
143
+ readonly timeouts: TimeoutPolicy;
144
+ };
145
+ export type TestProfileConfig = IntegrationProfileConfig | MicrotestProfileConfig;
146
+ export type ProfileConfig = BenchmarkProfileConfig | TestProfileConfig;
147
+ export type ProfilesConfig = Readonly<Record<string, ProfileConfig>>;
148
+ export type NormalizedConfig = {
149
+ readonly loader: LoaderConfig;
150
+ readonly outputRenderer: DefinedOutputRenderer;
151
+ readonly profiles: ProfilesConfig;
152
+ readonly reporters: readonly DefinedReporter[] | null;
153
+ readonly runtimeStateDir: string;
154
+ };
155
+ export type RunOrder = 'lexical' | 'plan' | 'seeded';
156
+ export {};
157
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../source/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { ConfigError } from "./config-error.js";
2
+ import { validateHostProcess } from "./host-process.js";
3
+ import { assertValidProfileName, normalizeRequiredProfileFiles } from "./profile-normalization.js";
4
+ import { validateBenchmarkExecution } from "./benchmark-execution.js";
5
+ function validatePositiveSafeInteger(value, label) {
6
+ if (value !== null && (!Number.isSafeInteger(value) || value <= 0)) {
7
+ throw new ConfigError(`${label} must be a positive safe integer.`);
8
+ }
9
+ }
10
+ function validateResourceBudgets(resourceBudgets) {
11
+ validatePositiveSafeInteger(resourceBudgets.activeResourceCount, 'Active resource count budget');
12
+ validatePositiveSafeInteger(resourceBudgets.javaScriptEngineHeapBytes, 'JavaScript engine heap budget');
13
+ validatePositiveSafeInteger(resourceBudgets.residentSetBytes, 'Resident set budget');
14
+ validatePositiveSafeInteger(resourceBudgets.residentSetGrowthBytesPerSecond, 'Resident set growth budget');
15
+ }
16
+ function validateSamplingInterval(value) {
17
+ validatePositiveSafeInteger(value, 'Resource usage sampling interval');
18
+ }
19
+ function validateTimeoutPolicy(policy) {
20
+ validatePositiveSafeInteger(policy.collectionMilliseconds, 'Collection timeout');
21
+ validatePositiveSafeInteger(policy.softMilliseconds, 'Soft timeout');
22
+ validatePositiveSafeInteger(policy.hardMilliseconds, 'Hard timeout');
23
+ if (policy.softMilliseconds > policy.hardMilliseconds) {
24
+ throw new ConfigError('Soft timeout must not exceed hard timeout.');
25
+ }
26
+ }
27
+ function hasResourceBudgets(resourceBudgets) {
28
+ return resourceBudgets.activeResourceCount !== null ||
29
+ resourceBudgets.javaScriptEngineHeapBytes !== null ||
30
+ resourceBudgets.residentSetBytes !== null ||
31
+ resourceBudgets.residentSetGrowthBytesPerSecond !== null;
32
+ }
33
+ export function validateResourceUsagePolicy(policy) {
34
+ validateResourceBudgets(policy.budgets);
35
+ validateSamplingInterval(policy.samplingIntervalMilliseconds);
36
+ if (!policy.measure && hasResourceBudgets(policy.budgets)) {
37
+ throw new ConfigError('Resource budgets require resource usage measurement.');
38
+ }
39
+ }
40
+ function validateMicrotestProfile(profile) {
41
+ validateResourceUsagePolicy(profile.resourceUsage);
42
+ validateTimeoutPolicy(profile.timeouts);
43
+ }
44
+ function validateAttachmentLimits(profile) {
45
+ if (profile.testFamily === 'microtest') {
46
+ return;
47
+ }
48
+ for (const [name, value] of Object.entries(profile.attachments)) {
49
+ validatePositiveSafeInteger(value, `Attachment ${name}`);
50
+ }
51
+ }
52
+ function validateIntegrationProfile(profile) {
53
+ validateAttachmentLimits(profile);
54
+ validateResourceUsagePolicy(profile.resourceUsage);
55
+ validateTimeoutPolicy(profile.timeouts);
56
+ if (profile.execution.processModel === 'worker-pool') {
57
+ validatePositiveSafeInteger(profile.execution.maxWorkers, 'Profile worker maximum');
58
+ validateHostProcess(profile.execution.hostProcess);
59
+ }
60
+ }
61
+ function validateBenchmarkProfile(profileName, profile) {
62
+ try {
63
+ normalizeRequiredProfileFiles(profile.files);
64
+ validateIntegrationProfile(profile);
65
+ validateBenchmarkExecution(profile.execution, profile.timeouts);
66
+ }
67
+ catch (error) {
68
+ throw new ConfigError(`Invalid benchmark profile "${profileName}": ${String(error)}`, { cause: error });
69
+ }
70
+ }
71
+ function validateProfileFamily(profileName, testFamily) {
72
+ if (testFamily !== 'benchmark' && testFamily !== 'integration' && testFamily !== 'microtest') {
73
+ throw new ConfigError(`Invalid profile "${profileName}": testFamily must be "benchmark", "integration", or "microtest".`);
74
+ }
75
+ }
76
+ export function validateNormalizedConfig(config) {
77
+ for (const [profileName, profile] of Object.entries(config.profiles)) {
78
+ assertValidProfileName(profileName);
79
+ validateProfileFamily(profileName, profile.testFamily);
80
+ if (profile.testFamily === 'benchmark') {
81
+ validateBenchmarkProfile(profileName, profile);
82
+ }
83
+ else if (profile.testFamily === 'microtest') {
84
+ validateMicrotestProfile(profile);
85
+ }
86
+ else {
87
+ validateIntegrationProfile(profile);
88
+ }
89
+ }
90
+ }
91
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../source/config/validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { invalidRunProfileFileSetNameMessage } from "./profile-file-glob.js";
1
+ import { invalidProfileFileSetNameMessage } from "./profile-patterns.js";
2
2
  function normalizeWorkGroup(group) {
3
3
  return {
4
4
  fileSets: [group.fileSets[0], ...group.fileSets.slice(1)],
@@ -30,7 +30,7 @@ function hasFileSets(files) {
30
30
  return files.sets !== undefined;
31
31
  }
32
32
  function invalidWorkGroupNameMessage(group) {
33
- const message = invalidRunProfileFileSetNameMessage(group.name);
33
+ const message = invalidProfileFileSetNameMessage(group.name);
34
34
  return message === null ? null : message.replace('file set name', 'work group name');
35
35
  }
36
36
  function invalidDuplicateGroupNameMessage(group, assignedGroupNames) {
@@ -108,4 +108,4 @@ export function invalidWorkDistributionConfigMessage(execution, files) {
108
108
  ? invalidGroupDistributionMessage(execution.workDistribution, files)
109
109
  : null;
110
110
  }
111
- //# sourceMappingURL=work-distribution-config.js.map
111
+ //# sourceMappingURL=work-distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-distribution.js","sourceRoot":"","sources":["../../../../source/config/work-distribution.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,18 +7,17 @@
7
7
  "@enormora/clock": "0.0.3",
8
8
  "@jridgewell/trace-mapping": "0.3.31",
9
9
  "@schema-hub/zod-error-formatter": "0.0.19",
10
- "acorn": "8.18.0",
11
10
  "ansi-escapes": "7.3.0",
12
11
  "convert-source-map": "2.0.0",
13
12
  "diff": "9.0.0",
14
13
  "figures": "6.1.0",
15
14
  "hash-wasm": "4.12.0",
16
15
  "is-interactive": "2.0.0",
17
- "monocart-coverage-reports": "2.13.0",
16
+ "js-tokens": "10.0.0",
17
+ "monocart-coverage-reports": "2.13.1",
18
18
  "p-limit": "7.3.3",
19
19
  "pure-rand": "8.4.2",
20
20
  "string-width": "8.3.0",
21
- "sucrase": "3.35.1",
22
21
  "tinypool": "2.2.0",
23
22
  "type-fest": "5.10.0",
24
23
  "ulid": "3.0.2",
@@ -74,6 +73,11 @@
74
73
  "./attachments/attachment-context.js",
75
74
  "./attachments/failure-artifact-stream.js",
76
75
  "./attachments/resource-failure-context.js",
76
+ "./config/config-error.js",
77
+ "./config/coverage-schema.js",
78
+ "./config/host-process.js",
79
+ "./config/profile-file-discovery.js",
80
+ "./config/schema.js",
77
81
  "./engine/assertion-recorder.js",
78
82
  "./engine/async-leak-diagnostics.js",
79
83
  "./engine/execution-async-leak-policy.js",
@@ -115,10 +119,11 @@
115
119
  "./run/child-process.entry-point.js",
116
120
  "./run/collected-run-plan-schema.js",
117
121
  "./run/command-line-command.js",
118
- "./run/coverage-config-schema.js",
122
+ "./run/coverage-method-ranges.js",
119
123
  "./run/coverage-native-data.js",
120
124
  "./run/coverage-runtime-source.js",
121
125
  "./run/coverage-source-map.js",
126
+ "./run/coverage-tokens.js",
122
127
  "./run/default-run-engine.js",
123
128
  "./run/definition-location-capture.js",
124
129
  "./run/diff-schema.js",
@@ -134,11 +139,9 @@
134
139
  "./run/run-artifact-schema.js",
135
140
  "./run/run-collection-source.js",
136
141
  "./run/run-command-schema.js",
137
- "./run/run-config-schema.js",
138
142
  "./run/run-coverage.js",
139
143
  "./run/run-errors.js",
140
144
  "./run/run-filter-grammar.js",
141
- "./run/run-host-process.js",
142
145
  "./run/run-identity-schema.js",
143
146
  "./run/run-if-main.js",
144
147
  "./run/run-isolated-process.js",
@@ -168,5 +171,5 @@
168
171
  "./transcript/transcript-store.js"
169
172
  ],
170
173
  "type": "module",
171
- "version": "0.0.66"
174
+ "version": "0.0.67"
172
175
  }
@@ -1,11 +1,13 @@
1
1
  import type { CommandLineRunner } from '../../run/command-line-runner.ts';
2
2
  import type { NodeCommandLineRunnerOptions } from '../../run/node-command-line-runner.ts';
3
3
  export { commandLineExitCodes } from '../../run/command-line-command.ts';
4
- export { defineConfig, loadRunConfig, RunConfigError } from './config.entry-point.ts';
4
+ export { defineConfig, normalizeConfig, loadConfig, ConfigError } from './config.entry-point.ts';
5
5
  export declare function createNodeCommandLineRunner(options: NodeCommandLineRunnerOptions): CommandLineRunner;
6
6
  export declare const commandLineRunner: CommandLineRunner;
7
- export type { CommandLineBaselineCommands, CommandLineBenchmarkCommands, CommandLineCommand, CommandLineCommandContext, CommandLineExitCode, CommandLineListTestsRequest, CommandLineRunnerResult, CommandLineRunTestsRequest } from '../../run/command-line-command.ts';
7
+ export type { CommandLineBaselineCommands, CommandLineBenchmarkCommands, BenchmarkRunRequest, CommandLineBenchmarkRunRequest, CommandLineBenchmarkListRequest, CommandLineCommand, CommandLineCommandContext, CommandLineExitCode, CommandLineListTestsRequest, CommandLineRunnerResult, CommandLineRunTestsRequest } from '../../run/command-line-command.ts';
8
8
  export type { CommandLineRunner, CommandLineRunnerDependencies } from '../../run/command-line-runner.ts';
9
9
  export type { NodeCommandLineRunnerOptions } from '../../run/node-command-line-runner.ts';
10
- export type { LoadedRunConfig, RunConfigLoader, RunConfigLoaderDependencies, RunConfigLoadRequest, RunProjectConfig, RunProjectIntegrationExecution, RunProjectIntegrationProfileConfig, RunProjectMeasuredResourceUsage, RunProjectMicrotestExecution, RunProjectMicrotestProfileConfig, RunProjectProfileFiles, RunProjectProfileConfig, RunProjectProfilesConfig, RunProjectResourceBudgets, RunProjectResourceUsageConfig, RunProjectTimingProfilePolicy, RunProjectTimeoutConfig, RunProjectUnmeasuredResourceUsage } from '../../run/run-config.ts';
10
+ export type { LoadedConfig, ConfigLoader, ConfigLoaderDependencies, ConfigLoadRequest, Config, ProjectIntegrationExecution, ProjectIntegrationProfileConfig, ProjectMeasuredResourceUsage, ProjectMicrotestExecution, ProjectMicrotestProfileConfig, ProjectProfileFiles, ProjectProfileConfig, ProjectProfilesConfig, ProjectResourceBudgets, ProjectResourceUsageConfig, ProjectTimingProfilePolicy, ProjectTimeoutConfig, ProjectUnmeasuredResourceUsage } from '../../config/config.ts';
11
+ export type { NormalizedConfig, ProfileConfig, BenchmarkProfileConfig, TestProfileConfig } from '../../config/types.ts';
12
+ export type { ProjectBenchmarkProfileConfig } from '../../config/schema.ts';
11
13
  //# sourceMappingURL=command-line.entry-point.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-line.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAS1F,OAAO,EACH,oBAAoB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,aAAa,EACb,cAAc,EACjB,MAAM,yBAAyB,CAAC;AAOjC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,CAiDpG;AA8BD,eAAO,MAAM,iBAAiB,EAAE,iBAe/B,CAAC;AAEF,YAAY,EACR,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,iBAAiB,EACjB,6BAA6B,EAChC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,4BAA4B,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACR,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,iCAAiC,EACpC,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"command-line.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAQ1F,OAAO,EACH,oBAAoB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AAoBjC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,CA2DpG;AA8BD,eAAO,MAAM,iBAAiB,EAAE,iBAe/B,CAAC;AAEF,YAAY,EACR,2BAA2B,EAC3B,4BAA4B,EAC5B,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,iBAAiB,EACjB,6BAA6B,EAChC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,4BAA4B,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACR,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,8BAA8B,EACjC,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExH,YAAY,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC"}