@overkill-dev/run 0.0.66 → 0.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{run/attachment-json.js → attachments/json-snapshot.js} +4 -4
- package/attachments/json-snapshot.js.map +1 -0
- package/baselines/performance-adapter.d.ts +60 -0
- package/baselines/performance-adapter.d.ts.map +1 -0
- package/baselines/performance-baseline.d.ts +48 -0
- package/baselines/performance-baseline.d.ts.map +1 -0
- package/baselines/performance-baseline.js +9 -0
- package/baselines/performance-baseline.js.map +1 -0
- package/baselines/performance-evaluation.js +88 -0
- package/baselines/performance-evaluation.js.map +1 -0
- package/baselines/performance-plan.js +33 -0
- package/baselines/performance-plan.js.map +1 -0
- package/baselines/performance-report.js +57 -0
- package/baselines/performance-report.js.map +1 -0
- package/baselines/performance-schema.js +12 -0
- package/baselines/performance-schema.js.map +1 -0
- package/baselines/performance-store.js +134 -0
- package/baselines/performance-store.js.map +1 -0
- package/baselines/performance-workflow.js +180 -0
- package/baselines/performance-workflow.js.map +1 -0
- package/bench/calibration-schema.js +12 -0
- package/bench/calibration-schema.js.map +1 -0
- package/canonical-identity.js +54 -0
- package/canonical-identity.js.map +1 -0
- package/config/benchmark-execution.js +30 -0
- package/config/benchmark-execution.js.map +1 -0
- package/config/config-error.d.ts +4 -0
- package/config/config-error.d.ts.map +1 -0
- package/config/config-error.js +7 -0
- package/config/config-error.js.map +1 -0
- package/config/config.d.ts +57 -0
- package/config/config.d.ts.map +1 -0
- package/{run/run-config.js → config/config.js} +55 -19
- package/config/config.js.map +1 -0
- package/{run/coverage-config-schema.d.ts → config/coverage-schema.d.ts} +7 -7
- package/config/coverage-schema.d.ts.map +1 -0
- package/{run/coverage-config-schema.js → config/coverage-schema.js} +1 -1
- package/config/coverage-schema.js.map +1 -0
- package/{run/run-config-defaults.js → config/defaults.js} +6 -1
- package/config/defaults.js.map +1 -0
- package/{run/run-execution-config.d.ts → config/execution.d.ts} +5 -7
- package/config/execution.d.ts.map +1 -0
- package/config/host-process.js +41 -0
- package/config/host-process.js.map +1 -0
- package/config/performance-baselines.js +24 -0
- package/config/performance-baselines.js.map +1 -0
- package/config/profile-file-discovery.js +88 -0
- package/config/profile-file-discovery.js.map +1 -0
- package/{run/profile-config-normalization.js → config/profile-normalization.js} +13 -13
- package/config/profile-normalization.js.map +1 -0
- package/{run/profile-file-glob.js → config/profile-patterns.js} +6 -10
- package/config/profile-patterns.js.map +1 -0
- package/{run/run-config-schema.d.ts → config/schema.d.ts} +210 -28
- package/config/schema.d.ts.map +1 -0
- package/{run/run-config-schema.js → config/schema.js} +40 -12
- package/config/schema.js.map +1 -0
- package/config/snapshot.js +205 -0
- package/config/snapshot.js.map +1 -0
- package/config/types.d.ts +160 -0
- package/config/types.d.ts.map +1 -0
- package/config/validation.js +93 -0
- package/config/validation.js.map +1 -0
- package/{run/work-distribution-config.js → config/work-distribution.js} +3 -3
- package/config/work-distribution.js.map +1 -0
- package/{run/run-identity-schema.js → engine/identity-schema.js} +1 -1
- package/engine/identity-schema.js.map +1 -0
- package/file-store.js +48 -0
- package/file-store.js.map +1 -0
- package/package.json +23 -9
- package/packages/run/benchmark-calibration.entry-point.d.ts +22 -0
- package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -0
- package/packages/run/benchmark-calibration.entry-point.js +129 -0
- package/packages/run/benchmark-calibration.entry-point.js.map +1 -0
- package/packages/run/command-line.entry-point.d.ts +5 -3
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/command-line.entry-point.js +28 -7
- package/packages/run/command-line.entry-point.js.map +1 -1
- package/packages/run/config.entry-point.d.ts +8 -6
- package/packages/run/config.entry-point.d.ts.map +1 -1
- package/packages/run/config.entry-point.js +4 -4
- package/packages/run/config.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +6 -4
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +3 -3
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +64 -13
- package/run/assertion-result-schema.js +1 -1
- package/run/assertion-result-schema.js.map +1 -1
- package/run/attachment-eligibility.js +1 -1
- package/run/attachment-eligibility.js.map +1 -1
- package/run/attachment-execution.js +2 -2
- package/run/attachment-execution.js.map +1 -1
- package/run/attachment-record.js +2 -2
- package/run/attachment-record.js.map +1 -1
- package/run/attachment-results.js.map +1 -1
- package/run/attachment-retention.js +2 -2
- package/run/attachment-retention.js.map +1 -1
- package/run/benchmark-baseline-commands.js +70 -0
- package/run/benchmark-baseline-commands.js.map +1 -0
- package/run/benchmark-baseline-finalization.js +67 -0
- package/run/benchmark-baseline-finalization.js.map +1 -0
- package/run/benchmark-baseline-operations.js +53 -0
- package/run/benchmark-baseline-operations.js.map +1 -0
- package/run/benchmark-baseline-run.js +58 -0
- package/run/benchmark-baseline-run.js.map +1 -0
- package/run/benchmark-baseline-session.js +72 -0
- package/run/benchmark-baseline-session.js.map +1 -0
- package/run/benchmark-calibration.entry-point.js +3 -0
- package/run/benchmark-calibration.entry-point.js.map +1 -0
- package/run/benchmark-calibration.js +41 -0
- package/run/benchmark-calibration.js.map +1 -0
- package/run/benchmark-command-policy.d.ts +8 -0
- package/run/benchmark-command-policy.d.ts.map +1 -0
- package/run/benchmark-command-policy.js +37 -0
- package/run/benchmark-command-policy.js.map +1 -0
- package/run/benchmark-commands.d.ts +4 -0
- package/run/benchmark-commands.d.ts.map +1 -0
- package/run/benchmark-commands.js +61 -0
- package/run/benchmark-commands.js.map +1 -0
- package/run/child-process-outbox.js +36 -0
- package/run/child-process-outbox.js.map +1 -0
- package/run/child-process-roles.js +1 -0
- package/run/child-process-roles.js.map +1 -1
- package/run/child-process.entry-point.js +5 -1
- package/run/child-process.entry-point.js.map +1 -1
- package/run/collected-run-plan-schema.js +1 -1
- package/run/collected-run-plan-schema.js.map +1 -1
- package/run/command-line-command-namespace.d.ts.map +1 -1
- package/run/command-line-command-namespace.js.map +1 -1
- package/run/command-line-command.d.ts +43 -18
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js +3 -2
- package/run/command-line-command.js.map +1 -1
- package/run/command-line-config.d.ts +5 -0
- package/run/command-line-config.d.ts.map +1 -0
- package/run/command-line-config.js +51 -0
- package/run/command-line-config.js.map +1 -0
- package/run/command-line-execution.js +82 -0
- package/run/command-line-execution.js.map +1 -0
- package/run/command-line-runner.d.ts +4 -5
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +6 -124
- package/run/command-line-runner.js.map +1 -1
- package/run/command-line-unimplemented-commands.js +1 -8
- package/run/command-line-unimplemented-commands.js.map +1 -1
- package/run/coverage-loaded-sources.js +8 -9
- package/run/coverage-loaded-sources.js.map +1 -1
- package/run/coverage-method-ranges.js +100 -0
- package/run/coverage-method-ranges.js.map +1 -0
- package/run/coverage-paths.js.map +1 -1
- package/run/coverage-reporting.js.map +1 -1
- package/run/coverage-runtime-source.js +66 -28
- package/run/coverage-runtime-source.js.map +1 -1
- package/run/coverage-session.js.map +1 -1
- package/run/coverage-source-map.js +2 -3
- package/run/coverage-source-map.js.map +1 -1
- package/run/coverage-source-selection.js +9 -7
- package/run/coverage-source-selection.js.map +1 -1
- package/run/coverage-tokens.js +26 -0
- package/run/coverage-tokens.js.map +1 -0
- package/run/duration-history-schema.js +1 -1
- package/run/duration-history-schema.js.map +1 -1
- package/run/execution-plan-resolution.js +7 -0
- package/run/execution-plan-resolution.js.map +1 -1
- package/run/node-command-line-runner.d.ts +1 -1
- package/run/node-command-line-runner.d.ts.map +1 -1
- package/run/node-command-line-runner.js +18 -10
- package/run/node-command-line-runner.js.map +1 -1
- package/run/node-run-execution.js +2 -2
- package/run/node-run-execution.js.map +1 -1
- package/run/reporter-event-schema.js +1 -1
- package/run/reporter-event-schema.js.map +1 -1
- package/run/request-snapshot.js +40 -0
- package/run/request-snapshot.js.map +1 -0
- package/run/run-artifact-id-schema.js +1 -1
- package/run/run-artifact-id-schema.js.map +1 -1
- package/run/run-artifact-schema.js +1 -1
- package/run/run-artifact-schema.js.map +1 -1
- package/run/run-collected-planning.js +13 -7
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collected-resolution.js +1 -0
- package/run/run-collected-resolution.js.map +1 -1
- package/run/run-collection-error-result.js +3 -2
- package/run/run-collection-error-result.js.map +1 -1
- package/run/run-command-schema.js +1 -1
- package/run/run-command-schema.js.map +1 -1
- package/run/run-coverage.js.map +1 -1
- package/run/run-discovery-types.d.ts +2 -2
- package/run/run-discovery-types.d.ts.map +1 -1
- package/run/run-discovery.js +14 -96
- package/run/run-discovery.js.map +1 -1
- package/run/run-engine-primitives.d.ts.map +1 -1
- package/run/run-errors.d.ts +5 -7
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +0 -6
- package/run/run-errors.js.map +1 -1
- package/run/run-execution.js +54 -0
- package/run/run-execution.js.map +1 -0
- package/run/run-facts.js +6 -70
- package/run/run-facts.js.map +1 -1
- package/run/run-host-process.js +1 -40
- package/run/run-host-process.js.map +1 -1
- package/run/run-if-main-options.js.map +1 -1
- package/run/run-if-main-profile.d.ts +8 -10
- package/run/run-if-main-profile.d.ts.map +1 -1
- package/run/run-if-main-profile.js +25 -112
- package/run/run-if-main-profile.js.map +1 -1
- package/run/run-if-main.d.ts.map +1 -1
- package/run/run-if-main.js.map +1 -1
- package/run/run-in-process-execution.js +2 -0
- package/run/run-in-process-execution.js.map +1 -1
- package/run/run-input-resolution.js +32 -10
- package/run/run-input-resolution.js.map +1 -1
- package/run/run-isolated-command.js +3 -3
- package/run/run-isolated-command.js.map +1 -1
- package/run/run-isolated-process.js +24 -9
- package/run/run-isolated-process.js.map +1 -1
- package/run/run-local-command.js +12 -14
- package/run/run-local-command.js.map +1 -1
- package/run/run-local-execution.js.map +1 -1
- package/run/run-local-resolution.js +6 -5
- package/run/run-local-resolution.js.map +1 -1
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-orchestrator-dependencies.d.ts +4 -4
- package/run/run-orchestrator-dependencies.d.ts.map +1 -1
- package/run/run-ordering.js.map +1 -1
- package/run/run-process-engine.js.map +1 -1
- package/run/run-profile-facts.js +65 -0
- package/run/run-profile-facts.js.map +1 -0
- package/run/run-record-types.d.ts +5 -4
- package/run/run-record-types.d.ts.map +1 -1
- package/run/run-reporter-resolution.js +4 -1
- package/run/run-reporter-resolution.js.map +1 -1
- package/run/run-result-reporting.js.map +1 -1
- package/run/run-result-schema.js +2 -1
- package/run/run-result-schema.js.map +1 -1
- package/run/run-selection.js.map +1 -1
- package/run/run-sharding.js +3 -55
- package/run/run-sharding.js.map +1 -1
- package/run/run-supervised-finalization.js +2 -1
- package/run/run-supervised-finalization.js.map +1 -1
- package/run/run-supervised-process.js +6 -4
- package/run/run-supervised-process.js.map +1 -1
- package/run/run-support.js +1 -222
- package/run/run-support.js.map +1 -1
- package/run/run-types.d.ts +63 -168
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run-validation.js +11 -63
- package/run/run-validation.js.map +1 -1
- package/run/run.d.ts.map +1 -1
- package/run/run.js +51 -21
- package/run/run.js.map +1 -1
- package/run/simulation-witness.js +2 -2
- package/run/simulation-witness.js.map +1 -1
- package/run/supervised-child-process.js +1 -1
- package/run/supervised-child-process.js.map +1 -1
- package/run/supervised-child.entry-point.js +9 -6
- package/run/supervised-child.entry-point.js.map +1 -1
- package/run/supervised-child.js +1 -1
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-protocol-schema.js +1 -1
- package/run/supervised-protocol-schema.js.map +1 -1
- package/run/supervised-protocol.js.map +1 -1
- package/run/supervised-run-resource-policy.js.map +1 -1
- package/run/supervised-run-state.js.map +1 -1
- package/run/test-profile.js +21 -0
- package/run/test-profile.js.map +1 -0
- package/run/work-unit-identity.js.map +1 -1
- package/run/work-unit-planning.js +6 -6
- package/run/work-unit-planning.js.map +1 -1
- package/run/work-unit-resource-constraints.js +1 -1
- package/run/work-unit-resource-constraints.js.map +1 -1
- package/run/worker-pool-host-protocol-schema.js +2 -2
- package/run/worker-pool-host-protocol-schema.js.map +1 -1
- package/run/worker-pool-host.entry-point.js +7 -4
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-lifecycle-lanes.js.map +1 -1
- package/run/worker-pool-placement-planning.js.map +1 -1
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-results.js +2 -2
- package/run/worker-pool-results.js.map +1 -1
- package/run/worker-pool-routing.js.map +1 -1
- package/run/worker-pool-run.js +5 -4
- package/run/worker-pool-run.js.map +1 -1
- package/run/worker-pool-runtime.js.map +1 -1
- package/run/worker-pool-task-schema.js +1 -1
- package/run/worker-pool-task-schema.js.map +1 -1
- package/sbom.cdx.json +26 -43
- package/run/attachment-json.js.map +0 -1
- package/run/coverage-config-schema.d.ts.map +0 -1
- package/run/coverage-config-schema.js.map +0 -1
- package/run/node-runtime-state-store.js +0 -38
- package/run/node-runtime-state-store.js.map +0 -1
- package/run/profile-config-normalization.js.map +0 -1
- package/run/profile-file-glob.js.map +0 -1
- package/run/run-config-defaults.js.map +0 -1
- package/run/run-config-schema.d.ts.map +0 -1
- package/run/run-config-schema.js.map +0 -1
- package/run/run-config.d.ts +0 -62
- package/run/run-config.d.ts.map +0 -1
- package/run/run-config.js.map +0 -1
- package/run/run-execution-config.d.ts.map +0 -1
- package/run/run-identity-schema.js.map +0 -1
- package/run/work-distribution-config.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { selectProfile } from "./test-profile.js";
|
|
2
|
+
import { selectCommandLineReporterFallback } from "./run-reporter-resolution.js";
|
|
3
|
+
async function loadCommandLineReporterFallback(fallback, dependencies) {
|
|
4
|
+
if (fallback.kind === 'configured') {
|
|
5
|
+
return fallback.reporters;
|
|
6
|
+
}
|
|
7
|
+
if (fallback.kind === 'default') {
|
|
8
|
+
return [await dependencies.createDefaultReporter()];
|
|
9
|
+
}
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
export async function createCommandLineConfig(loadedConfig, request, dependencies) {
|
|
13
|
+
const reporterFallback = selectCommandLineReporterFallback(loadedConfig, request.runRequest.profile);
|
|
14
|
+
return {
|
|
15
|
+
loader: loadedConfig.loader,
|
|
16
|
+
outputRenderer: loadedConfig.outputRenderer,
|
|
17
|
+
profiles: loadedConfig.profiles,
|
|
18
|
+
reporters: await loadCommandLineReporterFallback(reporterFallback, dependencies),
|
|
19
|
+
runtimeStateDir: loadedConfig.runtimeStateDir
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function listProfile(profile) {
|
|
23
|
+
if (profile.testFamily !== 'microtest') {
|
|
24
|
+
return profile;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
...profile,
|
|
28
|
+
execution: {
|
|
29
|
+
maxConcurrency: profile.execution.maxConcurrency,
|
|
30
|
+
processModel: 'in-process',
|
|
31
|
+
scheduling: profile.execution.scheduling
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function listProfiles(profiles) {
|
|
36
|
+
return Object.fromEntries(Object.entries(profiles).map(function toListProfile(entry) {
|
|
37
|
+
const [name, profile] = entry;
|
|
38
|
+
return [name, listProfile(profile)];
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
export function createCommandLineListConfig(loadedConfig, profileName) {
|
|
42
|
+
selectProfile(profileName, loadedConfig);
|
|
43
|
+
return {
|
|
44
|
+
loader: loadedConfig.loader,
|
|
45
|
+
outputRenderer: loadedConfig.outputRenderer,
|
|
46
|
+
profiles: listProfiles(loadedConfig.profiles),
|
|
47
|
+
reporters: [],
|
|
48
|
+
runtimeStateDir: loadedConfig.runtimeStateDir
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=command-line-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-line-config.js","sourceRoot":"","sources":["../../../../source/run/command-line-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAoC,MAAM,8BAA8B,CAAC;AAInH,KAAK,UAAU,+BAA+B,CAC1C,QAAqC,EACrC,YAA2C;IAE3C,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAE,MAAM,YAAY,CAAC,qBAAqB,EAAE,CAAE,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,YAA0B,EAC1B,OAAmC,EACnC,YAA2C;IAE3C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAErG,OAAO;QACH,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,SAAS,EAAE,MAAM,+BAA+B,CAAC,gBAAgB,EAAE,YAAY,CAAC;QAChF,eAAe,EAAE,YAAY,CAAC,eAAe;KAChD,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,OAAsB;IACvC,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO;QACH,GAAG,OAAO;QACV,SAAS,EAAE;YACP,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,cAAc;YAChD,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU;SAC3C;KACJ,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,QAAsC;IACxD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,KAAK;QACrD,MAAM,CAAE,IAAI,EAAE,OAAO,CAAE,GAAG,KAAK,CAAC;QAEhC,OAAO,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAE,CAAC;IAC1C,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAA0B,EAAE,WAAmB;IACvF,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO;QACH,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC7C,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,YAAY,CAAC,eAAe;KAChD,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { selectTestProfile } from "./test-profile.js";
|
|
2
|
+
import { createCommandLineConfig, createCommandLineListConfig } from "./command-line-config.js";
|
|
3
|
+
import { commandLineExitCodes, formatRunnerErrorDiagnostics, readExitCodeFromRunResult } from "./command-line-command.js";
|
|
4
|
+
import { renderResolvedRunList } from "./run-list-renderer.js";
|
|
5
|
+
export function assertOrdinaryCommandProfile(profileName, config) {
|
|
6
|
+
if (config.profiles[profileName]?.testFamily === 'benchmark') {
|
|
7
|
+
selectTestProfile(profileName, config);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
async function createCommandFromRequest(request, loadedConfig, dependencies) {
|
|
11
|
+
return {
|
|
12
|
+
config: await createCommandLineConfig(loadedConfig, request, dependencies),
|
|
13
|
+
cwd: request.cwd,
|
|
14
|
+
engine: { kind: 'default' },
|
|
15
|
+
request: {
|
|
16
|
+
...request.runRequest,
|
|
17
|
+
capabilityRestrictions: { mode: 'enabled' }
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function createCommandFromListRequest(request, loadedConfig) {
|
|
22
|
+
return {
|
|
23
|
+
config: createCommandLineListConfig(loadedConfig, request.listRequest.profile),
|
|
24
|
+
cwd: request.cwd,
|
|
25
|
+
engine: { kind: 'default' },
|
|
26
|
+
request: {
|
|
27
|
+
baselineUpdateMode: 'none',
|
|
28
|
+
capabilityRestrictions: { mode: 'enabled' },
|
|
29
|
+
capture: 'buffered',
|
|
30
|
+
coverage: false,
|
|
31
|
+
debug: {
|
|
32
|
+
mode: 'off',
|
|
33
|
+
selectors: []
|
|
34
|
+
},
|
|
35
|
+
execution: { mode: 'profile-default' },
|
|
36
|
+
measureResourceUsage: null,
|
|
37
|
+
order: request.listRequest.order,
|
|
38
|
+
paths: request.listRequest.paths,
|
|
39
|
+
profile: request.listRequest.profile,
|
|
40
|
+
resourceBudgetOverrides: null,
|
|
41
|
+
resourceUsageSamplingIntervalMilliseconds: null,
|
|
42
|
+
seed: request.listRequest.seed,
|
|
43
|
+
selection: request.listRequest.selection,
|
|
44
|
+
shard: request.listRequest.shard,
|
|
45
|
+
timingCollection: 'profile-default',
|
|
46
|
+
verbose: false,
|
|
47
|
+
workers: null
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export async function runTestsWithLoadedConfig(request, dependencies, loadedConfig, options) {
|
|
52
|
+
const command = await createCommandFromRequest(request, loadedConfig, dependencies);
|
|
53
|
+
const runResult = await dependencies.orchestrator.runWithReporterDelivery(command, options);
|
|
54
|
+
return {
|
|
55
|
+
exitCode: readExitCodeFromRunResult(runResult.result),
|
|
56
|
+
fallbackDiagnostics: formatRunnerErrorDiagnostics(runResult.undeliveredRunnerErrors),
|
|
57
|
+
runResult: runResult.result,
|
|
58
|
+
stdoutLines: []
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export async function listTestsWithLoadedConfig(request, dependencies, loadedConfig) {
|
|
62
|
+
const command = createCommandFromListRequest(request, loadedConfig);
|
|
63
|
+
const resolvedRun = await dependencies.orchestrator.resolve(command, { timing: null });
|
|
64
|
+
if (resolvedRun.collectionRunnerErrors.length > 0) {
|
|
65
|
+
return {
|
|
66
|
+
exitCode: commandLineExitCodes.runnerError,
|
|
67
|
+
fallbackDiagnostics: formatRunnerErrorDiagnostics(resolvedRun.collectionRunnerErrors),
|
|
68
|
+
runResult: null,
|
|
69
|
+
stdoutLines: []
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
exitCode: commandLineExitCodes.pass,
|
|
74
|
+
fallbackDiagnostics: [],
|
|
75
|
+
runResult: null,
|
|
76
|
+
stdoutLines: renderResolvedRunList(resolvedRun, {
|
|
77
|
+
withLocations: request.listRequest.withLocations,
|
|
78
|
+
withOrphans: request.listRequest.withOrphans
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=command-line-execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-line-execution.js","sourceRoot":"","sources":["../../../../source/run/command-line-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LoadedConfig, ConfigLoadRequest } from '../config/config.ts';
|
|
2
|
+
import type { CommandLineConfigDependencies } from './command-line-config.ts';
|
|
2
3
|
import type { RunOrchestrator } from './run-types.ts';
|
|
3
|
-
import type { LoadedRunConfig, 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';
|
|
5
5
|
import { type CommandLineCommandLoaders } from './command-line-command-namespace.ts';
|
|
6
6
|
export type CommandLineRunner = {
|
|
@@ -12,9 +12,8 @@ export type CommandLineRunner = {
|
|
|
12
12
|
readonly runTests: (request: CommandLineRunTestsRequest) => Promise<CommandLineRunnerResult>;
|
|
13
13
|
};
|
|
14
14
|
export type CommandLineRunnerResult = CommandLineRunnerResultShape;
|
|
15
|
-
export type CommandLineRunnerDependencies = CommandLineCommandLoaders & {
|
|
16
|
-
readonly
|
|
17
|
-
readonly loadRunConfig: (request: RunConfigLoadRequest) => Promise<LoadedRunConfig>;
|
|
15
|
+
export type CommandLineRunnerDependencies = CommandLineCommandLoaders & CommandLineConfigDependencies & {
|
|
16
|
+
readonly loadConfig: (request: ConfigLoadRequest) => Promise<LoadedConfig>;
|
|
18
17
|
readonly orchestrator: RunOrchestrator;
|
|
19
18
|
};
|
|
20
19
|
//# 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,KAAK,
|
|
1
|
+
{"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGR,YAAY,EACZ,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACR,6BAA6B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAEH,KAAK,2BAA2B,EAChC,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;AAc7C,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,6BAA6B,GAAG;IACpG,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC"}
|
|
@@ -1,129 +1,9 @@
|
|
|
1
|
-
import { createCommandLineErrorResultFromUnknown
|
|
1
|
+
import { createCommandLineErrorResultFromUnknown } from "./command-line-command.js";
|
|
2
2
|
import { createCommandLineCommandNamespace } from "./command-line-command-namespace.js";
|
|
3
3
|
import { createUnimplementedCommand } from "./command-line-unimplemented-commands.js";
|
|
4
|
-
import {
|
|
5
|
-
import { renderResolvedRunList } from "./run-list-renderer.js";
|
|
4
|
+
import { assertOrdinaryCommandProfile, runTestsWithLoadedConfig, listTestsWithLoadedConfig } from "./command-line-execution.js";
|
|
6
5
|
import { createDefaultDirectReporter } from "./default-direct-reporter.js";
|
|
7
6
|
import { createSystemRunTimingMeasurement, emptyTimingSpanMetadata } from "./run-timing-collection.js";
|
|
8
|
-
async function loadCommandLineReporterFallback(fallback, dependencies) {
|
|
9
|
-
if (fallback.kind === 'configured') {
|
|
10
|
-
return fallback.reporters;
|
|
11
|
-
}
|
|
12
|
-
if (fallback.kind === 'default') {
|
|
13
|
-
return [await dependencies.createDefaultReporter()];
|
|
14
|
-
}
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
async function createCommandLineConfig(loadedConfig, request, dependencies) {
|
|
18
|
-
const reporterFallback = selectCommandLineReporterFallback(loadedConfig, request.runRequest.profile);
|
|
19
|
-
return {
|
|
20
|
-
loader: loadedConfig.loader,
|
|
21
|
-
outputRenderer: loadedConfig.outputRenderer,
|
|
22
|
-
profiles: loadedConfig.profiles,
|
|
23
|
-
reporters: await loadCommandLineReporterFallback(reporterFallback, dependencies),
|
|
24
|
-
runtimeStateDir: loadedConfig.runtimeStateDir
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
function listProfile(profile) {
|
|
28
|
-
if (profile.testFamily !== 'microtest') {
|
|
29
|
-
return profile;
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
...profile,
|
|
33
|
-
execution: {
|
|
34
|
-
maxConcurrency: profile.execution.maxConcurrency,
|
|
35
|
-
processModel: 'in-process',
|
|
36
|
-
scheduling: profile.execution.scheduling
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
function listProfiles(profiles) {
|
|
41
|
-
return Object.fromEntries(Object.entries(profiles).map(function toListProfile(entry) {
|
|
42
|
-
const [name, profile] = entry;
|
|
43
|
-
return [name, listProfile(profile)];
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
function createCommandLineListConfig(loadedConfig) {
|
|
47
|
-
return {
|
|
48
|
-
loader: loadedConfig.loader,
|
|
49
|
-
outputRenderer: loadedConfig.outputRenderer,
|
|
50
|
-
profiles: listProfiles(loadedConfig.profiles),
|
|
51
|
-
reporters: [],
|
|
52
|
-
runtimeStateDir: loadedConfig.runtimeStateDir
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
async function createCommandFromRequest(request, loadedConfig, dependencies) {
|
|
56
|
-
return {
|
|
57
|
-
config: await createCommandLineConfig(loadedConfig, request, dependencies),
|
|
58
|
-
cwd: request.cwd,
|
|
59
|
-
engine: { kind: 'default' },
|
|
60
|
-
request: {
|
|
61
|
-
...request.runRequest,
|
|
62
|
-
capabilityRestrictions: { mode: 'enabled' }
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function createCommandFromListRequest(request, loadedConfig) {
|
|
67
|
-
return {
|
|
68
|
-
config: createCommandLineListConfig(loadedConfig),
|
|
69
|
-
cwd: request.cwd,
|
|
70
|
-
engine: { kind: 'default' },
|
|
71
|
-
request: {
|
|
72
|
-
baselineUpdateMode: 'none',
|
|
73
|
-
capabilityRestrictions: { mode: 'enabled' },
|
|
74
|
-
capture: 'buffered',
|
|
75
|
-
coverage: false,
|
|
76
|
-
debug: {
|
|
77
|
-
mode: 'off',
|
|
78
|
-
selectors: []
|
|
79
|
-
},
|
|
80
|
-
execution: { mode: 'profile-default' },
|
|
81
|
-
measureResourceUsage: null,
|
|
82
|
-
order: request.listRequest.order,
|
|
83
|
-
paths: request.listRequest.paths,
|
|
84
|
-
profile: request.listRequest.profile,
|
|
85
|
-
resourceBudgetOverrides: null,
|
|
86
|
-
resourceUsageSamplingIntervalMilliseconds: null,
|
|
87
|
-
seed: request.listRequest.seed,
|
|
88
|
-
selection: request.listRequest.selection,
|
|
89
|
-
shard: request.listRequest.shard,
|
|
90
|
-
timingCollection: 'profile-default',
|
|
91
|
-
verbose: false,
|
|
92
|
-
workers: null
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
async function runTestsWithLoadedConfig(request, dependencies, loadedConfig, options) {
|
|
97
|
-
const command = await createCommandFromRequest(request, loadedConfig, dependencies);
|
|
98
|
-
const runResult = await dependencies.orchestrator.runWithReporterDelivery(command, options);
|
|
99
|
-
return {
|
|
100
|
-
exitCode: readExitCodeFromRunResult(runResult.result),
|
|
101
|
-
fallbackDiagnostics: formatRunnerErrorDiagnostics(runResult.undeliveredRunnerErrors),
|
|
102
|
-
runResult: runResult.result,
|
|
103
|
-
stdoutLines: []
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
async function listTestsWithLoadedConfig(request, dependencies, loadedConfig) {
|
|
107
|
-
const command = createCommandFromListRequest(request, loadedConfig);
|
|
108
|
-
const resolvedRun = await dependencies.orchestrator.resolve(command);
|
|
109
|
-
if (resolvedRun.collectionRunnerErrors.length > 0) {
|
|
110
|
-
return {
|
|
111
|
-
exitCode: commandLineExitCodes.runnerError,
|
|
112
|
-
fallbackDiagnostics: formatRunnerErrorDiagnostics(resolvedRun.collectionRunnerErrors),
|
|
113
|
-
runResult: null,
|
|
114
|
-
stdoutLines: []
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
exitCode: commandLineExitCodes.pass,
|
|
119
|
-
fallbackDiagnostics: [],
|
|
120
|
-
runResult: null,
|
|
121
|
-
stdoutLines: renderResolvedRunList(resolvedRun, {
|
|
122
|
-
withLocations: request.listRequest.withLocations,
|
|
123
|
-
withOrphans: request.listRequest.withOrphans
|
|
124
|
-
})
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
7
|
export function createCommandLineRunner(dependencies) {
|
|
128
8
|
const commandNamespace = createCommandLineCommandNamespace(dependencies);
|
|
129
9
|
return {
|
|
@@ -131,7 +11,8 @@ export function createCommandLineRunner(dependencies) {
|
|
|
131
11
|
bench: commandNamespace.bench,
|
|
132
12
|
async listTests(request) {
|
|
133
13
|
try {
|
|
134
|
-
const loadedConfig = await dependencies.
|
|
14
|
+
const loadedConfig = await dependencies.loadConfig(request);
|
|
15
|
+
assertOrdinaryCommandProfile(request.listRequest.profile, loadedConfig);
|
|
135
16
|
return await listTestsWithLoadedConfig(request, dependencies, loadedConfig);
|
|
136
17
|
}
|
|
137
18
|
catch (error) {
|
|
@@ -144,8 +25,9 @@ export function createCommandLineRunner(dependencies) {
|
|
|
144
25
|
const timing = createSystemRunTimingMeasurement();
|
|
145
26
|
try {
|
|
146
27
|
const loadedConfig = await timing.measureAsync('config.load', emptyTimingSpanMetadata(), async function loadRunTestsConfig() {
|
|
147
|
-
return await dependencies.
|
|
28
|
+
return await dependencies.loadConfig(request);
|
|
148
29
|
});
|
|
30
|
+
assertOrdinaryCommandProfile(request.runRequest.profile, loadedConfig);
|
|
149
31
|
return await runTestsWithLoadedConfig(request, dependencies, loadedConfig, { timing });
|
|
150
32
|
}
|
|
151
33
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAWA,OAAO,EACH,uCAAuC,EAO1C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,iCAAiC,EAEpC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAEtF,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACH,gCAAgC,EAChC,uBAAuB,EAC1B,MAAM,4BAA4B,CAAC;AAkBpC,MAAM,UAAU,uBAAuB,CAAC,YAA2C;IAC/E,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,YAAY,CAAC,CAAC;IAEzE,OAAO;QACH,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;QACnC,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,KAAK,CAAC,SAAS,CAAC,OAAO;YACnB,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC5D,4BAA4B,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACxE,OAAO,MAAM,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAChF,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,OAAO,uCAAuC,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;QACD,SAAS,EAAE,0BAA0B,CAAC,QAAQ,CAAC;QAC/C,aAAa,EAAE,0BAA0B,CAAC,gBAAgB,CAAC;QAC3D,KAAK,CAAC,QAAQ,CAAC,OAAO;YAClB,MAAM,MAAM,GAAG,gCAAgC,EAAE,CAAC;YAElD,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CAC1C,aAAa,EACb,uBAAuB,EAAE,EACzB,KAAK,UAAU,kBAAkB;oBAC7B,OAAO,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC,CACJ,CAAC;gBAEF,4BAA4B,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACvE,OAAO,MAAM,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,OAAO,uCAAuC,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IACzC,OAAO,MAAM,2BAA2B,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -11,7 +11,7 @@ export function createUnimplementedCommand(command) {
|
|
|
11
11
|
return createUnimplementedCommandResult(command, context);
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
function createUnimplementedBaselineCommands(namespace) {
|
|
14
|
+
export function createUnimplementedBaselineCommands(namespace) {
|
|
15
15
|
return {
|
|
16
16
|
apply: createUnimplementedCommand(`${namespace} apply`),
|
|
17
17
|
bootstrap: createUnimplementedCommand(`${namespace} bootstrap`),
|
|
@@ -23,11 +23,4 @@ function createUnimplementedBaselineCommands(namespace) {
|
|
|
23
23
|
export async function loadUnimplementedBaselineCommands() {
|
|
24
24
|
return createUnimplementedBaselineCommands('baseline');
|
|
25
25
|
}
|
|
26
|
-
export async function loadUnimplementedBenchmarkCommands() {
|
|
27
|
-
return {
|
|
28
|
-
baseline: createUnimplementedBaselineCommands('bench baseline'),
|
|
29
|
-
listBenchmarks: createUnimplementedCommand('bench list'),
|
|
30
|
-
runBenchmarks: createUnimplementedCommand('bench run')
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
26
|
//# sourceMappingURL=command-line-unimplemented-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-unimplemented-commands.js","sourceRoot":"","sources":["../../../../source/run/command-line-unimplemented-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACH,uCAAuC,
|
|
1
|
+
{"version":3,"file":"command-line-unimplemented-commands.js","sourceRoot":"","sources":["../../../../source/run/command-line-unimplemented-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACH,uCAAuC,EAK1C,MAAM,2BAA2B,CAAC;AAEnC,SAAS,gCAAgC,CACrC,OAAe,EACf,OAAkC;IAElC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QACjD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;IAE/D,OAAO,uCAAuC,CAC1C,IAAI,kBAAkB,CAClB,YAAY,OAAO,IAAI,cAAc,0BAA0B,EAC/D,SAAS,EACT,qBAAqB,CACxB,CACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACtD,OAAO,KAAK,UAAU,uBAAuB,CAAC,OAAO;QACjD,OAAO,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,SAAiB;IACjE,OAAO;QACH,KAAK,EAAE,0BAA0B,CAAC,GAAG,SAAS,QAAQ,CAAC;QACvD,SAAS,EAAE,0BAA0B,CAAC,GAAG,SAAS,YAAY,CAAC;QAC/D,IAAI,EAAE,0BAA0B,CAAC,GAAG,SAAS,OAAO,CAAC;QACrD,IAAI,EAAE,0BAA0B,CAAC,GAAG,SAAS,OAAO,CAAC;QACrD,MAAM,EAAE,0BAA0B,CAAC,GAAG,SAAS,SAAS,CAAC;KAC5D,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC;IACnD,OAAO,mCAAmC,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
1
|
import path from 'node:path';
|
|
3
2
|
import { fileURLToPath } from 'node:url';
|
|
4
3
|
import { isPathInside } from "./path-containment.js";
|
|
5
|
-
import {
|
|
4
|
+
import { isSupportedCoverageSource } from "./coverage-runtime-source.js";
|
|
6
5
|
import { normalizedCoverageSourceMap, readCoverageSourceMap } from "./coverage-source-map.js";
|
|
7
6
|
function projectScriptPath(url, projectRoot) {
|
|
8
7
|
if (!url.startsWith('file:')) {
|
|
@@ -12,20 +11,20 @@ function projectScriptPath(url, projectRoot) {
|
|
|
12
11
|
const insideProject = isPathInside(projectRoot, filePath) && !filePath.split(path.sep).includes('node_modules');
|
|
13
12
|
return insideProject && isSupportedCoverageSource(filePath) ? filePath : null;
|
|
14
13
|
}
|
|
15
|
-
async function readLoadedEntry(url, cached, projectRoot) {
|
|
14
|
+
async function readLoadedEntry(url, cached, projectRoot, cache) {
|
|
16
15
|
const filePath = projectScriptPath(url, projectRoot);
|
|
17
16
|
if (filePath === null) {
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
|
-
const source = await
|
|
21
|
-
const map = await readCoverageSourceMap({ cached, source, url });
|
|
19
|
+
const source = await cache.read(filePath);
|
|
20
|
+
const map = await readCoverageSourceMap({ cache, cached, source, url });
|
|
22
21
|
return { filePath, map, source, url };
|
|
23
22
|
}
|
|
24
23
|
async function loadedCoverageEntries(request) {
|
|
25
24
|
const entries = new Map();
|
|
26
25
|
for (const batch of request.batches) {
|
|
27
26
|
for (const entry of batch.entries) {
|
|
28
|
-
const loaded = await readLoadedEntry(entry.url, batch.sourceMaps[entry.url], request.projectRoot);
|
|
27
|
+
const loaded = await readLoadedEntry(entry.url, batch.sourceMaps[entry.url], request.projectRoot, request.cache);
|
|
29
28
|
if (loaded !== null) {
|
|
30
29
|
entries.set(entry.url, loaded);
|
|
31
30
|
}
|
|
@@ -63,13 +62,13 @@ async function originalSourceContent(original, request) {
|
|
|
63
62
|
if (filePath === null) {
|
|
64
63
|
return { content: original.content ?? '', filePath: null };
|
|
65
64
|
}
|
|
66
|
-
const content = original.content ?? await
|
|
67
|
-
const hasRuntime = isSupportedCoverageSource(filePath) &&
|
|
65
|
+
const content = original.content ?? await request.cache.read(filePath);
|
|
66
|
+
const hasRuntime = isSupportedCoverageSource(filePath) && request.cache.inspect(content, filePath).hasRuntime;
|
|
68
67
|
return { content, filePath: hasRuntime ? filePath : null };
|
|
69
68
|
}
|
|
70
69
|
async function selectLoadedEntry(entry, request) {
|
|
71
70
|
if (entry.map === null) {
|
|
72
|
-
return request.includeSource(entry.filePath) &&
|
|
71
|
+
return request.includeSource(entry.filePath) && request.cache.inspect(entry.source, entry.filePath).hasRuntime
|
|
73
72
|
? { map: null, sources: [entry.filePath], url: entry.url }
|
|
74
73
|
: null;
|
|
75
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-loaded-sources.js","sourceRoot":"","sources":["../../../../source/run/coverage-loaded-sources.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"coverage-loaded-sources.js","sourceRoot":"","sources":["../../../../source/run/coverage-loaded-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import "./coverage-tokens.js";
|
|
3
|
+
const rangeSchema = z.object({ count: z.number(), endOffset: z.number(), startOffset: z.number() });
|
|
4
|
+
const functionsSchema = z.array(z.object({
|
|
5
|
+
functionName: z.string(),
|
|
6
|
+
isBlockCoverage: z.boolean(),
|
|
7
|
+
ranges: z.tuple([rangeSchema]).rest(rangeSchema)
|
|
8
|
+
}));
|
|
9
|
+
const keyTypes = new Set(['IdentifierName', 'PrivateIdentifier', 'StringLiteral', 'NumericLiteral']);
|
|
10
|
+
function closingToken(tokens, start, opening, closing) {
|
|
11
|
+
let depth = 0;
|
|
12
|
+
for (let index = start; index < tokens.length; index += 1) {
|
|
13
|
+
const value = tokens[index]?.value;
|
|
14
|
+
if (value === opening) {
|
|
15
|
+
depth += 1;
|
|
16
|
+
}
|
|
17
|
+
else if (value === closing) {
|
|
18
|
+
depth -= 1;
|
|
19
|
+
if (depth === 0) {
|
|
20
|
+
return index;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return tokens.length;
|
|
25
|
+
}
|
|
26
|
+
function enclosingDelimiter(tokens, start) {
|
|
27
|
+
const delimiters = [];
|
|
28
|
+
for (const token of tokens.slice(0, start)) {
|
|
29
|
+
if (['(', '[', '{'].includes(token.value)) {
|
|
30
|
+
delimiters.push(token.value);
|
|
31
|
+
}
|
|
32
|
+
else if ([')', ']', '}'].includes(token.value)) {
|
|
33
|
+
delimiters.pop();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return delimiters.at(-1);
|
|
37
|
+
}
|
|
38
|
+
function startsMethod(tokens, start) {
|
|
39
|
+
const previous = tokens[start - 1]?.value ?? '';
|
|
40
|
+
return enclosingDelimiter(tokens, start) === '{' && ['{', '}', ';', ',', 'static'].includes(previous);
|
|
41
|
+
}
|
|
42
|
+
function isMethodPrefix(tokens, start) {
|
|
43
|
+
return ['async', 'get', 'set'].includes(tokens[start]?.value ?? '') && tokens[start + 1]?.value !== '(';
|
|
44
|
+
}
|
|
45
|
+
function methodKeyStart(tokens, start) {
|
|
46
|
+
const index = isMethodPrefix(tokens, start) ? start + 1 : start;
|
|
47
|
+
return tokens[index]?.value === '*' ? index + 1 : index;
|
|
48
|
+
}
|
|
49
|
+
function methodKeyEnd(tokens, start) {
|
|
50
|
+
const key = tokens[start];
|
|
51
|
+
if (key?.value === '[') {
|
|
52
|
+
return closingToken(tokens, start, '[', ']') + 1;
|
|
53
|
+
}
|
|
54
|
+
return key !== undefined && keyTypes.has(key.type) ? start + 1 : null;
|
|
55
|
+
}
|
|
56
|
+
function parametersAfterKey(tokens, start) {
|
|
57
|
+
const token = tokens[start];
|
|
58
|
+
if (token?.value !== '(') {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const end = closingToken(tokens, start, '(', ')');
|
|
62
|
+
return tokens[end + 1]?.value === '{' ? token.start : null;
|
|
63
|
+
}
|
|
64
|
+
function methodParameters(tokens, start) {
|
|
65
|
+
const keyStart = methodKeyStart(tokens, start);
|
|
66
|
+
if (tokens[keyStart]?.value === 'function' && !startsMethod(tokens, start)) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const keyEnd = methodKeyEnd(tokens, keyStart);
|
|
70
|
+
return keyEnd === null ? null : parametersAfterKey(tokens, keyEnd);
|
|
71
|
+
}
|
|
72
|
+
export function createCoverageMethodNormalizer(tokens) {
|
|
73
|
+
const positions = new Map(tokens.map(function tokenPosition(token, index) {
|
|
74
|
+
return [token.start, index];
|
|
75
|
+
}));
|
|
76
|
+
const methods = new Map();
|
|
77
|
+
function parametersAt(offset) {
|
|
78
|
+
const start = positions.get(offset);
|
|
79
|
+
if (start === undefined) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
if (!methods.has(start)) {
|
|
83
|
+
methods.set(start, methodParameters(tokens, start));
|
|
84
|
+
}
|
|
85
|
+
return methods.get(start) ?? null;
|
|
86
|
+
}
|
|
87
|
+
return function normalizeMethods(functions) {
|
|
88
|
+
const normalized = functionsSchema.parse(functions);
|
|
89
|
+
for (const fn of normalized) {
|
|
90
|
+
const [range] = fn.ranges;
|
|
91
|
+
const parameters = parametersAt(range.startOffset);
|
|
92
|
+
if (parameters !== null && parameters < range.endOffset) {
|
|
93
|
+
range.startOffset = parameters;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return normalized;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=coverage-method-ranges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-method-ranges.js","sourceRoot":"","sources":["../../../../source/run/coverage-method-ranges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAmD,sBAAsB,CAAC;AAE1E,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpG,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,WAAW,CAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;CACrD,CAAC,CAAC,CAAC;AACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,CAAE,CAAC,CAAC;AAEvG,SAAS,YAAY,CAAC,MAAgC,EAAE,KAAa,EAAE,OAAe,EAAE,OAAe;IACnG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAEnC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAgC,EAAE,KAAa;IACvE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,UAAU,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,MAAgC,EAAE,KAAa;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IAEhD,OAAO,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,cAAc,CAAC,MAAgC,EAAE,KAAa;IACnE,OAAO,CAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,CAAC;AAC9G,CAAC;AAED,SAAS,cAAc,CAAC,MAAgC,EAAE,KAAa;IACnE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,MAAgC,EAAE,KAAa;IACjE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1B,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAgC,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,KAAK,EAAE,KAAK,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAgC,EAAE,KAAa;IACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,UAAU,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC1C,MAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,KAAK,EAAE,KAAK;QACpE,OAAO,CAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAE,CAAC;IAClC,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEjD,SAAS,YAAY,CAAC,MAAc;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,gBAAgB,CAAC,SAAS;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAE,KAAK,CAAE,GAAG,EAAE,CAAC,MAAM,CAAC;YAC5B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAEnD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBACtD,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;YACnC,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-paths.js","sourceRoot":"","sources":["../../../../source/run/coverage-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"coverage-paths.js","sourceRoot":"","sources":["../../../../source/run/coverage-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAerD,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IAChD,IAAI,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,WAAmB,EAAE,iBAAyB;IAC1F,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;AACL,CAAC;AAED,KAAK,UAAU,+BAA+B,CAAC,WAAmB,EAAE,iBAAyB;IACzF,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAEtE,IACI,CAAE,iBAAiB,EAAE,gBAAgB,CAAE,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,SAAS;QAC1E,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC;QACC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACtF,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA4B;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,KAAK,IAAI;QAC9D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAoB;IAC1D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEtD,MAAM,+BAA+B,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,gCAAgC,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE7E,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-reporting.js","sourceRoot":"","sources":["../../../../source/run/coverage-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACH,cAAc,EAGjB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"coverage-reporting.js","sourceRoot":"","sources":["../../../../source/run/coverage-reporting.ts"],"names":[],"mappings":"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"}
|