@systemfsoftware/stryker-js 16.0.0 → 16.0.1
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/CHANGELOG.md +10 -0
- package/dist/index.mjs +1 -1
- package/dist/main.mjs +155 -85
- package/dist/promises.mjs +1 -1
- package/dist/{run-stages-k4L7ymmp.mjs → run-stages-DYuRm353.mjs} +13 -3
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @systemfsoftware/stryker-js
|
|
2
2
|
|
|
3
|
+
## 16.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- A shard run keeps going when one of its projects scores under `thresholds.break` over the shard's mutants. It runs the remaining projects, exits 0, and notes that the merged report carries the project verdict. A shard fails only when a project fails for a real reason: another exit code, or no progress stream. Its error names the project, the exit code and the tail of that project's error output.
|
|
8
|
+
|
|
9
|
+
Every non-zero exit now says why in human mode. One final stderr line names the exit code, its class (`VerdictFail`, `ConfigError`, `RuntimeError`, `InternalError`) and the failure with its remediation. A rejected survivor check and a refused re-run no longer print it twice.
|
|
10
|
+
|
|
11
|
+
A config file that throws while loading now reports the thrown error instead of `Failed to read config`.
|
|
12
|
+
|
|
3
13
|
## 16.0.0
|
|
4
14
|
|
|
5
15
|
### Major Changes
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
|
|
2
2
|
import { i as Mutant_exports, l as Report_exports, n as mergeConfigs } from "./merge-config-BYhhPA7r.mjs";
|
|
3
|
-
import { $ as WorkerLauncher, A as classifyWorkerExit, At as OutOfMemoryError, B as SurvivorRef, C as nodePlatformLayer, Ct as MergeResult, D as git_diff_schema_exports, Dt as survivorsPriorReport, E as git_diff_service_exports, Et as forkOptionsSchema, F as readConfig, Ft as CheckerAnsweredUnrequested, G as generateRunId, H as RunEvents, I as RunEnvironment, It as CheckerSkippedRequested, J as metricsResultFromFiles, K as VerdictEnvelope, L as IdGenerator, M as loadConfigCell, Mt as OutputMode_exports, N as describeErrors, Nt as RunEvent_exports$1, O as ClassifyWorkerExitCommand, Ot as checkGroupedPlans, P as forkCoreSchema, Pt as SpanTaxonomy_exports, Q as makeWorkerClient, R as surfacedSurvivorsOf, S as IncrementalReportSchema, St as MergeCommand, T as GitDiff, Tt as extendsPropertySchema, U as RunIdentity, V as StrykerPackage, W as buildVerdictEnvelope, X as reporterWorkerFactory, Y as MetricsResultFromReport, Z as spawnReporterWorker, _ as isCommandRunner, _t as defaultOptions, a as MachineConsole, at as initialExtendsStepState, b as readProjectCell, bt as ExtendsStepStateSchema, c as prepareCell, ct as ExtendsStepRead, d as buildTestRunner, dt as ConfigError, et as make, f as makeChildProcessTestRunner, ft as ConfigFileInvalidError, g as vmTestRunnerConfig, gt as createDefaultOptions, h as vmRunnerPluginUrl, ht as ConfigFileUnsupportedError, i as makeRunEventStream, it as importModule, j as validateOptions, jt as WorkerBootTimeoutError, k as ClassifyWorkerExitDecision, kt as ChildProcessCrashedError, l as mutantDetailEventsOf, lt as ExtendsStepRefused, m as testRunnerConfigOf, mt as ConfigFileUnreadableError, n as RunEventDrain, nt as FileMatcher, o as HtmlReporter_exports, ot as StrykerError, p as isVmRunner, pt as ConfigFileNotFoundError, q as staticVerdictOf, r as RunEventDrainLive, rt as decideExtendsStep, s as mutationTestCell, st as ExtendsStepDone, t as strykerCell, tt as ReproducerSchema, u as instrumentCell, ut as ExtendsStepResolve, v as import_closure_cell_exports, vt as ConfigDocumentSchema, w as layerWorkerProtocol, wt as ReadConfigCommand, x as concurrencyCell, xt as ImportedModuleSchema, y as relativeNormalizedFileName, yt as ExtendsStepDocumentSchema, z as SurfacingFields } from "./run-stages-
|
|
3
|
+
import { $ as WorkerLauncher, A as classifyWorkerExit, At as OutOfMemoryError, B as SurvivorRef, C as nodePlatformLayer, Ct as MergeResult, D as git_diff_schema_exports, Dt as survivorsPriorReport, E as git_diff_service_exports, Et as forkOptionsSchema, F as readConfig, Ft as CheckerAnsweredUnrequested, G as generateRunId, H as RunEvents, I as RunEnvironment, It as CheckerSkippedRequested, J as metricsResultFromFiles, K as VerdictEnvelope, L as IdGenerator, M as loadConfigCell, Mt as OutputMode_exports, N as describeErrors, Nt as RunEvent_exports$1, O as ClassifyWorkerExitCommand, Ot as checkGroupedPlans, P as forkCoreSchema, Pt as SpanTaxonomy_exports, Q as makeWorkerClient, R as surfacedSurvivorsOf, S as IncrementalReportSchema, St as MergeCommand, T as GitDiff, Tt as extendsPropertySchema, U as RunIdentity, V as StrykerPackage, W as buildVerdictEnvelope, X as reporterWorkerFactory, Y as MetricsResultFromReport, Z as spawnReporterWorker, _ as isCommandRunner, _t as defaultOptions, a as MachineConsole, at as initialExtendsStepState, b as readProjectCell, bt as ExtendsStepStateSchema, c as prepareCell, ct as ExtendsStepRead, d as buildTestRunner, dt as ConfigError, et as make, f as makeChildProcessTestRunner, ft as ConfigFileInvalidError, g as vmTestRunnerConfig, gt as createDefaultOptions, h as vmRunnerPluginUrl, ht as ConfigFileUnsupportedError, i as makeRunEventStream, it as importModule, j as validateOptions, jt as WorkerBootTimeoutError, k as ClassifyWorkerExitDecision, kt as ChildProcessCrashedError, l as mutantDetailEventsOf, lt as ExtendsStepRefused, m as testRunnerConfigOf, mt as ConfigFileUnreadableError, n as RunEventDrain, nt as FileMatcher, o as HtmlReporter_exports, ot as StrykerError, p as isVmRunner, pt as ConfigFileNotFoundError, q as staticVerdictOf, r as RunEventDrainLive, rt as decideExtendsStep, s as mutationTestCell, st as ExtendsStepDone, t as strykerCell, tt as ReproducerSchema, u as instrumentCell, ut as ExtendsStepResolve, v as import_closure_cell_exports, vt as ConfigDocumentSchema, w as layerWorkerProtocol, wt as ReadConfigCommand, x as concurrencyCell, xt as ImportedModuleSchema, y as relativeNormalizedFileName, yt as ExtendsStepDocumentSchema, z as SurfacingFields } from "./run-stages-DYuRm353.mjs";
|
|
4
4
|
import { n as StageError } from "./Run.schema-DuaneDGd.mjs";
|
|
5
5
|
import { Cell, Sandwich, Workflow } from "@systemfsoftware/effect-cell-types";
|
|
6
6
|
import * as S from "effect/Schema";
|
package/dist/main.mjs
CHANGED
|
@@ -71540,7 +71540,7 @@ var ErrorText = class extends Class("ErrorText")({ text: NonEmptyString }) {};
|
|
|
71540
71540
|
var CauseText = class extends Class("CauseText")({ text: NonEmptyString }) {};
|
|
71541
71541
|
const nonEmptyText$2 = liftPredicate(is$2(NonEmptyString));
|
|
71542
71542
|
const errorTextOf$2 = (cause) => flatMap$9(nonEmptyText$2(errorTextValueOf(cause)), (text) => ErrorText.makeOption({ text }));
|
|
71543
|
-
const causeTextOf$
|
|
71543
|
+
const causeTextOf$2 = (cause) => flatMap$9(nonEmptyText$2(causeChainTextOf(cause)), (text) => CauseText.makeOption({ text }));
|
|
71544
71544
|
function errorTextValueOf(error) {
|
|
71545
71545
|
return value(error).pipe(when(isEmptyError, () => ""), when(instanceOf(Error), errorText), orElse$1(() => stringifyNonError(error)));
|
|
71546
71546
|
}
|
|
@@ -71621,7 +71621,7 @@ function objectCauseTextOf(cause, depth) {
|
|
|
71621
71621
|
var ErrorText_exports = /* @__PURE__ */ __exportAll$2({
|
|
71622
71622
|
CauseText: () => CauseText,
|
|
71623
71623
|
ErrorText: () => ErrorText,
|
|
71624
|
-
causeTextOf: () => causeTextOf$
|
|
71624
|
+
causeTextOf: () => causeTextOf$2,
|
|
71625
71625
|
errorTextOf: () => errorTextOf$2
|
|
71626
71626
|
});
|
|
71627
71627
|
const MutatorNameSchema = String$7.pipe(check$2(isPattern(/^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*\/)?[a-zA-Z][a-zA-Z0-9]*(?: [a-zA-Z][a-zA-Z0-9]*)*$/u)));
|
|
@@ -76666,7 +76666,7 @@ const makeHtmlReporter = dual(2, (options, _init) => (events) => build(nodeFsPat
|
|
|
76666
76666
|
var HtmlReporter_exports = /* @__PURE__ */ __exportAll$3({ makeHtmlReporter: () => makeHtmlReporter });
|
|
76667
76667
|
//#endregion
|
|
76668
76668
|
//#region package.json
|
|
76669
|
-
var version = "16.0.
|
|
76669
|
+
var version = "16.0.1";
|
|
76670
76670
|
//#endregion
|
|
76671
76671
|
//#region ../../node_modules/.pnpm/effect@4.0.0/node_modules/effect/dist/cli/CliOutput.js
|
|
76672
76672
|
/**
|
|
@@ -83307,7 +83307,7 @@ const refusedOutcome = (observation) => RunRefused.make({
|
|
|
83307
83307
|
rule: observation.rule,
|
|
83308
83308
|
message: observation.message
|
|
83309
83309
|
});
|
|
83310
|
-
const decide$
|
|
83310
|
+
const decide$30 = (command) => value(command.observation).pipe(tag("RunSucceededClean", () => succeed$10(succeededCleanOutcome())), tag("RunSucceededVerdict", (observation) => succeed$10(succeededVerdictOutcome(observation))), tag("RunInterruptedObservation", () => fail$8(RunInterrupted.make({ code: 130 }))), tag("RunHelpObservation", (observation) => succeed$10(helpOutcome(observation))), tag("RunCliErrorObservation", (observation) => succeed$10(cliErrorOutcome(observation))), tag("RunSurvivorsRejectedObservation", (observation) => succeed$10(survivorsRejectedOutcome(observation))), tag("RunSchemaErrorObservation", (observation) => succeed$10(schemaErrorOutcome(observation))), tag("RunClassedObservation", (observation) => succeed$10(classedOutcome(observation))), tag("RunGenericFailureObservation", (observation) => succeed$10(genericFailureOutcome(observation))), tag("RunRefusedObservation", (observation) => succeed$10(refusedOutcome(observation))), exhaustive);
|
|
83311
83311
|
const classifyRunOutcome = Workflow_exports.make({
|
|
83312
83312
|
command: RunOutcomeCommand,
|
|
83313
83313
|
decision: Union([
|
|
@@ -83319,7 +83319,7 @@ const classifyRunOutcome = Workflow_exports.make({
|
|
|
83319
83319
|
RunFailed
|
|
83320
83320
|
]),
|
|
83321
83321
|
error: RunInterrupted,
|
|
83322
|
-
decide: decide$
|
|
83322
|
+
decide: decide$30
|
|
83323
83323
|
});
|
|
83324
83324
|
//#endregion
|
|
83325
83325
|
//#region src/plan-run-conclusion.workflow.ts
|
|
@@ -83367,7 +83367,11 @@ var RunConclusionEmittedFailed = class extends TaggedClass()("RunConclusionEmitt
|
|
|
83367
83367
|
var RunConclusionQuietOk = class extends TaggedClass()("RunConclusionQuietOk", {}) {
|
|
83368
83368
|
[PlanRunConclusionTypeId] = PlanRunConclusionTypeId;
|
|
83369
83369
|
};
|
|
83370
|
-
var RunConclusionQuietFailed = class extends TaggedClass()("RunConclusionQuietFailed", {
|
|
83370
|
+
var RunConclusionQuietFailed = class extends TaggedClass()("RunConclusionQuietFailed", {
|
|
83371
|
+
exitCode: Plugin_exports.ExitCode,
|
|
83372
|
+
exitClass: Union([Plugin_exports.ExitClass, RunOutcomeTag]),
|
|
83373
|
+
error: String$7
|
|
83374
|
+
}) {
|
|
83371
83375
|
[PlanRunConclusionTypeId] = PlanRunConclusionTypeId;
|
|
83372
83376
|
};
|
|
83373
83377
|
const PlanRunConclusionDecision = Union([
|
|
@@ -83383,11 +83387,18 @@ const emittedOf = (command) => match$1(command.exitCode === 0, {
|
|
|
83383
83387
|
exitCode: command.exitCode
|
|
83384
83388
|
})
|
|
83385
83389
|
});
|
|
83390
|
+
const BASELINE_CLASSES = filterMap$3(Plugin_exports.ExitClass.literals, (exitClass) => fromOption$2(map$13(decodeOption(Plugin_exports.ExitCodeFromClass)(exitClass), (code) => [code, exitClass]), () => exitClass));
|
|
83391
|
+
const baselineClassOf = (exitCode) => map$13(findFirst(BASELINE_CLASSES, ([code]) => code === exitCode), ([, exitClass]) => exitClass);
|
|
83392
|
+
const exitClassNameOf = (command) => getOrElse$1(baselineClassOf(command.exitCode), () => command.outcome);
|
|
83386
83393
|
const quietOf = (command) => match$1(command.exitCode === 0, {
|
|
83387
83394
|
onTrue: () => RunConclusionQuietOk.make({}),
|
|
83388
|
-
onFalse: () => RunConclusionQuietFailed.make({
|
|
83395
|
+
onFalse: () => RunConclusionQuietFailed.make({
|
|
83396
|
+
exitCode: command.exitCode,
|
|
83397
|
+
exitClass: exitClassNameOf(command),
|
|
83398
|
+
error: command.error
|
|
83399
|
+
})
|
|
83389
83400
|
});
|
|
83390
|
-
const decide$
|
|
83401
|
+
const decide$29 = (command) => succeed$10(match$1(command.machine, {
|
|
83391
83402
|
onTrue: () => emittedOf(command),
|
|
83392
83403
|
onFalse: () => quietOf(command)
|
|
83393
83404
|
}));
|
|
@@ -83395,7 +83406,7 @@ const planRunConclusion = Workflow_exports.make({
|
|
|
83395
83406
|
command: PlanRunConclusionCommand,
|
|
83396
83407
|
decision: PlanRunConclusionDecision,
|
|
83397
83408
|
error: Never,
|
|
83398
|
-
decide: decide$
|
|
83409
|
+
decide: decide$29
|
|
83399
83410
|
});
|
|
83400
83411
|
//#endregion
|
|
83401
83412
|
//#region src/reporting/run-failure.schema.ts
|
|
@@ -83422,7 +83433,7 @@ const exitCodeOf = (outcome) => value(outcome).pipe(tag("RunOk", () => 0), tag("
|
|
|
83422
83433
|
const nonEmptyText$1 = liftPredicate(is$2(NonEmptyString));
|
|
83423
83434
|
const capturedOrUnknown = (captured) => getOrElse$1(nonEmptyText$1(captured), () => UNKNOWN_FAILURE$1);
|
|
83424
83435
|
const capturedThenRecorded = (captured, recorded) => getOrElse$1(nonEmptyText$1(captured), () => getOrElse$1(fromNullishOr(recorded), () => UNKNOWN_FAILURE$1));
|
|
83425
|
-
const failureTextOf = (error, captured) => value(error).pipe(tag("RunParseFailed", (failed) => getOrElse$1(map$13(fromNullishOr(failed.unrecognized), (value) => `Received unknown argument: '${value}'`), () => capturedOrUnknown(captured))), tag("RunSurvivorsRejected", (failed) => getOrElse$1(fromNullishOr(failed.diagnostic), () => UNKNOWN_FAILURE$1)), tag("RunInterrupted", () => capturedOrUnknown(captured)), tag("RunConfigFailed", (failed) => capturedThenRecorded(captured, failed.detail)), tag("RunRefused", (failed) => failed.message), tag("RunFailed", (failed) => capturedThenRecorded(captured, failed.diagnostic)), exhaustive);
|
|
83436
|
+
const failureTextOf$1 = (error, captured) => value(error).pipe(tag("RunParseFailed", (failed) => getOrElse$1(map$13(fromNullishOr(failed.unrecognized), (value) => `Received unknown argument: '${value}'`), () => capturedOrUnknown(captured))), tag("RunSurvivorsRejected", (failed) => getOrElse$1(fromNullishOr(failed.diagnostic), () => UNKNOWN_FAILURE$1)), tag("RunInterrupted", () => capturedOrUnknown(captured)), tag("RunConfigFailed", (failed) => capturedThenRecorded(captured, failed.detail)), tag("RunRefused", (failed) => failed.message), tag("RunFailed", (failed) => capturedThenRecorded(captured, failed.diagnostic)), exhaustive);
|
|
83426
83437
|
const remediationTextOf$1 = (error) => value(error).pipe(tag("RunInterrupted", () => SIGNAL_REMEDIATION), tag("RunParseFailed", () => PARSE_REMEDIATION), tag("RunSurvivorsRejected", (failed) => getOrElse$1(fromNullishOr(failed.diagnostic), () => DEFAULT_REMEDIATION)), tag("RunConfigFailed", (failed) => match$8(fromNullishOr(failed.detail), {
|
|
83427
83438
|
onSome: (detail) => `check the config file: ${detail}`,
|
|
83428
83439
|
onNone: () => "check the config file"
|
|
@@ -83430,7 +83441,7 @@ const remediationTextOf$1 = (error) => value(error).pipe(tag("RunInterrupted", (
|
|
|
83430
83441
|
const errorEnvelopeFromOutcome = (input) => ErrorEnvelope.make({
|
|
83431
83442
|
schemaVersion: RunEvent_exports.StreamSchemaVersion.literal,
|
|
83432
83443
|
code: exitCodeOf(input.error),
|
|
83433
|
-
error: failureTextOf(input.error, input.captured),
|
|
83444
|
+
error: failureTextOf$1(input.error, input.captured),
|
|
83434
83445
|
remediation: remediationTextOf$1(input.error)
|
|
83435
83446
|
});
|
|
83436
83447
|
const runExitCodeFromOutcome = (outcome) => RunExitCode.make({ code: exitCodeOf(outcome) });
|
|
@@ -83469,6 +83480,7 @@ const readConclusion = fn(SpanTaxonomy_exports.Spans.runConclusionRead.name)(fun
|
|
|
83469
83480
|
conclusion: input
|
|
83470
83481
|
};
|
|
83471
83482
|
});
|
|
83483
|
+
const writeStderrLine = (line) => flatMap$4(Stdio, (stdio) => run$4(succeed$3(`${line}\n`), stdio.stderr({ endOnDone: false })).pipe(ignore$1));
|
|
83472
83484
|
const concludeRunCell = Sandwich_exports.named(SpanTaxonomy_exports.Spans.runConclude.name)(readConclusion).decide(planRunConclusion).write({
|
|
83473
83485
|
RunConclusionEmittedOk: (_decision, raw) => andThen$1(raw.conclusion.runEvents.emitMachineModeOutput({
|
|
83474
83486
|
stream: raw.conclusion.stream,
|
|
@@ -83485,7 +83497,7 @@ const concludeRunCell = Sandwich_exports.named(SpanTaxonomy_exports.Spans.runCon
|
|
|
83485
83497
|
pathService: raw.conclusion.pathService
|
|
83486
83498
|
}), andThen$1(raw.conclusion.stream.closeAndDrain, fail$4(RunExit.make({ code: decision.exitCode })))),
|
|
83487
83499
|
RunConclusionQuietOk: (_decision, raw) => andThen$1(raw.conclusion.stream.closeAndDrain, void_$1),
|
|
83488
|
-
RunConclusionQuietFailed: (decision, raw) => andThen$1(raw.conclusion.stream.closeAndDrain, fail$4(RunExit.make({ code: decision.exitCode }))),
|
|
83500
|
+
RunConclusionQuietFailed: (decision, raw) => andThen$1(raw.conclusion.stream.closeAndDrain, andThen$1(writeStderrLine(`exit ${decision.exitCode} (${decision.exitClass}): ${decision.error}`), fail$4(RunExit.make({ code: decision.exitCode })))),
|
|
83489
83501
|
CommandRejected: ({ issue }) => fail$4(StrykerError.make({ message: `the run conclusion command was rejected: ${issue}` }))
|
|
83490
83502
|
});
|
|
83491
83503
|
//#endregion
|
|
@@ -83505,7 +83517,7 @@ var LocalMutationRefused = class extends TaggedError()("LocalMutationRefused", {
|
|
|
83505
83517
|
rule: RunEvent_exports.RefusalRule,
|
|
83506
83518
|
message: String$7
|
|
83507
83519
|
}) {};
|
|
83508
|
-
const decide$
|
|
83520
|
+
const decide$28 = (command) => value({
|
|
83509
83521
|
dryRunOnly: command.dryRunOnly,
|
|
83510
83522
|
githubActions: command.githubActions,
|
|
83511
83523
|
allowLocalMutation: command.allowLocalMutation
|
|
@@ -83517,7 +83529,7 @@ const refuseLocalMutation = Workflow_exports.make({
|
|
|
83517
83529
|
command: RefuseLocalMutationCommand,
|
|
83518
83530
|
decision: LocalMutationAllowed,
|
|
83519
83531
|
error: LocalMutationRefused,
|
|
83520
|
-
decide: decide$
|
|
83532
|
+
decide: decide$28
|
|
83521
83533
|
});
|
|
83522
83534
|
//#endregion
|
|
83523
83535
|
//#region src/admit-survivors-run.workflow.ts
|
|
@@ -83645,6 +83657,13 @@ const admitSurvivorsRun = Workflow_exports.make({
|
|
|
83645
83657
|
});
|
|
83646
83658
|
//#endregion
|
|
83647
83659
|
//#region src/ConfigError.schema.ts
|
|
83660
|
+
const CAUSE_DEPTH = 4;
|
|
83661
|
+
const ownMessageOf = (value) => filter$7(map$13(liftPredicate(value, hasProperty("message")), (carrier) => String(carrier.message)), is$2(NonEmptyString));
|
|
83662
|
+
const causeMessagesOf = (value, depth) => depth === 0 ? [] : [...toArray(ownMessageOf(value)), ...match$8(liftPredicate(value, hasProperty("cause")), {
|
|
83663
|
+
onNone: () => [],
|
|
83664
|
+
onSome: (carrier) => causeMessagesOf(carrier.cause, depth - 1)
|
|
83665
|
+
})];
|
|
83666
|
+
const causeTextOf$1 = (cause) => liftPredicate(causeMessagesOf(cause, CAUSE_DEPTH).join(": "), is$2(NonEmptyString));
|
|
83648
83667
|
var ConfigFileNotFoundError = class extends TaggedError()("ConfigFileNotFoundError", { file: String$7 }) {
|
|
83649
83668
|
exitClass = "ConfigError";
|
|
83650
83669
|
get message() {
|
|
@@ -83666,7 +83685,10 @@ var ConfigFileUnreadableError = class extends TaggedError()("ConfigFileUnreadabl
|
|
|
83666
83685
|
}) {
|
|
83667
83686
|
exitClass = "ConfigError";
|
|
83668
83687
|
get message() {
|
|
83669
|
-
return
|
|
83688
|
+
return match$8(causeTextOf$1(this.cause), {
|
|
83689
|
+
onNone: () => `Config file is unreadable: ${this.file}`,
|
|
83690
|
+
onSome: (cause) => `Config file is unreadable: ${this.file}: ${cause}`
|
|
83691
|
+
});
|
|
83670
83692
|
}
|
|
83671
83693
|
};
|
|
83672
83694
|
var ConfigFileInvalidError = class extends TaggedError()("ConfigFileInvalidError", {
|
|
@@ -84574,7 +84596,7 @@ const fileNameOrder = mapInput$2(String$10, (reproducer) => reproducer.fileName)
|
|
|
84574
84596
|
const idOrder$3 = mapInput$2(String$10, (reproducer) => reproducer.id);
|
|
84575
84597
|
const reproducersOf = (report) => sort(flatMap$7(Object.entries(report.files), ([fileName, file]) => map$10(file.mutants, (mutant) => reproducerOf(fileName, file.source, mutant))), combine$2(fileNameOrder, idOrder$3));
|
|
84576
84598
|
const mutantsOf$1 = (report) => flatMap$7(Object.values(report.files), (file) => file.mutants);
|
|
84577
|
-
const decide$
|
|
84599
|
+
const decide$27 = (command) => {
|
|
84578
84600
|
const mutants = mutantsOf$1(command.report);
|
|
84579
84601
|
return match$1(mutants.length === 0, {
|
|
84580
84602
|
onTrue: () => NoMutantsToReproduce.make({}),
|
|
@@ -84585,7 +84607,7 @@ const buildReproducers = Workflow_exports.make({
|
|
|
84585
84607
|
command: BuildReproducersCommand,
|
|
84586
84608
|
decision: BuildReproducersDecision,
|
|
84587
84609
|
error: Never,
|
|
84588
|
-
decide: (command) => succeed$10(decide$
|
|
84610
|
+
decide: (command) => succeed$10(decide$27(command))
|
|
84589
84611
|
});
|
|
84590
84612
|
//#endregion
|
|
84591
84613
|
//#region src/checkpoint-mutants.workflow.ts
|
|
@@ -84609,7 +84631,7 @@ var CheckpointMutantsCommand = class extends TaggedClass()("CheckpointMutantsCom
|
|
|
84609
84631
|
};
|
|
84610
84632
|
const settledByIdOf = (settled) => fromIterable$4(settled.map((row) => [row.mutant.id, row]));
|
|
84611
84633
|
const rowOf = (mutant, settledById) => getOrElse$1(get$4(settledById, mutant.id), () => CheckpointPendingMutant.make({ mutant }));
|
|
84612
|
-
const decide$
|
|
84634
|
+
const decide$26 = (command) => {
|
|
84613
84635
|
const settledById = settledByIdOf(command.settled);
|
|
84614
84636
|
return succeed$10(command.plannedMutants.map((mutant) => rowOf(mutant, settledById)));
|
|
84615
84637
|
};
|
|
@@ -84617,7 +84639,7 @@ const checkpointMutants = Workflow_exports.make({
|
|
|
84617
84639
|
command: CheckpointMutantsCommand,
|
|
84618
84640
|
decision: ArraySchema(CheckpointMutantRow),
|
|
84619
84641
|
error: Never,
|
|
84620
|
-
decide: decide$
|
|
84642
|
+
decide: decide$26
|
|
84621
84643
|
});
|
|
84622
84644
|
//#endregion
|
|
84623
84645
|
//#region src/classify-exit.workflow.ts
|
|
@@ -84666,7 +84688,7 @@ const verdictExitClass = (score, breakingThreshold) => valueTags(score, {
|
|
|
84666
84688
|
onSome: (threshold) => value(percentage < threshold).pipe(when(true, () => "VerdictFail"), when(false, () => null), exhaustive)
|
|
84667
84689
|
})
|
|
84668
84690
|
});
|
|
84669
|
-
const decide$
|
|
84691
|
+
const decide$25 = (command) => match$8(fromNullishOr(verdictExitClass(command.score, command.breakingThreshold)), {
|
|
84670
84692
|
onNone: () => match$8(precedenceOf(command.pending), {
|
|
84671
84693
|
onNone: () => succeed$10(ExitPassed.make({})),
|
|
84672
84694
|
onSome: (exitClass) => succeed$10(decisionOf$2(exitClass))
|
|
@@ -84677,7 +84699,7 @@ const classifyExit = Workflow_exports.make({
|
|
|
84677
84699
|
command: ClassifyExitCommand,
|
|
84678
84700
|
decision: ClassifyExitDecision,
|
|
84679
84701
|
error: Never,
|
|
84680
|
-
decide: decide$
|
|
84702
|
+
decide: decide$25
|
|
84681
84703
|
});
|
|
84682
84704
|
//#endregion
|
|
84683
84705
|
//#region src/IncrementalDiff.schema.ts
|
|
@@ -90318,7 +90340,7 @@ const logOf = (command, results) => {
|
|
|
90318
90340
|
}]
|
|
90319
90341
|
};
|
|
90320
90342
|
};
|
|
90321
|
-
const decide$
|
|
90343
|
+
const decide$24 = (command) => {
|
|
90322
90344
|
const surfaced = surfacedOf(command);
|
|
90323
90345
|
const results = take$2(surfaced, command.maxResults);
|
|
90324
90346
|
const log = logOf(command, results);
|
|
@@ -90334,7 +90356,7 @@ const sarifReport = Workflow_exports.make({
|
|
|
90334
90356
|
command: SarifReportCommand,
|
|
90335
90357
|
decision: SarifReportDecision,
|
|
90336
90358
|
error: Never,
|
|
90337
|
-
decide: (command) => succeed$10(decide$
|
|
90359
|
+
decide: (command) => succeed$10(decide$24(command))
|
|
90338
90360
|
});
|
|
90339
90361
|
//#endregion
|
|
90340
90362
|
//#region src/cap-survivors.workflow.ts
|
|
@@ -90456,7 +90478,7 @@ const linesOf = (command) => {
|
|
|
90456
90478
|
onFalse: () => flatMap$7(toArray(get$4(byId, ref.id)), (entry) => [lineOf(entry)])
|
|
90457
90479
|
}));
|
|
90458
90480
|
};
|
|
90459
|
-
const decide$
|
|
90481
|
+
const decide$23 = (command) => {
|
|
90460
90482
|
const lines = linesOf(command);
|
|
90461
90483
|
return match$1(length(lines) === 0, {
|
|
90462
90484
|
onTrue: () => NothingToAnnotate.make({ survivorCount: length(command.survivors) }),
|
|
@@ -90467,7 +90489,7 @@ const renderAnnotations = Workflow_exports.make({
|
|
|
90467
90489
|
command: RenderAnnotationsCommand,
|
|
90468
90490
|
decision: RenderAnnotationsDecision,
|
|
90469
90491
|
error: Never,
|
|
90470
|
-
decide: (command) => succeed$10(decide$
|
|
90492
|
+
decide: (command) => succeed$10(decide$23(command))
|
|
90471
90493
|
});
|
|
90472
90494
|
//#endregion
|
|
90473
90495
|
//#region src/surfacing.ts
|
|
@@ -96092,7 +96114,7 @@ var WorkerCrashed = class extends TaggedClass()("WorkerCrashed", {
|
|
|
96092
96114
|
};
|
|
96093
96115
|
const ClassifyWorkerExitDecision = Union([WorkerOutOfMemory, WorkerCrashed]);
|
|
96094
96116
|
const OutOfMemoryExitCode = Literals$3([134, 137]);
|
|
96095
|
-
const decide$
|
|
96117
|
+
const decide$22 = (command) => match$1(is$2(OutOfMemoryExitCode)(command.exitCode), {
|
|
96096
96118
|
onTrue: () => succeed$10(WorkerOutOfMemory.make({
|
|
96097
96119
|
pid: command.pid,
|
|
96098
96120
|
exitCode: command.exitCode
|
|
@@ -96106,7 +96128,7 @@ const classifyWorkerExit = Workflow_exports.make({
|
|
|
96106
96128
|
command: ClassifyWorkerExitCommand,
|
|
96107
96129
|
decision: ClassifyWorkerExitDecision,
|
|
96108
96130
|
error: Never,
|
|
96109
|
-
decide: decide$
|
|
96131
|
+
decide: decide$22
|
|
96110
96132
|
});
|
|
96111
96133
|
//#endregion
|
|
96112
96134
|
//#region src/git-diff.schema.ts
|
|
@@ -97099,7 +97121,7 @@ const updated = (command) => BudgetWithin.make({ baseline: BudgetBaseline.make({
|
|
|
97099
97121
|
actualSeconds: command.actualSeconds
|
|
97100
97122
|
}) });
|
|
97101
97123
|
const baselineUnusable$1 = (baselineFile) => BudgetInputUnusable.make({ reason: `no usable budget baseline at ${baselineFile} (missing or undecodable); write one with \`stryker gate --update-budget-baseline\`` });
|
|
97102
|
-
const decide$
|
|
97124
|
+
const decide$21 = (command) => match$1(command.updateBaseline, {
|
|
97103
97125
|
onTrue: () => succeed$10(updated(command)),
|
|
97104
97126
|
onFalse: () => match$8(fromNullishOr(command.baseline), {
|
|
97105
97127
|
onNone: () => fail$8(baselineUnusable$1(command.baselineFile)),
|
|
@@ -97110,7 +97132,7 @@ const budgetGate = Workflow_exports.make({
|
|
|
97110
97132
|
command: BudgetGateCommand,
|
|
97111
97133
|
decision: BudgetGateDecision,
|
|
97112
97134
|
error: Union([BudgetExceeded, BudgetInputUnusable]),
|
|
97113
|
-
decide: decide$
|
|
97135
|
+
decide: decide$21
|
|
97114
97136
|
});
|
|
97115
97137
|
//#endregion
|
|
97116
97138
|
//#region src/cli-route-fields.ts
|
|
@@ -97244,7 +97266,7 @@ const mismatchesOf = (command) => {
|
|
|
97244
97266
|
const noise = fromIterable$2(command.noise);
|
|
97245
97267
|
return [...fromIterable$2([...idsOf(command.baseline), ...idsOf(command.fresh)])].filter((id) => !has$1(noise, id)).sort().flatMap((id) => toArray(mismatchAt(id, baseline, fresh)));
|
|
97246
97268
|
};
|
|
97247
|
-
const decide$
|
|
97269
|
+
const decide$20 = (command) => {
|
|
97248
97270
|
const mismatches = mismatchesOf(command);
|
|
97249
97271
|
return match$8(fromUndefinedOr(mismatches[0]), {
|
|
97250
97272
|
onNone: () => succeed$10(VerdictsMatch.make({})),
|
|
@@ -97255,7 +97277,7 @@ const compareVerdicts = Workflow_exports.make({
|
|
|
97255
97277
|
command: CompareVerdictsCommand,
|
|
97256
97278
|
decision: VerdictsMatch,
|
|
97257
97279
|
error: VerdictsDiffer,
|
|
97258
|
-
decide: decide$
|
|
97280
|
+
decide: decide$20
|
|
97259
97281
|
});
|
|
97260
97282
|
//#endregion
|
|
97261
97283
|
//#region src/Feedback/Feedback.schema.ts
|
|
@@ -97441,7 +97463,7 @@ const verdictOf = (command) => match$8(fromNullishOr(command.committed), {
|
|
|
97441
97463
|
onNone: () => fail$8(baselineUnusable(command.baselineFile)),
|
|
97442
97464
|
onSome: (committed) => clearedOrRejected(command, committed)
|
|
97443
97465
|
});
|
|
97444
|
-
const decide$
|
|
97466
|
+
const decide$19 = (command) => match$1(command.updateBaseline, {
|
|
97445
97467
|
onTrue: () => succeed$10(clearedForUpdate(command)),
|
|
97446
97468
|
onFalse: () => verdictOf(command)
|
|
97447
97469
|
});
|
|
@@ -97449,7 +97471,7 @@ const gateNewSurvivors = Workflow_exports.make({
|
|
|
97449
97471
|
command: GateNewSurvivorsCommand,
|
|
97450
97472
|
decision: GateNewSurvivorsDecision,
|
|
97451
97473
|
error: Union([GateRejected, GateInputUnusable]),
|
|
97452
|
-
decide: decide$
|
|
97474
|
+
decide: decide$19
|
|
97453
97475
|
});
|
|
97454
97476
|
//#endregion
|
|
97455
97477
|
//#region ../../node_modules/.pnpm/effect@4.0.0/node_modules/effect/dist/ai/AiError.js
|
|
@@ -104588,12 +104610,12 @@ const splitOf = (details, checkerCount) => match$1(checkerCount > 0, {
|
|
|
104588
104610
|
announcement: details.announcement
|
|
104589
104611
|
})
|
|
104590
104612
|
});
|
|
104591
|
-
const decide$
|
|
104613
|
+
const decide$18 = (command) => succeed$10(splitOf(detailsOf(command.concurrency, command.availableParallelism), command.checkerCount));
|
|
104592
104614
|
const resolveConcurrency = Workflow_exports.make({
|
|
104593
104615
|
command: ResolveConcurrency,
|
|
104594
104616
|
decision: ConcurrencySplit,
|
|
104595
104617
|
error: Never,
|
|
104596
|
-
decide: decide$
|
|
104618
|
+
decide: decide$18
|
|
104597
104619
|
});
|
|
104598
104620
|
//#endregion
|
|
104599
104621
|
//#region src/concurrency.cell.ts
|
|
@@ -104808,7 +104830,7 @@ const discardOf = (reason, actual, expected) => IncrementalReportDiscard.make({
|
|
|
104808
104830
|
actual,
|
|
104809
104831
|
expected
|
|
104810
104832
|
});
|
|
104811
|
-
const decide$
|
|
104833
|
+
const decide$17 = (command) => match$8(fromUndefinedOr(command.report), {
|
|
104812
104834
|
onNone: () => discardOf("noPriorRecord", void 0, command.expectedIncrementalVersion),
|
|
104813
104835
|
onSome: (report) => match$8(firstSomeOf(identityMismatchesOf(command, report).map(mismatchOptionOf)), {
|
|
104814
104836
|
onNone: () => IncrementalReportKeep.make({ report }),
|
|
@@ -104819,7 +104841,7 @@ const admitIncrementalReport = Workflow_exports.make({
|
|
|
104819
104841
|
command: AdmitIncrementalReportCommand,
|
|
104820
104842
|
decision: Union([IncrementalReportKeep, IncrementalReportDiscard]),
|
|
104821
104843
|
error: Never,
|
|
104822
|
-
decide: (command) => succeed$10(decide$
|
|
104844
|
+
decide: (command) => succeed$10(decide$17(command))
|
|
104823
104845
|
});
|
|
104824
104846
|
//#endregion
|
|
104825
104847
|
//#region src/git-diff.workflow.ts
|
|
@@ -105749,7 +105771,7 @@ const decideComplete = (command) => value({
|
|
|
105749
105771
|
failedTests
|
|
105750
105772
|
}))), when({ outcome: "passed" }, ({ testCount }) => succeed$10(DryRunPassed.make({ testCount }))), exhaustive);
|
|
105751
105773
|
const reasonOrDefault = (reason, fallback) => value(reason).pipe(when(void 0, () => fallback), orElse$1((present) => present));
|
|
105752
|
-
const decide$
|
|
105774
|
+
const decide$16 = (command) => value(command.status).pipe(when("Error", () => fail$8(DryRunError.make({
|
|
105753
105775
|
stage: "dryRun",
|
|
105754
105776
|
reason: reasonOrDefault(command.errorMessage, "Dry run error")
|
|
105755
105777
|
}))), when("Timeout", () => fail$8(DryRunError.make({
|
|
@@ -105760,7 +105782,7 @@ const dryRun = Workflow_exports.make({
|
|
|
105760
105782
|
command: DryRunCommand,
|
|
105761
105783
|
decision: Union([DryRunPassed, DryRunFailed]),
|
|
105762
105784
|
error: DryRunError,
|
|
105763
|
-
decide: decide$
|
|
105785
|
+
decide: decide$16
|
|
105764
105786
|
});
|
|
105765
105787
|
//#endregion
|
|
105766
105788
|
//#region src/import-closure.schema.ts
|
|
@@ -105822,12 +105844,12 @@ const closureOf = (command, testFile) => {
|
|
|
105822
105844
|
open: closureOpen(command, files, testFile)
|
|
105823
105845
|
});
|
|
105824
105846
|
};
|
|
105825
|
-
const decide$
|
|
105847
|
+
const decide$15 = (command) => succeed$10(command.testFiles.map((testFile) => closureOf(command, testFile)));
|
|
105826
105848
|
const importClosure = Workflow_exports.make({
|
|
105827
105849
|
command: ImportClosureCommand,
|
|
105828
105850
|
decision: ArraySchema(TestFileClosure),
|
|
105829
105851
|
error: Never,
|
|
105830
|
-
decide: decide$
|
|
105852
|
+
decide: decide$15
|
|
105831
105853
|
});
|
|
105832
105854
|
//#endregion
|
|
105833
105855
|
//#region src/import-closure.cell.ts
|
|
@@ -106239,7 +106261,7 @@ const failedTestSummariesOf = (tests) => tests.filter((test) => test.status ===
|
|
|
106239
106261
|
name: test.name,
|
|
106240
106262
|
failureMessage: test.failureMessage
|
|
106241
106263
|
}));
|
|
106242
|
-
const decide$
|
|
106264
|
+
const decide$14 = (command) => value(command.dryRunResult).pipe(discriminator("status")("complete", (complete) => succeed$10(DryRunObservedComplete.make({
|
|
106243
106265
|
testCount: complete.tests.length,
|
|
106244
106266
|
failedTestCount: complete.tests.filter((test) => test.status === "failed").length,
|
|
106245
106267
|
failedTests: failedTestSummariesOf(complete.tests)
|
|
@@ -106255,7 +106277,7 @@ const interpretDryRunObservation = Workflow_exports.make({
|
|
|
106255
106277
|
DryRunObservedTimedOut
|
|
106256
106278
|
]),
|
|
106257
106279
|
error: Never,
|
|
106258
|
-
decide: decide$
|
|
106280
|
+
decide: decide$14
|
|
106259
106281
|
});
|
|
106260
106282
|
//#endregion
|
|
106261
106283
|
//#region src/PluginsError.schema.ts
|
|
@@ -106387,7 +106409,7 @@ const executedTestsOf$1 = (tests) => tests.filter((test) => test.status !== "ski
|
|
|
106387
106409
|
timeSpentMs: test.timeSpentMs
|
|
106388
106410
|
}));
|
|
106389
106411
|
const firstFailedTestOf = (failed) => fromUndefinedOr(failed.at(0));
|
|
106390
|
-
const decide$
|
|
106412
|
+
const decide$13 = (command) => value(command.dryRunResult).pipe(discriminator("status")("complete", (complete) => {
|
|
106391
106413
|
const failed = failedTestsOf(complete.tests);
|
|
106392
106414
|
const nrOfTests = countedTestsOf(complete.tests);
|
|
106393
106415
|
const executedTests = executedTestsOf$1(complete.tests);
|
|
@@ -106416,7 +106438,7 @@ const interpretDryRunResult = Workflow_exports.make({
|
|
|
106416
106438
|
MutantRunTimedOut
|
|
106417
106439
|
]),
|
|
106418
106440
|
error: Never,
|
|
106419
|
-
decide: decide$
|
|
106441
|
+
decide: decide$13
|
|
106420
106442
|
});
|
|
106421
106443
|
//#endregion
|
|
106422
106444
|
//#region src/pooled-test-runner.handle.ts
|
|
@@ -106870,12 +106892,12 @@ const resolvedSpawnOf = (command, matches, label) => match$8(workerSourceOf(comm
|
|
|
106870
106892
|
}));
|
|
106871
106893
|
}
|
|
106872
106894
|
});
|
|
106873
|
-
const decide$
|
|
106895
|
+
const decide$12 = (command) => value(command.configured).pipe(tag("ConfiguredPluginName", (configured) => resolvedSpawnOf(command, (worker) => worker.name.toLowerCase() === configured.name.toLowerCase(), configured.name)), tag("ConfiguredPluginModulePath", (configured) => resolvedSpawnOf(command, (worker) => worker.modulePath === configured.modulePath, configured.modulePath)), exhaustive);
|
|
106874
106896
|
const resolveConfiguredPlugin = Workflow_exports.make({
|
|
106875
106897
|
command: WorkerSpawnCommand,
|
|
106876
106898
|
decision: WorkerSpawnResolved,
|
|
106877
106899
|
error: WorkerSpawnMissing,
|
|
106878
|
-
decide: decide$
|
|
106900
|
+
decide: decide$12
|
|
106879
106901
|
});
|
|
106880
106902
|
//#endregion
|
|
106881
106903
|
//#region src/run/dry-run.cell.ts
|
|
@@ -107250,7 +107272,7 @@ var EphemeralInstrument = class extends TaggedClass()("EphemeralInstrument", {
|
|
|
107250
107272
|
}) {
|
|
107251
107273
|
[InstrumentDecisionTypeId] = InstrumentDecisionTypeId;
|
|
107252
107274
|
};
|
|
107253
|
-
const decide$
|
|
107275
|
+
const decide$11 = (command) => value(command.inPlace).pipe(when(true, () => succeed$10(InPlaceInstrument.make({
|
|
107254
107276
|
workingDirectoryHint: "inPlace",
|
|
107255
107277
|
backupDirectoryHint: "backup",
|
|
107256
107278
|
fileCount: command.fileCount
|
|
@@ -107262,7 +107284,7 @@ const planInstrumentation = Workflow_exports.make({
|
|
|
107262
107284
|
command: InstrumentCommand,
|
|
107263
107285
|
decision: Union([InPlaceInstrument, EphemeralInstrument]),
|
|
107264
107286
|
error: Never,
|
|
107265
|
-
decide: decide$
|
|
107287
|
+
decide: decide$11
|
|
107266
107288
|
});
|
|
107267
107289
|
//#endregion
|
|
107268
107290
|
//#region ../../node_modules/.pnpm/@jsr+std__jsonc@1.0.2/node_modules/@jsr/std__jsonc/parse.js
|
|
@@ -108076,7 +108098,7 @@ var MutationTestDryRunOnly = class extends TaggedClass()("MutationTestDryRunOnly
|
|
|
108076
108098
|
var MutationTestNoTests = class extends TaggedClass()("MutationTestNoTests", {}) {
|
|
108077
108099
|
[MutationTestDecisionTypeId] = MutationTestDecisionTypeId;
|
|
108078
108100
|
};
|
|
108079
|
-
const decide$
|
|
108101
|
+
const decide$10 = (command) => value({
|
|
108080
108102
|
invalid: command.testCount < 0,
|
|
108081
108103
|
dryRunOnly: command.dryRunOnly,
|
|
108082
108104
|
isZero: command.isZero,
|
|
@@ -108096,7 +108118,7 @@ const admitMutationTest = Workflow_exports.make({
|
|
|
108096
108118
|
MutationTestNoTests
|
|
108097
108119
|
]),
|
|
108098
108120
|
error: MutationTestError,
|
|
108099
|
-
decide: decide$
|
|
108121
|
+
decide: decide$10
|
|
108100
108122
|
});
|
|
108101
108123
|
//#endregion
|
|
108102
108124
|
//#region src/admit-checker-answer.workflow.ts
|
|
@@ -108452,7 +108474,7 @@ const decideCheckedPlan = (mutantId, result, entryIndex) => match$8(liftPredicat
|
|
|
108452
108474
|
})
|
|
108453
108475
|
})
|
|
108454
108476
|
});
|
|
108455
|
-
const decide$
|
|
108477
|
+
const decide$9 = (command) => succeed$10(command.checked.map(([mutantId, result], entryIndex) => decideCheckedPlan(mutantId, result, entryIndex)));
|
|
108456
108478
|
const partitionCheckedPlans = Workflow_exports.make({
|
|
108457
108479
|
command: PartitionCheckedPlansCommand,
|
|
108458
108480
|
decision: ArraySchema(Union([
|
|
@@ -108461,7 +108483,7 @@ const partitionCheckedPlans = Workflow_exports.make({
|
|
|
108461
108483
|
CheckedPlanIgnored
|
|
108462
108484
|
])),
|
|
108463
108485
|
error: Never,
|
|
108464
|
-
decide: decide$
|
|
108486
|
+
decide: decide$9
|
|
108465
108487
|
});
|
|
108466
108488
|
//#endregion
|
|
108467
108489
|
//#region src/Checker/checker-pool.handle.ts
|
|
@@ -108817,7 +108839,7 @@ const decideChanged = (command) => {
|
|
|
108817
108839
|
const recordsById = recordsByIdOf(command.previousRecords);
|
|
108818
108840
|
return command.currentMutants.map((mutant) => decideForMutant(mutant, command, recordsById));
|
|
108819
108841
|
};
|
|
108820
|
-
const decide$
|
|
108842
|
+
const decide$8 = (command) => match$1(command.force, {
|
|
108821
108843
|
onTrue: () => succeed$10(command.currentMutants.map(forcedRun)),
|
|
108822
108844
|
onFalse: () => succeed$10(decideChanged(command))
|
|
108823
108845
|
});
|
|
@@ -108825,7 +108847,7 @@ const incrementalDiff = Workflow_exports.make({
|
|
|
108825
108847
|
command: IncrementalDiffCommand,
|
|
108826
108848
|
decision: ArraySchema(Union([MutantRemembered, MutantToRun])),
|
|
108827
108849
|
error: Never,
|
|
108828
|
-
decide: decide$
|
|
108850
|
+
decide: decide$8
|
|
108829
108851
|
});
|
|
108830
108852
|
//#endregion
|
|
108831
108853
|
//#region src/report-test-ids.workflow.ts
|
|
@@ -108847,12 +108869,12 @@ const testIdsOfFile = (file, testFile) => testFile.tests.map((test) => ReportTes
|
|
|
108847
108869
|
}));
|
|
108848
108870
|
const testIdsOfFiles = (testFiles) => Object.entries(testFiles).flatMap(([file, testFile]) => testIdsOfFile(file, testFile));
|
|
108849
108871
|
const tableOf = (testFiles) => testIdsOfFiles(getOrElse$1(fromUndefinedOr(testFiles), () => EMPTY_TEST_FILES));
|
|
108850
|
-
const decide$
|
|
108872
|
+
const decide$7 = (command) => succeed$10(tableOf(command.testFiles));
|
|
108851
108873
|
const reportTestIds = Workflow_exports.make({
|
|
108852
108874
|
command: ResolveReportTestIds,
|
|
108853
108875
|
decision: ArraySchema(ReportTestId),
|
|
108854
108876
|
error: Never,
|
|
108855
|
-
decide: decide$
|
|
108877
|
+
decide: decide$7
|
|
108856
108878
|
});
|
|
108857
108879
|
//#endregion
|
|
108858
108880
|
//#region src/run/incremental-reuse.cell.ts
|
|
@@ -109125,7 +109147,7 @@ const decideGuard = (command) => match$1(coveringTestMissing(command), {
|
|
|
109125
109147
|
onTrue: () => decideRetry(command),
|
|
109126
109148
|
onFalse: () => succeed$10(MutantRunSettled.make({}))
|
|
109127
109149
|
});
|
|
109128
|
-
const decide$
|
|
109150
|
+
const decide$6 = (command) => match$1(command.wallClockTimeout, {
|
|
109129
109151
|
onTrue: () => succeed$10(MutantRunPoolInvalidated.make({})),
|
|
109130
109152
|
onFalse: () => decideGuard(command)
|
|
109131
109153
|
});
|
|
@@ -109138,7 +109160,7 @@ const interpretMutantRun = Workflow_exports.make({
|
|
|
109138
109160
|
MutantRunRetryExhausted
|
|
109139
109161
|
]),
|
|
109140
109162
|
error: Never,
|
|
109141
|
-
decide: decide$
|
|
109163
|
+
decide: decide$6
|
|
109142
109164
|
});
|
|
109143
109165
|
//#endregion
|
|
109144
109166
|
//#region src/mutant-run-span.ts
|
|
@@ -109609,7 +109631,7 @@ const missingHitCountIds = (command) => openMutantsOf(command.mutants).flatMap((
|
|
|
109609
109631
|
onFalse: () => []
|
|
109610
109632
|
}));
|
|
109611
109633
|
const plannedMutantsOf = (command) => command.mutants.reduce((planned, mutant) => flatMap$8(planned, (soFar) => map$12(decidePlanForMutant(mutant, command), (next) => [...soFar, next])), succeed$10([]));
|
|
109612
|
-
const decide$
|
|
109634
|
+
const decide$5 = (command) => match$8(fromUndefinedOr(missingHitCountIds(command)[0]), {
|
|
109613
109635
|
onNone: () => plannedMutantsOf(command),
|
|
109614
109636
|
onSome: (first) => fail$8(CoveredMutantHitCountMissing.make({ missingIds: [first, ...missingHitCountIds(command).slice(1)] }))
|
|
109615
109637
|
});
|
|
@@ -109617,7 +109639,7 @@ const planMutantTests = Workflow_exports.make({
|
|
|
109617
109639
|
command: MutantTestPlanCommand,
|
|
109618
109640
|
decision: ArraySchema(Union([PlannedRunMutant, PlannedEarlyResultMutant])),
|
|
109619
109641
|
error: Union([CoveredMutantHitCountMissing, MutantTimeoutNotFinite]),
|
|
109620
|
-
decide: decide$
|
|
109642
|
+
decide: decide$5
|
|
109621
109643
|
});
|
|
109622
109644
|
//#endregion
|
|
109623
109645
|
//#region src/materialize-mutant-plans.workflow.ts
|
|
@@ -109728,12 +109750,12 @@ const earlyResultPlanOf = (mutant, early) => ({
|
|
|
109728
109750
|
coveredBy: early.coveredBy
|
|
109729
109751
|
})
|
|
109730
109752
|
});
|
|
109731
|
-
const decide$
|
|
109753
|
+
const decide$4 = (command) => value(command.plan).pipe(tag("PlannedRunMutant", (run) => succeed$10(MutantRunPlanMaterialized.make({ plan: runPlanOf(command.mutant, run) }))), tag("PlannedEarlyResultMutant", (early) => succeed$10(MutantEarlyResultPlanMaterialized.make({ plan: earlyResultPlanOf(command.mutant, early) }))), exhaustive);
|
|
109732
109754
|
const materializeMutantPlans = Workflow_exports.make({
|
|
109733
109755
|
command: MaterializeMutantPlanCommand,
|
|
109734
109756
|
decision: Union([MutantRunPlanMaterialized, MutantEarlyResultPlanMaterialized]),
|
|
109735
109757
|
error: Never,
|
|
109736
|
-
decide: decide$
|
|
109758
|
+
decide: decide$4
|
|
109737
109759
|
});
|
|
109738
109760
|
//#endregion
|
|
109739
109761
|
//#region src/MutantsError.schema.ts
|
|
@@ -109767,12 +109789,12 @@ const orderedOf = (plans) => [...plans].sort(comparePlans).map((plan) => Ordered
|
|
|
109767
109789
|
netTime: plan.netTime,
|
|
109768
109790
|
reloadEnvironment: plan.reloadEnvironment
|
|
109769
109791
|
}));
|
|
109770
|
-
const decide$
|
|
109792
|
+
const decide$3 = (command) => succeed$10(orderedOf(command.plans));
|
|
109771
109793
|
const sortRunPlans = Workflow_exports.make({
|
|
109772
109794
|
command: SortRunPlans,
|
|
109773
109795
|
decision: ArraySchema(OrderedRunPlan),
|
|
109774
109796
|
error: Never,
|
|
109775
|
-
decide: decide$
|
|
109797
|
+
decide: decide$3
|
|
109776
109798
|
});
|
|
109777
109799
|
//#endregion
|
|
109778
109800
|
//#region src/run/mutation-test-plan.cell.ts
|
|
@@ -110311,7 +110333,7 @@ const optInRefusalOf = (index, command) => match$8(refusedNameIn(index.optIn, co
|
|
|
110311
110333
|
name
|
|
110312
110334
|
}))
|
|
110313
110335
|
});
|
|
110314
|
-
const decide$
|
|
110336
|
+
const decide$2 = (command) => {
|
|
110315
110337
|
const index = indexOf(command.catalogs);
|
|
110316
110338
|
return map$12(flatMap$8(excludedRefusalOf(index, command), () => optInRefusalOf(index, command)), () => MutatorSelectionDecoded.make({
|
|
110317
110339
|
excludedMutations: [...command.excludedMutations],
|
|
@@ -110322,7 +110344,7 @@ const decodeMutatorSelection = Workflow_exports.make({
|
|
|
110322
110344
|
command: DecodeMutatorSelectionCommand,
|
|
110323
110345
|
decision: MutatorSelectionDecoded,
|
|
110324
110346
|
error: MutatorSelectionRefused,
|
|
110325
|
-
decide: decide$
|
|
110347
|
+
decide: decide$2
|
|
110326
110348
|
});
|
|
110327
110349
|
//#endregion
|
|
110328
110350
|
//#region src/framework-claimant.service.ts
|
|
@@ -110857,12 +110879,12 @@ var KeepTempDirCommand = class extends TaggedClass()("KeepTempDirCommand", {
|
|
|
110857
110879
|
static [Workflow_exports.InstrumentationBrand] = {};
|
|
110858
110880
|
};
|
|
110859
110881
|
const keptIff = (kept) => value(kept).pipe(when(true, () => TempDirKept.make({})), when(false, () => TempDirRemoved.make({})), exhaustive);
|
|
110860
|
-
const decide = (command) => value(command.cleanTempDir).pipe(when(false, () => TempDirKept.make({})), when(true, () => keptIff(command.failed)), when("always", () => TempDirRemoved.make({})), exhaustive, succeed$10);
|
|
110882
|
+
const decide$1 = (command) => value(command.cleanTempDir).pipe(when(false, () => TempDirKept.make({})), when(true, () => keptIff(command.failed)), when("always", () => TempDirRemoved.make({})), exhaustive, succeed$10);
|
|
110861
110883
|
const keepTempDir = Workflow_exports.make({
|
|
110862
110884
|
command: KeepTempDirCommand,
|
|
110863
110885
|
decision: Union([TempDirKept, TempDirRemoved]),
|
|
110864
110886
|
error: Never,
|
|
110865
|
-
decide
|
|
110887
|
+
decide: decide$1
|
|
110866
110888
|
});
|
|
110867
110889
|
//#endregion
|
|
110868
110890
|
//#region src/Sandbox.service.ts
|
|
@@ -111370,7 +111392,7 @@ const prepareCell = Sandwich_exports.named(SpanTaxonomy_exports.Spans.prepare.na
|
|
|
111370
111392
|
});
|
|
111371
111393
|
//#endregion
|
|
111372
111394
|
//#region src/run/run-stages.cell.ts
|
|
111373
|
-
const configReadReasonOf = (cause) =>
|
|
111395
|
+
const configReadReasonOf = (cause) => cause.message;
|
|
111374
111396
|
const mutationTestCell = Cell_exports.andThen(Cell_exports.andThen(Cell_exports.andThen(Cell_exports.andThen(Cell_exports.mapError(loadConfigCell, (cause) => StageError.make({
|
|
111375
111397
|
stage: "prepare",
|
|
111376
111398
|
reason: configReadReasonOf(cause),
|
|
@@ -112898,15 +112920,50 @@ const loadShardPlan = dual(2, (basePath, file) => gen(function* () {
|
|
|
112898
112920
|
};
|
|
112899
112921
|
}));
|
|
112900
112922
|
//#endregion
|
|
112923
|
+
//#region src/shard/settle-shard-child.workflow.ts
|
|
112924
|
+
const SettleShardChildTypeId = Symbol.for("@systemfsoftware/stryker-js/SettleShardChild");
|
|
112925
|
+
const COMPLETED_CODE = 0;
|
|
112926
|
+
const verdictFailCode = getOrUndefined$1(decodeOption(Plugin_exports.ExitCodeFromClass)("VerdictFail"));
|
|
112927
|
+
var SettleShardChildCommand = class extends TaggedClass()("SettleShardChildCommand", { exitCode: Int$4 }) {
|
|
112928
|
+
static [Workflow_exports.InstrumentationBrand] = {};
|
|
112929
|
+
};
|
|
112930
|
+
var ShardChildCompleted = class extends TaggedClass()("ShardChildCompleted", {}) {
|
|
112931
|
+
[SettleShardChildTypeId] = SettleShardChildTypeId;
|
|
112932
|
+
};
|
|
112933
|
+
var ShardChildVerdictFailed = class extends TaggedClass()("ShardChildVerdictFailed", {}) {
|
|
112934
|
+
[SettleShardChildTypeId] = SettleShardChildTypeId;
|
|
112935
|
+
};
|
|
112936
|
+
var ShardChildAborted = class extends TaggedClass()("ShardChildAborted", { exitCode: Int$4 }) {
|
|
112937
|
+
[SettleShardChildTypeId] = SettleShardChildTypeId;
|
|
112938
|
+
};
|
|
112939
|
+
const SettleShardChildDecision = Union([
|
|
112940
|
+
ShardChildCompleted,
|
|
112941
|
+
ShardChildVerdictFailed,
|
|
112942
|
+
ShardChildAborted
|
|
112943
|
+
]);
|
|
112944
|
+
const decide = (command) => match$1(command.exitCode === COMPLETED_CODE, {
|
|
112945
|
+
onTrue: () => succeed$10(ShardChildCompleted.make({})),
|
|
112946
|
+
onFalse: () => match$1(command.exitCode === verdictFailCode, {
|
|
112947
|
+
onTrue: () => succeed$10(ShardChildVerdictFailed.make({})),
|
|
112948
|
+
onFalse: () => succeed$10(ShardChildAborted.make({ exitCode: command.exitCode }))
|
|
112949
|
+
})
|
|
112950
|
+
});
|
|
112951
|
+
const settleShardChild = Workflow_exports.make({
|
|
112952
|
+
command: SettleShardChildCommand,
|
|
112953
|
+
decision: SettleShardChildDecision,
|
|
112954
|
+
error: Never,
|
|
112955
|
+
decide
|
|
112956
|
+
});
|
|
112957
|
+
//#endregion
|
|
112901
112958
|
//#region src/shard/shard-run.schema.ts
|
|
112902
112959
|
var ShardChildFailed = class extends TaggedError()("ShardChildFailed", {
|
|
112903
112960
|
project: String$7,
|
|
112904
112961
|
exitCode: Int$4,
|
|
112905
|
-
|
|
112962
|
+
childOutput: String$7
|
|
112906
112963
|
}) {
|
|
112907
112964
|
exitClass = "RuntimeError";
|
|
112908
112965
|
get message() {
|
|
112909
|
-
return `shard child for ${this.project} failed with exit code ${this.exitCode}: ${this.
|
|
112966
|
+
return `shard child for ${this.project} failed with exit code ${this.exitCode}: ${this.childOutput}`;
|
|
112910
112967
|
}
|
|
112911
112968
|
};
|
|
112912
112969
|
//#endregion
|
|
@@ -112914,7 +112971,6 @@ var ShardChildFailed = class extends TaggedError()("ShardChildFailed", {
|
|
|
112914
112971
|
const SHARD_OUT_MARKER = "reports/shards";
|
|
112915
112972
|
const STREAM_FILE = "mutation-stream.jsonl";
|
|
112916
112973
|
const INCREMENTAL_FILE = "stryker-incremental.json";
|
|
112917
|
-
const STDERR_LIMIT = 4096;
|
|
112918
112974
|
const childArgsOf = (input, project, projectOut, path) => [
|
|
112919
112975
|
globalThis.process.argv[1] ?? "",
|
|
112920
112976
|
"run",
|
|
@@ -112938,6 +112994,13 @@ const seedIncremental = (path, fs, projectDir, projectOut) => gen(function* () {
|
|
|
112938
112994
|
const hasTarget = yield* fs.exists(target);
|
|
112939
112995
|
yield* when$2(fs.copyFile(cached, target), succeed$5(hasCached && !hasTarget));
|
|
112940
112996
|
});
|
|
112997
|
+
const settlementOf$1 = (exitCode) => getOrElse(settleShardChild(SettleShardChildCommand.make({ exitCode })), (neverError) => neverError);
|
|
112998
|
+
const subThresholdLine = (project) => `stryker shard: ${project} scored below thresholds.break over this shard's mutants; the merged report carries the project verdict`;
|
|
112999
|
+
const missingStreamFailure = (project, exitCode, streamFile) => ShardChildFailed.make({
|
|
113000
|
+
project,
|
|
113001
|
+
exitCode,
|
|
113002
|
+
childOutput: `the shard child completed without leaving its progress stream at ${streamFile}`
|
|
113003
|
+
});
|
|
112941
113004
|
const runShard = (input) => gen(function* () {
|
|
112942
113005
|
const selected = yield* fromResult(selectShard(SelectShardCommand.make({
|
|
112943
113006
|
plan: input.plan,
|
|
@@ -112950,6 +113013,7 @@ const runShard = (input) => gen(function* () {
|
|
|
112950
113013
|
yield* forEach$1(selected.projects, (project) => gen(function* () {
|
|
112951
113014
|
const projectDir = path.resolve(input.planDirectory, project.project);
|
|
112952
113015
|
const projectOut = path.join(outDir, project.project);
|
|
113016
|
+
const streamFile = path.join(projectOut, STREAM_FILE);
|
|
112953
113017
|
yield* fs.makeDirectory(projectOut, { recursive: true });
|
|
112954
113018
|
yield* seedIncremental(path, fs, projectDir, projectOut);
|
|
112955
113019
|
const handle = yield* spawner.spawn(make$14(globalThis.process.execPath, childArgsOf(input, project.project, projectOut, path), {
|
|
@@ -112961,15 +113025,17 @@ const runShard = (input) => gen(function* () {
|
|
|
112961
113025
|
}));
|
|
112962
113026
|
const stderr = yield* handle.stderr.pipe(decodeText$1, mkString);
|
|
112963
113027
|
const exitCode = Number(yield* handle.exitCode);
|
|
112964
|
-
yield* exitCode
|
|
113028
|
+
yield* value(settlementOf$1(exitCode)).pipe(tag("ShardChildCompleted", () => void_$1), tag("ShardChildVerdictFailed", () => logInfo(subThresholdLine(project.project))), tag("ShardChildAborted", () => fail$4(ShardChildFailed.make({
|
|
112965
113029
|
project: project.project,
|
|
112966
113030
|
exitCode,
|
|
112967
|
-
|
|
112968
|
-
}));
|
|
113031
|
+
childOutput: stderr.slice(-4096)
|
|
113032
|
+
}))), exhaustive);
|
|
113033
|
+
const streamPresent = yield* fs.exists(streamFile);
|
|
113034
|
+
yield* value(streamPresent).pipe(when(true, () => void_$1), when(false, () => fail$4(missingStreamFailure(project.project, exitCode, streamFile))), exhaustive);
|
|
112969
113035
|
}).pipe(catchTag("PlatformError", (cause) => fail$4(ShardChildFailed.make({
|
|
112970
113036
|
project: project.project,
|
|
112971
113037
|
exitCode: -1,
|
|
112972
|
-
|
|
113038
|
+
childOutput: cause.message
|
|
112973
113039
|
})))), {
|
|
112974
113040
|
concurrency: 1,
|
|
112975
113041
|
discard: true
|
|
@@ -113104,10 +113170,10 @@ const runBudgetGate = (gate, report, basePath) => forEach$1(toArray(fromUndefine
|
|
|
113104
113170
|
}), { discard: true });
|
|
113105
113171
|
const reportUnchecked = (unchecked) => logInfo(`stryker gate: ${unchecked.length} mutant(s) unchecked (in scope with no verdict)`);
|
|
113106
113172
|
const GATE_REMEDIATION_LINE = "accept the new survivors with `stryker gate --update-baseline`, or kill them before the next run";
|
|
113107
|
-
const
|
|
113173
|
+
const remediateGateRefusal = (failure) => match$1(is$2(BudgetExceeded)(failure) || is$2(BudgetInputUnusable)(failure), {
|
|
113108
113174
|
onTrue: () => void_$1,
|
|
113109
113175
|
onFalse: () => logInfo(GATE_REMEDIATION_LINE)
|
|
113110
|
-
})
|
|
113176
|
+
});
|
|
113111
113177
|
const gateReport = (gate, channel) => gen(function* () {
|
|
113112
113178
|
const path = yield* Path$1;
|
|
113113
113179
|
const basePath = channel.environment.basePath;
|
|
@@ -113204,7 +113270,7 @@ const runRequestCell = Sandwich_exports.named(SpanTaxonomy_exports.Spans.runRequ
|
|
|
113204
113270
|
});
|
|
113205
113271
|
}),
|
|
113206
113272
|
CliCompareRequested: (compare) => compareReports(compare),
|
|
113207
|
-
CliGateRequested: (gate, channel) => gateReport(gate, channel).pipe(tapError(
|
|
113273
|
+
CliGateRequested: (gate, channel) => gateReport(gate, channel).pipe(tapError(remediateGateRefusal)),
|
|
113208
113274
|
CliAnnotateRequested: (annotate, channel) => annotateReport(annotate, channel),
|
|
113209
113275
|
CliPlanRequested: (plan, channel) => planRequest({
|
|
113210
113276
|
request: plan,
|
|
@@ -113215,7 +113281,7 @@ const runRequestCell = Sandwich_exports.named(SpanTaxonomy_exports.Spans.runRequ
|
|
|
113215
113281
|
CliServeRequested: (serve, channel) => serveMutationServer(serveRequestOf(serve, channel.options)).pipe(scoped$3),
|
|
113216
113282
|
CliRunRequested: (_, channel) => runStage(channel),
|
|
113217
113283
|
CliSurvivorsRequested: (_, channel) => survivorsAdmissionCell.run(survivorsInputOf(channel)),
|
|
113218
|
-
CliRerunRequested: (rerun, channel) => mutantRerunAdmissionCell.run(rerunInputOf(channel, rerun.ids))
|
|
113284
|
+
CliRerunRequested: (rerun, channel) => mutantRerunAdmissionCell.run(rerunInputOf(channel, rerun.ids)),
|
|
113219
113285
|
CommandRejected: ({ issue }) => fail$4(StrykerError.make({ message: `the CLI read resolved a command the route schema rejects: ${issue}` }))
|
|
113220
113286
|
});
|
|
113221
113287
|
//#endregion
|
|
@@ -113696,6 +113762,13 @@ const servedInvocation = (argv) => exists$1(fromUndefinedOr(argv.find((argument)
|
|
|
113696
113762
|
const SPAN_ERROR_LIMIT = 1024;
|
|
113697
113763
|
const TRUNCATION_SUFFIX = "…[truncated]";
|
|
113698
113764
|
const boundedErrorText = (text) => text.length > SPAN_ERROR_LIMIT ? text.slice(0, SPAN_ERROR_LIMIT) + TRUNCATION_SUFFIX : text;
|
|
113765
|
+
const failureTextOf = (failure, captured) => {
|
|
113766
|
+
const envelope = errorEnvelopeFromOutcome({
|
|
113767
|
+
error: failure,
|
|
113768
|
+
captured
|
|
113769
|
+
});
|
|
113770
|
+
return value(envelope.remediation).pipe(when("", () => boundedErrorText(envelope.error)), when((remediation) => remediation.includes(envelope.error), (remediation) => boundedErrorText(remediation)), orElse$1((remediation) => `${boundedErrorText(envelope.error)} — ${remediation}`));
|
|
113771
|
+
};
|
|
113699
113772
|
const strykerProgram = gen(function* () {
|
|
113700
113773
|
const args = [...yield* (yield* Stdio).args];
|
|
113701
113774
|
const probeMode = gen(function* () {
|
|
@@ -113747,10 +113820,7 @@ const strykerProgram = gen(function* () {
|
|
|
113747
113820
|
const outcome = classifyRunOutcome(conclusionCommand);
|
|
113748
113821
|
const classified = getOrElse(outcome, (interrupted) => interrupted);
|
|
113749
113822
|
const machineConsoleService = yield* MachineConsole;
|
|
113750
|
-
const errorText = getOrElse$1(map$13(liftPredicate(is$2(FailedRunOutcomeSchema))(classified), (failure) =>
|
|
113751
|
-
error: failure,
|
|
113752
|
-
captured: machineConsoleService.read()
|
|
113753
|
-
}).error)), () => "");
|
|
113823
|
+
const errorText = getOrElse$1(map$13(liftPredicate(is$2(FailedRunOutcomeSchema))(classified), (failure) => failureTextOf(failure, machineConsoleService.read())), () => "");
|
|
113754
113824
|
yield* annotateCurrentSpan({
|
|
113755
113825
|
"stryker.run.outcome": classified._tag,
|
|
113756
113826
|
"stryker.run.exit_code": runExitCodeFromOutcome(classified).code,
|
package/dist/promises.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as nodePlatformLayer, t as strykerCell } from "./run-stages-
|
|
1
|
+
import { C as nodePlatformLayer, t as strykerCell } from "./run-stages-DYuRm353.mjs";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import { dual } from "effect/Function";
|
|
4
4
|
//#region src/drivers/promise.ts
|
|
@@ -2154,6 +2154,13 @@ const createDefaultOptions = S.decodeEffect(Options_exports.StrykerOptionsSchema
|
|
|
2154
2154
|
const defaultOptions = Effect$1.map(createDefaultOptions, (options) => deepFreeze(options));
|
|
2155
2155
|
//#endregion
|
|
2156
2156
|
//#region src/ConfigError.schema.ts
|
|
2157
|
+
const CAUSE_DEPTH = 4;
|
|
2158
|
+
const ownMessageOf = (value) => Option$1.filter(Option$1.map(Option$1.liftPredicate(value, Predicate$1.hasProperty("message")), (carrier) => String(carrier.message)), S.is(S.NonEmptyString));
|
|
2159
|
+
const causeMessagesOf = (value, depth) => depth === 0 ? [] : [...Option$1.toArray(ownMessageOf(value)), ...Option$1.match(Option$1.liftPredicate(value, Predicate$1.hasProperty("cause")), {
|
|
2160
|
+
onNone: () => [],
|
|
2161
|
+
onSome: (carrier) => causeMessagesOf(carrier.cause, depth - 1)
|
|
2162
|
+
})];
|
|
2163
|
+
const causeTextOf$1 = (cause) => Option$1.liftPredicate(causeMessagesOf(cause, CAUSE_DEPTH).join(": "), S.is(S.NonEmptyString));
|
|
2157
2164
|
var ConfigFileNotFoundError = class extends S.TaggedError()("ConfigFileNotFoundError", { file: S.String }) {
|
|
2158
2165
|
exitClass = "ConfigError";
|
|
2159
2166
|
get message() {
|
|
@@ -2175,7 +2182,10 @@ var ConfigFileUnreadableError = class extends S.TaggedError()("ConfigFileUnreada
|
|
|
2175
2182
|
}) {
|
|
2176
2183
|
exitClass = "ConfigError";
|
|
2177
2184
|
get message() {
|
|
2178
|
-
return
|
|
2185
|
+
return Option$1.match(causeTextOf$1(this.cause), {
|
|
2186
|
+
onNone: () => `Config file is unreadable: ${this.file}`,
|
|
2187
|
+
onSome: (cause) => `Config file is unreadable: ${this.file}: ${cause}`
|
|
2188
|
+
});
|
|
2179
2189
|
}
|
|
2180
2190
|
};
|
|
2181
2191
|
var ConfigFileInvalidError = class extends S.TaggedError()("ConfigFileInvalidError", {
|
|
@@ -11336,7 +11346,7 @@ const strykerOutputFilesOf = (options) => [
|
|
|
11336
11346
|
];
|
|
11337
11347
|
//#endregion
|
|
11338
11348
|
//#region package.json
|
|
11339
|
-
var version = "16.0.
|
|
11349
|
+
var version = "16.0.1";
|
|
11340
11350
|
//#endregion
|
|
11341
11351
|
//#region src/stryker-package.schema.ts
|
|
11342
11352
|
var StrykerPackage = class extends S.Class("StrykerPackage")({
|
|
@@ -20349,7 +20359,7 @@ const prepareCell = Sandwich.named(SpanTaxonomy_exports.Spans.prepare.name)(read
|
|
|
20349
20359
|
});
|
|
20350
20360
|
//#endregion
|
|
20351
20361
|
//#region src/run/run-stages.cell.ts
|
|
20352
|
-
const configReadReasonOf = (cause) =>
|
|
20362
|
+
const configReadReasonOf = (cause) => cause.message;
|
|
20353
20363
|
const mutationTestCell = Cell.andThen(Cell.andThen(Cell.andThen(Cell.andThen(Cell.mapError(loadConfigCell, (cause) => StageError.make({
|
|
20354
20364
|
stage: "prepare",
|
|
20355
20365
|
reason: configReadReasonOf(cause),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@systemfsoftware/stryker-js",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/systemfsoftware/stryker-js-effect.git",
|
|
@@ -72,14 +72,14 @@
|
|
|
72
72
|
"vitest": "^5",
|
|
73
73
|
"@systemfsoftware/stryker-config": "^0.1.0",
|
|
74
74
|
"@systemfsoftware/stryker-framework-interface": "^0.0.0",
|
|
75
|
-
"@systemfsoftware/stryker-js-cli-contract": "^0.3.0",
|
|
76
75
|
"@systemfsoftware/stryker-ignorer-interface": "^0.1.1",
|
|
76
|
+
"@systemfsoftware/stryker-js-cli-contract": "^0.3.0",
|
|
77
|
+
"@systemfsoftware/stryker-js-plugin-interface": "^13.0.0",
|
|
77
78
|
"@systemfsoftware/stryker-js-html-reporter": "^6.0.1",
|
|
78
|
-
"@systemfsoftware/stryker-js-instrumenter": "^12.1.0",
|
|
79
79
|
"@systemfsoftware/stryker-js-plugin-runtime": "^7.0.1",
|
|
80
|
-
"@systemfsoftware/stryker-js-plugin-interface": "^13.0.0",
|
|
81
80
|
"@systemfsoftware/tsdown-config": "^0.1.0",
|
|
82
|
-
"@systemfsoftware/vitest-config": "^0.1.0"
|
|
81
|
+
"@systemfsoftware/vitest-config": "^0.1.0",
|
|
82
|
+
"@systemfsoftware/stryker-js-instrumenter": "^12.1.0"
|
|
83
83
|
},
|
|
84
84
|
"publishConfig": {
|
|
85
85
|
"access": "public",
|