@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
|
@@ -47,6 +47,11 @@ export const defaultTimeoutPolicy = {
|
|
|
47
47
|
hardMilliseconds: defaultMicrotestHardTimeoutMilliseconds,
|
|
48
48
|
softMilliseconds: defaultMicrotestTimeoutMilliseconds
|
|
49
49
|
};
|
|
50
|
+
export const defaultBenchmarkTimeoutPolicy = {
|
|
51
|
+
collectionMilliseconds: 5000,
|
|
52
|
+
hardMilliseconds: 60_000,
|
|
53
|
+
softMilliseconds: 40_000
|
|
54
|
+
};
|
|
50
55
|
export const defaultIntegrationTimeoutPolicy = {
|
|
51
56
|
collectionMilliseconds: defaultIntegrationCollectionTimeoutMilliseconds,
|
|
52
57
|
hardMilliseconds: defaultIntegrationHardTimeoutMilliseconds,
|
|
@@ -66,4 +71,4 @@ export const defaultWorkerPoolDispatchPolicy = 'dynamic-lease';
|
|
|
66
71
|
export const defaultWorkerPoolHedgingPolicy = { mode: 'off' };
|
|
67
72
|
export const defaultWorkerLifecycle = 'reuse';
|
|
68
73
|
export const defaultWorkDistribution = { mode: 'file' };
|
|
69
|
-
//# sourceMappingURL=
|
|
74
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../source/config/defaults.ts"],"names":[],"mappings":"AAcA,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,UAAU,wBAAwB,CACpC,SAAuF;IAEvF,OAAO,SAAS,EAAE,cAAc,IAAI,qBAAqB,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAE,oBAAoB,EAAE,oBAAoB,CAAE,CAAC;AACrF,MAAM,CAAC,MAAM,gDAAgD,GAAG,GAAG,CAAC;AACpE,MAAM,6CAA6C,GAAG,IAAI,CAAC;AAC3D,MAAM,uCAAuC,GAAG,IAAI,CAAC;AACrD,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,+CAA+C,GAAG,IAAI,CAAC;AAC7D,MAAM,yCAAyC,GAAG,IAAI,CAAC;AACvD,MAAM,qCAAqC,GAAG,IAAI,CAAC;AACnD,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAC1D,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,YAAY;CACjB,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC3D,OAAO,EAAE;QACL,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,gBAAgB,EAAE,IAAI;QACtB,+BAA+B,EAAE,IAAI;KACxC;IACD,OAAO,EAAE,KAAK;IACd,4BAA4B,EAAE,gDAAgD;CACjF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC3D,UAAU,EAAE,SAAS;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACjD,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE,CAAE,IAAI,EAAE,MAAM,CAAE;IACzB,OAAO,EAAE;QACL,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,QAAQ;KACjB;IACD,UAAU,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACd;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IAC/C,sBAAsB,EAAE,6CAA6C;IACrE,gBAAgB,EAAE,uCAAuC;IACzD,gBAAgB,EAAE,mCAAmC;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAkB;IACxD,sBAAsB,EAAE,IAAI;IAC5B,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,MAAM;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAkB;IAC1D,sBAAsB,EAAE,+CAA+C;IACvE,gBAAgB,EAAE,yCAAyC;IAC3D,gBAAgB,EAAE,qCAAqC;CAC1D,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACvC,SAAgD;IAEhD,OAAO;QACH,cAAc,EAAE,wBAAwB,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,SAAS,EAAE,YAAY,IAAI,4BAA4B;QACrE,UAAU,EAAE,SAAS,EAAE,UAAU,IAAI,0BAA0B;KAClE,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,aAAa,CAAC;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAA+B,qBAAqB,CAAC;AACnG,MAAM,CAAC,MAAM,+BAA+B,GAA6B,eAAe,CAAC;AACzF,MAAM,CAAC,MAAM,8BAA8B,GAA4B,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAoB,OAAO,CAAC;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAW,CAAC"}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
import type { TestRetryPolicy } from '../engine/retry-policy.ts';
|
|
2
|
-
import type { ResourceOwnershipPlan } from './resource-ownership-plan.ts';
|
|
3
2
|
export type RetryArtifactPolicy = 'all' | 'first-failure-and-final' | 'last-failure-and-final';
|
|
4
3
|
export type IntegrationRetryPolicy = TestRetryPolicy & {
|
|
5
4
|
readonly artifacts: RetryArtifactPolicy;
|
|
6
5
|
};
|
|
7
|
-
export type RunExecutionResourceOwnershipPlan = ResourceOwnershipPlan;
|
|
8
6
|
type Either<First, Second> = First | Second;
|
|
9
|
-
export type
|
|
7
|
+
export type MicrotestExecutionShape<MaxConcurrency, ProcessModel, Scheduling> = {
|
|
10
8
|
readonly maxConcurrency: MaxConcurrency;
|
|
11
9
|
readonly processModel: ProcessModel;
|
|
12
10
|
readonly scheduling: Scheduling;
|
|
13
11
|
};
|
|
14
|
-
type
|
|
12
|
+
type SupervisedIntegrationExecution<MaxConcurrency, Scheduling> = {
|
|
15
13
|
readonly maxConcurrency: MaxConcurrency;
|
|
16
14
|
readonly processModel: 'supervised-process';
|
|
17
15
|
readonly scheduling: Scheduling;
|
|
18
16
|
};
|
|
19
|
-
type
|
|
17
|
+
type WorkerPoolExecution<AssignmentPolicy, DispatchPolicy, HedgingPolicy, HostProcess, MaxConcurrency, Scheduling, WorkerLifecycle, WorkDistribution> = {
|
|
20
18
|
readonly assignmentPolicy: AssignmentPolicy;
|
|
21
19
|
readonly dispatchPolicy: DispatchPolicy;
|
|
22
20
|
readonly hedging: HedgingPolicy;
|
|
@@ -28,6 +26,6 @@ type RunWorkerPoolExecution<AssignmentPolicy, DispatchPolicy, HedgingPolicy, Hos
|
|
|
28
26
|
readonly workerLifecycle: WorkerLifecycle;
|
|
29
27
|
readonly workDistribution: WorkDistribution;
|
|
30
28
|
};
|
|
31
|
-
export type
|
|
29
|
+
export type IntegrationExecutionShape<AssignmentPolicy, DispatchPolicy, HedgingPolicy, HostProcess, MaxConcurrency, Scheduling, WorkerLifecycle, WorkDistribution> = Either<SupervisedIntegrationExecution<MaxConcurrency, Scheduling>, WorkerPoolExecution<AssignmentPolicy, DispatchPolicy, HedgingPolicy, HostProcess, MaxConcurrency, Scheduling, WorkerLifecycle, WorkDistribution>>;
|
|
32
30
|
export {};
|
|
33
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../../source/config/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,yBAAyB,GAAG,wBAAwB,CAAC;AAC/F,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CAAE,CAAC;AAEpG,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,uBAAuB,CAAC,cAAc,EAAE,YAAY,EAAE,UAAU,IAAI;IAC5E,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACnC,CAAC;AAEF,KAAK,8BAA8B,CAAC,cAAc,EAAE,UAAU,IAAI;IAC9D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACnC,CAAC;AAEF,KAAK,mBAAmB,CACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,IAChB;IACA,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACjC,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,IAChB,MAAM,CACN,8BAA8B,CAAC,cAAc,EAAE,UAAU,CAAC,EAC1D,mBAAmB,CACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,CACnB,CACJ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ConfigError } from "./config-error.js";
|
|
2
|
+
const deniedNodeArgumentNames = new Set([
|
|
3
|
+
'--env-file',
|
|
4
|
+
'--eval',
|
|
5
|
+
'--experimental-loader',
|
|
6
|
+
'--import',
|
|
7
|
+
'--loader',
|
|
8
|
+
'--print',
|
|
9
|
+
'--require',
|
|
10
|
+
'--run',
|
|
11
|
+
'--test',
|
|
12
|
+
'--watch'
|
|
13
|
+
]);
|
|
14
|
+
function nodeArgumentName(argument) {
|
|
15
|
+
const assignmentIndex = argument.indexOf('=');
|
|
16
|
+
return assignmentIndex === -1 ? argument : argument.slice(0, assignmentIndex);
|
|
17
|
+
}
|
|
18
|
+
function validateNodeArgument(argument) {
|
|
19
|
+
if (argument.length === 0) {
|
|
20
|
+
throw new ConfigError('Host process Node argument must not be empty.');
|
|
21
|
+
}
|
|
22
|
+
if (argument.includes('\n') || argument.includes('\0')) {
|
|
23
|
+
throw new ConfigError('Host process Node argument must stay on one command-line token.');
|
|
24
|
+
}
|
|
25
|
+
if (!argument.startsWith('--')) {
|
|
26
|
+
throw new ConfigError(`Host process Node argument must use long-form syntax: ${argument}`);
|
|
27
|
+
}
|
|
28
|
+
const argumentName = nodeArgumentName(argument);
|
|
29
|
+
if (deniedNodeArgumentNames.has(argumentName)) {
|
|
30
|
+
throw new ConfigError(`Host process Node argument is not supported: ${argumentName}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function validateHostProcess(hostProcess) {
|
|
34
|
+
if (hostProcess.kind === 'direct') {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
for (const argument of hostProcess.nodeArguments) {
|
|
38
|
+
validateNodeArgument(argument);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=host-process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-process.js","sourceRoot":"","sources":["../../../../source/config/host-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACpC,YAAY;IACZ,QAAQ;IACR,uBAAuB;IACvB,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,OAAO;IACP,QAAQ;IACR,SAAS;CACZ,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,QAAgB;IACtC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,WAAW,CAAC,iEAAiE,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,yDAAyD,QAAQ,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,WAAW,CAAC,gDAAgD,YAAY,EAAE,CAAC,CAAC;IAC1F,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IACxD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;IACX,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAC/C,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
function isPerformanceBaselineAdapter(value) {
|
|
3
|
+
if (typeof value !== 'object' || value === null) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const id = Reflect.get(value, 'id');
|
|
7
|
+
return typeof id === 'string' && id.trim().length > 0 &&
|
|
8
|
+
['observe', 'propose', 'compare'].every(function adapterMethod(method) {
|
|
9
|
+
return typeof Reflect.get(value, method) === 'function';
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export const performanceBaselinePolicySchema = z
|
|
13
|
+
.strictObject({
|
|
14
|
+
adapters: z.array(z.custom(isPerformanceBaselineAdapter)).readonly(),
|
|
15
|
+
directory: z.string().trim().min(1)
|
|
16
|
+
})
|
|
17
|
+
.refine(function uniqueAdapterIds(policy) {
|
|
18
|
+
const ids = new Set(policy.adapters.map(function adapterId(adapter) {
|
|
19
|
+
return adapter.id.normalize('NFC');
|
|
20
|
+
}));
|
|
21
|
+
return ids.size === policy.adapters.length;
|
|
22
|
+
}, 'Performance baseline adapter IDs must be unique.')
|
|
23
|
+
.readonly();
|
|
24
|
+
//# sourceMappingURL=performance-baselines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-baselines.js","sourceRoot":"","sources":["../../../../source/config/performance-baselines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,SAAS,4BAA4B,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACjD,CAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAE,CAAC,KAAK,CAAC,SAAS,aAAa,CAAC,MAAM;YACnE,OAAO,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,UAAU,CAAC;QAC5D,CAAC,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAgE,CAAC;KACxG,YAAY,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAA6B,4BAA4B,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACtC,CAAC;KACD,MAAM,CAAC,SAAS,gBAAgB,CAAC,MAAM;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO;QAC9D,OAAO,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC/C,CAAC,EAAE,kDAAkD,CAAC;KACrD,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
import { invalidProfileFileGlobMessage, invalidProfileFileSetNameMessage } from "./profile-patterns.js";
|
|
3
|
+
export class ProfileFileDiscoveryError extends Error {
|
|
4
|
+
failureReason;
|
|
5
|
+
constructor(message, options, reason) {
|
|
6
|
+
super(message, options);
|
|
7
|
+
this.name = 'ProfileFileDiscoveryError';
|
|
8
|
+
this.failureReason = reason;
|
|
9
|
+
}
|
|
10
|
+
reason() {
|
|
11
|
+
return this.failureReason;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function validatePatterns(files, fieldPrefix) {
|
|
15
|
+
const fields = ['include', 'exclude'];
|
|
16
|
+
for (const field of fields) {
|
|
17
|
+
const patterns = files[field];
|
|
18
|
+
for (const pattern of patterns) {
|
|
19
|
+
const message = invalidProfileFileGlobMessage(`${fieldPrefix}${field}`, pattern);
|
|
20
|
+
if (message !== null) {
|
|
21
|
+
throw new ProfileFileDiscoveryError(message, undefined, 'invalid-policy');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function validateSets(sets) {
|
|
27
|
+
const entries = Object.entries(sets);
|
|
28
|
+
if (entries.length === 0) {
|
|
29
|
+
throw new ProfileFileDiscoveryError('Invalid profile files.sets: at least one file set is required.', undefined, 'invalid-policy');
|
|
30
|
+
}
|
|
31
|
+
for (const [name, set] of entries) {
|
|
32
|
+
const message = invalidProfileFileSetNameMessage(name);
|
|
33
|
+
if (message !== null) {
|
|
34
|
+
throw new ProfileFileDiscoveryError(message, undefined, 'invalid-policy');
|
|
35
|
+
}
|
|
36
|
+
validatePatterns(set, `sets.${name}.`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function validateFiles(files) {
|
|
40
|
+
if (files.sets === undefined) {
|
|
41
|
+
validatePatterns(files, '');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
validateSets(files.sets);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async function discoverPatterns(cwd, files, fileSet, dependencies) {
|
|
48
|
+
const discovered = new Map();
|
|
49
|
+
const matches = dependencies.glob(files.include, { cwd, exclude: files.exclude, followSymlinks: false });
|
|
50
|
+
for await (const match of matches) {
|
|
51
|
+
const path = await dependencies.realpath(resolve(cwd, match));
|
|
52
|
+
const stats = await dependencies.stat(path);
|
|
53
|
+
if (stats.isFile()) {
|
|
54
|
+
discovered.set(path, { path, fileSet });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return Array.from(discovered.values()).toSorted(function compareProfileFiles(first, second) {
|
|
58
|
+
return first.path.localeCompare(second.path);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function validateSetOwnership(files) {
|
|
62
|
+
const owners = new Map();
|
|
63
|
+
for (const file of files) {
|
|
64
|
+
if (owners.has(file.path)) {
|
|
65
|
+
throw new ProfileFileDiscoveryError(`Profile file sets must not overlap: ${file.path} matched ${owners.get(file.path)} and ${file.fileSet}.`, undefined, 'overlap');
|
|
66
|
+
}
|
|
67
|
+
owners.set(file.path, file.fileSet);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export async function discoverProfileFiles(request, dependencies) {
|
|
71
|
+
validateFiles(request.files);
|
|
72
|
+
if (request.files.sets === undefined) {
|
|
73
|
+
return await discoverPatterns(request.cwd, request.files, null, dependencies);
|
|
74
|
+
}
|
|
75
|
+
const sets = await Promise.all(Object.entries(request.files.sets).map(async function discoverSet([name, files]) {
|
|
76
|
+
const matches = await discoverPatterns(request.cwd, files, name, dependencies);
|
|
77
|
+
if (matches.length === 0) {
|
|
78
|
+
throw new ProfileFileDiscoveryError(`Profile files.sets.${name} matched no test files.`, undefined, 'empty-set');
|
|
79
|
+
}
|
|
80
|
+
return matches;
|
|
81
|
+
}));
|
|
82
|
+
const files = sets.flat();
|
|
83
|
+
validateSetOwnership(files);
|
|
84
|
+
return files.toSorted(function compareProfileFiles(first, second) {
|
|
85
|
+
return first.path.localeCompare(second.path);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=profile-file-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-file-discovery.js","sourceRoot":"","sources":["../../../../source/config/profile-file-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { invalidProfileFileGlobConfigMessage,
|
|
3
|
-
import { defaultCoveragePolicy, defaultWorkDistribution } from "./
|
|
4
|
-
import {
|
|
5
|
-
import { invalidWorkDistributionConfigMessage, normalizeWorkDistribution } from "./work-distribution
|
|
2
|
+
import { invalidProfileFileGlobConfigMessage, invalidProfileFileSetNameMessage, invalidProfileNameMessage } from "./profile-patterns.js";
|
|
3
|
+
import { defaultCoveragePolicy, defaultWorkDistribution } from "./defaults.js";
|
|
4
|
+
import { ConfigError } from "./config-error.js";
|
|
5
|
+
import { invalidWorkDistributionConfigMessage, normalizeWorkDistribution } from "./work-distribution.js";
|
|
6
6
|
function assertValidProfileGlob(field, pattern) {
|
|
7
7
|
const message = invalidProfileFileGlobConfigMessage(field, pattern);
|
|
8
8
|
if (message !== null) {
|
|
9
|
-
throw new
|
|
9
|
+
throw new ConfigError(message);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
function normalizeCoverageOutputs(outputs) {
|
|
@@ -54,7 +54,7 @@ function normalizeCoverageOutputDirectory(outputDirectory, configPath) {
|
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
if (configPath === null) {
|
|
57
|
-
throw new
|
|
57
|
+
throw new ConfigError('Coverage outputDir requires a loaded config file.');
|
|
58
58
|
}
|
|
59
59
|
return path.isAbsolute(outputDirectory)
|
|
60
60
|
? path.resolve(outputDirectory)
|
|
@@ -85,15 +85,15 @@ function normalizeProfileFilePatterns(files, fieldPrefix) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
function assertValidProfileFileSetName(name) {
|
|
88
|
-
const message =
|
|
88
|
+
const message = invalidProfileFileSetNameMessage(name);
|
|
89
89
|
if (message !== null) {
|
|
90
|
-
throw new
|
|
90
|
+
throw new ConfigError(message);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
function normalizeProfileFileSets(files) {
|
|
94
94
|
const entries = Object.entries(files.sets);
|
|
95
95
|
if (entries.length === 0) {
|
|
96
|
-
throw new
|
|
96
|
+
throw new ConfigError('Invalid profile files.sets: at least one file set is required.');
|
|
97
97
|
}
|
|
98
98
|
return {
|
|
99
99
|
sets: Object.fromEntries(entries.map(function normalizeProfileFileSet([name, set]) {
|
|
@@ -119,18 +119,18 @@ export function normalizeRequiredProfileFiles(files) {
|
|
|
119
119
|
: normalizeProfileFilePatterns(files, null);
|
|
120
120
|
}
|
|
121
121
|
export function assertValidProfileName(profileName) {
|
|
122
|
-
const message =
|
|
122
|
+
const message = invalidProfileNameMessage(profileName);
|
|
123
123
|
if (message !== null) {
|
|
124
|
-
throw new
|
|
124
|
+
throw new ConfigError(message);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
export function assertValidWorkDistribution(execution, files) {
|
|
128
128
|
const message = invalidWorkDistributionConfigMessage(execution, files);
|
|
129
129
|
if (message !== null) {
|
|
130
|
-
throw new
|
|
130
|
+
throw new ConfigError(message);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
export function normalizedWorkDistribution(execution) {
|
|
134
134
|
return normalizeWorkDistribution(execution, defaultWorkDistribution);
|
|
135
135
|
}
|
|
136
|
-
//# sourceMappingURL=profile-
|
|
136
|
+
//# sourceMappingURL=profile-normalization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-normalization.js","sourceRoot":"","sources":["../../../../source/config/profile-normalization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { isAbsolute } from 'node:path';
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!runProfileNamePattern.test(profileName)) {
|
|
2
|
+
const profileNamePattern = /^[A-Za-z0-9._-]+$/u;
|
|
3
|
+
export function invalidProfileNameMessage(profileName) {
|
|
4
|
+
if (!profileNamePattern.test(profileName)) {
|
|
6
5
|
return `Invalid profile name "${profileName}". ` +
|
|
7
6
|
'Profile names may only contain letters, numbers, dots, underscores, and hyphens.';
|
|
8
7
|
}
|
|
9
|
-
if (profileName === reservedBenchmarkProfileName) {
|
|
10
|
-
return 'Invalid profile name "benchmark". The "benchmark" profile name is reserved for benchmark commands.';
|
|
11
|
-
}
|
|
12
8
|
return null;
|
|
13
9
|
}
|
|
14
|
-
export function
|
|
15
|
-
return
|
|
10
|
+
export function invalidProfileFileSetNameMessage(fileSetName) {
|
|
11
|
+
return profileNamePattern.test(fileSetName)
|
|
16
12
|
? null
|
|
17
13
|
: `Invalid profile file set name "${fileSetName}". ` +
|
|
18
14
|
'Profile file set names may only contain letters, numbers, dots, underscores, and hyphens.';
|
|
@@ -43,4 +39,4 @@ export function invalidProfileFileGlobConfigMessage(field, pattern) {
|
|
|
43
39
|
const message = invalidProfileFileGlobMessage(field, pattern);
|
|
44
40
|
return message === null ? null : configMessage(message);
|
|
45
41
|
}
|
|
46
|
-
//# sourceMappingURL=profile-
|
|
42
|
+
//# sourceMappingURL=profile-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-patterns.js","sourceRoot":"","sources":["../../../../source/config/profile-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IACzD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,yBAAyB,WAAW,KAAK;YAC5C,kFAAkF,CAAC;IAC3F,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,WAAmB;IAChE,OAAO,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,kCAAkC,WAAW,KAAK;YAChD,2FAA2F,CAAC;AACxG,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACjC,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IAClC,OAAO,WAAW,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAa,EAAE,OAAe;IACxE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEtC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,iBAAiB,KAAK,kCAAkC,CAAC;IACpE,CAAC;IAED,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,iBAAiB,KAAK,2CAA2C,CAAC;IAC7E,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,iBAAiB,KAAK,wCAAwC,CAAC;IAC1E,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,iBAAiB,KAAK,iDAAiD,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,KAAa,EAAE,OAAe;IAC9E,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE9D,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC"}
|