@systemfsoftware/stryker-js 8.0.0 → 9.0.0
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 +6 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +1 -1
- package/dist/main.mjs +129 -83
- package/dist/{mutation-test.cell-Ch-QUquW.d.mts → mutation-test.cell-BTa-up9u.d.mts} +1 -54
- package/dist/promises.d.mts +1 -1
- package/dist/promises.mjs +1 -1
- package/dist/{src-WMC3thmX.mjs → src-BQuaL-fB.mjs} +195 -181
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @systemfsoftware/stryker-js
|
|
2
2
|
|
|
3
|
+
## 9.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- The incremental file now carries `incrementalVersion` (the Stryker package version). Stryker writes it on every incremental run and discards an incremental file it cannot parse or whose `incrementalVersion` differs from the running version, falling back to a full mutation testing run instead of failing. `IncrementalReportSchema` requires `incrementalVersion`, and `decodeIncrementalReport` and `IncrementalReportError` are no longer exported.
|
|
8
|
+
|
|
3
9
|
## 8.0.0
|
|
4
10
|
|
|
5
11
|
### Major Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1110,6 +1110,7 @@ declare interface ImportSpecifier extends Span$1 {
|
|
|
1110
1110
|
}
|
|
1111
1111
|
|
|
1112
1112
|
export declare const IncrementalReportSchema: S.StructWithRest<S.Struct<{
|
|
1113
|
+
readonly incrementalVersion: S.String;
|
|
1113
1114
|
readonly schemaVersion: S.String;
|
|
1114
1115
|
readonly thresholds: S.Struct<{
|
|
1115
1116
|
readonly high: S.Finite;
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as StrykerError, $t as FileResultSchema, A as describeErrors, At as RunStarted, B as WorkerLauncher, Bt as defaultOptions, C as
|
|
1
|
+
import { $ as StrykerError, $t as FileResultSchema, A as describeErrors, At as RunStarted, B as WorkerLauncher, Bt as defaultOptions, C as strykerVersion, Ct as Heartbeat, D as reporterWorkerFactory, Dt as RunFailed, E as REPORTER_EVENT_BATCH_BOUND, Et as PlanKnown, F as mergeConfigs, Ft as verdictExitClass, G as ChildProcessCrashedError, Gt as CheckerCheckResult, H as makeWorkerClient, Ht as isModuleSpecifier, I as readConfig, It as CONFIG_SYNTAX_HELP, J as VmRunner, Jt as CheckerMutantWire, K as OutOfMemoryError, Kt as CheckerFailed, L as validateOptions, Lt as SUPPORTED_CONFIG_FILE_NAMES, M as importModule, Mt as EXIT_CODE, N as initialExtendsStepState, Nt as highestExitClass, O as spawnReporterWorker, Ot as RunMutantTested, P as loadConfigCell, Pt as resolveExitCode, Q as vmTestRunner, Qt as ExitClass, R as buildTestRunner, Rt as createDefaultOptions, S as matchesFile, St as RunIdentity, T as RunEnvironment, Tt as PhaseEntered, U as IdGenerator, Ut as isWarningEnabled, V as connectRetry, Vt as findUnserializables, W as classifyWorkerExit, Wt as optionsPath, X as vmRunnerCapabilities, Xt as CheckerRpcs, Y as isVmRunner, Yt as CheckerRequest, Z as vmRunnerName, Zt as DryRunCompleted, _ as checkerProcessCrashes, _n as MutantStatusSchema, _t as forkOptionsSchema, a as shouldKeepTempDir, an as MutationTestingPlanReady, at as ConfigFileUnsupportedError, b as CheckerSkippedRequested, bt as StageError, c as buildVerdictEnvelope, cn as ReporterEventBatch, ct as ExtendsStepRead, d as calculateMetrics, dn as StrykerOptionsSchema, dt as ExtendsStepStateSchema, en as MetricsSchema, et as ConfigDocumentSchema, f as countMutants, fn as TestRunnerConfigSchema, ft as ImportedModuleSchema, g as checkerMutantsSkipped, gn as MutantActivationSchema, gt as extendsPropertySchema, h as checkerMutantsChecked, hn as LocationSchema, ht as ReadConfigCommand, i as mutationTestCell, in as MutationTestResultSchema, it as ConfigFileUnreadableError, j as forkCoreSchema, jt as VerdictReached, k as decideExtendsStep, kt as RunPhase, l as generateRunId, ln as ReporterInitOptions, lt as ExtendsStepRefused, m as checkerDuration, mn as WorkerPluginKind, mt as MergeResult, n as RUN_EVENTS_QUEUE_BOUND, nn as MutantTested, nt as ConfigFileInvalidError, o as ACTIONABLE_STATUSES, on as ReporterAck, ot as ExtendsStepDocumentSchema, p as checkGroupedPlans, pn as TraceContextMiddleware, pt as MergeCommand, q as WorkerBootTimeoutError, qt as CheckerGroupResult, r as makeRunLayer, rn as MutationTestReportReady, rt as ConfigFileNotFoundError, s as VERDICT_ENVELOPE_SCHEMA_VERSION, sn as ReporterDrained, st as ExtendsStepDone, t as strykerCell, tn as MutantResultSchema, tt as ConfigError, u as isActionableStatus, un as ReporterRpcs, ut as ExtendsStepResolve, v as checkerRpcFailures, vn as PositionSchema, vt as survivorsPriorReport, w as IncrementalReportSchema, wt as HelpRendered, x as createFileMatcher, xt as RunEvents, y as CheckerAnsweredUnrequested, yt as toRelativeNormalizedFileName, z as isCommandRunner, zt as deepFreeze } from "./src-BQuaL-fB.mjs";
|
|
2
2
|
export { ACTIONABLE_STATUSES, CONFIG_SYNTAX_HELP, CheckerAnsweredUnrequested, CheckerCheckResult, CheckerFailed, CheckerGroupResult, CheckerMutantWire, CheckerRequest, CheckerRpcs, CheckerSkippedRequested, ChildProcessCrashedError, ConfigDocumentSchema, ConfigError, ConfigFileInvalidError, ConfigFileNotFoundError, ConfigFileUnreadableError, ConfigFileUnsupportedError, DryRunCompleted, EXIT_CODE, ExitClass, ExtendsStepDocumentSchema, ExtendsStepDone, ExtendsStepRead, ExtendsStepRefused, ExtendsStepResolve, ExtendsStepStateSchema, FileResultSchema, Heartbeat, HelpRendered, IdGenerator, ImportedModuleSchema, IncrementalReportSchema, LocationSchema, MergeCommand, MergeResult, MetricsSchema, MutantActivationSchema, MutantResultSchema, MutantStatusSchema, MutantTested, MutationTestReportReady, MutationTestResultSchema, MutationTestingPlanReady, OutOfMemoryError, PhaseEntered, PlanKnown, PositionSchema, REPORTER_EVENT_BATCH_BOUND, RUN_EVENTS_QUEUE_BOUND, ReadConfigCommand, ReporterAck, ReporterDrained, ReporterEventBatch, ReporterInitOptions, ReporterRpcs, RunEnvironment, RunEvents, RunFailed, RunIdentity, RunMutantTested, RunPhase, RunStarted, SUPPORTED_CONFIG_FILE_NAMES, StageError, StrykerError, StrykerOptionsSchema, TestRunnerConfigSchema, TraceContextMiddleware, VERDICT_ENVELOPE_SCHEMA_VERSION, VerdictReached, VmRunner, WorkerBootTimeoutError, WorkerLauncher, WorkerPluginKind, buildTestRunner, buildVerdictEnvelope, calculateMetrics, checkGroupedPlans, checkerDuration, checkerMutantsChecked, checkerMutantsSkipped, checkerProcessCrashes, checkerRpcFailures, classifyWorkerExit, connectRetry, countMutants, createDefaultOptions, createFileMatcher, decideExtendsStep, deepFreeze, defaultOptions, describeErrors, extendsPropertySchema, findUnserializables, forkCoreSchema, forkOptionsSchema, generateRunId, highestExitClass, importModule, initialExtendsStepState, isActionableStatus, isCommandRunner, isModuleSpecifier, isVmRunner, isWarningEnabled, loadConfigCell, makeRunLayer, makeWorkerClient, matchesFile, mergeConfigs, mutationTestCell, optionsPath, readConfig, reporterWorkerFactory, resolveExitCode, shouldKeepTempDir, spawnReporterWorker, strykerCell, strykerVersion, survivorsPriorReport, toRelativeNormalizedFileName, validateOptions, verdictExitClass, vmRunnerCapabilities, vmRunnerName, vmTestRunner };
|
package/dist/main.mjs
CHANGED
|
@@ -3072,6 +3072,8 @@ const succeed$9 = (success) => {
|
|
|
3072
3072
|
a.success = success;
|
|
3073
3073
|
return a;
|
|
3074
3074
|
};
|
|
3075
|
+
/** @internal */
|
|
3076
|
+
const getSuccess$1 = (self) => isFailure$2(self) ? none$1 : some$1(self.success);
|
|
3075
3077
|
//#endregion
|
|
3076
3078
|
//#region ../../node_modules/.pnpm/effect@4.0.0-rc.112/node_modules/effect/dist/Order.js
|
|
3077
3079
|
/**
|
|
@@ -4879,6 +4881,36 @@ const isFailure$1 = isFailure$2;
|
|
|
4879
4881
|
*/
|
|
4880
4882
|
const isSuccess$1 = isSuccess$2;
|
|
4881
4883
|
/**
|
|
4884
|
+
* Extracts the success value as an `Option`, discarding the failure.
|
|
4885
|
+
*
|
|
4886
|
+
* **When to use**
|
|
4887
|
+
*
|
|
4888
|
+
* Use when you need to extract the success value from a `Result` as an
|
|
4889
|
+
* `Option` and discard failure information.
|
|
4890
|
+
*
|
|
4891
|
+
* **Details**
|
|
4892
|
+
*
|
|
4893
|
+
* - `Success<A>` becomes `Some<A>`
|
|
4894
|
+
* - `Failure<E>` becomes `None`
|
|
4895
|
+
*
|
|
4896
|
+
* **Example** (Extracting the success as an Option)
|
|
4897
|
+
*
|
|
4898
|
+
* ```ts import.meta.vitest
|
|
4899
|
+
* import { Option, Result } from "effect"
|
|
4900
|
+
*
|
|
4901
|
+
* Result.getSuccess(Result.succeed("ok")) // => Option.some("ok")
|
|
4902
|
+
*
|
|
4903
|
+
* Result.getSuccess(Result.fail("err")) // => Option.none()
|
|
4904
|
+
* ```
|
|
4905
|
+
*
|
|
4906
|
+
* @see {@link getFailure} to extract the error instead
|
|
4907
|
+
* @see {@link fromOption} for the reverse conversion
|
|
4908
|
+
*
|
|
4909
|
+
* @category getters
|
|
4910
|
+
* @since 4.0.0
|
|
4911
|
+
*/
|
|
4912
|
+
const getSuccess = getSuccess$1;
|
|
4913
|
+
/**
|
|
4882
4914
|
* Transforms the failure channel of a `Result`, leaving the success channel unchanged.
|
|
4883
4915
|
*
|
|
4884
4916
|
* **When to use**
|
|
@@ -24365,7 +24397,7 @@ const layer$12 = (loggers, options) => effect(CurrentLoggers, withFiber$1(fnUntr
|
|
|
24365
24397
|
//#region package.json
|
|
24366
24398
|
var package_default = {
|
|
24367
24399
|
name: "@systemfsoftware/stryker-js",
|
|
24368
|
-
version: "
|
|
24400
|
+
version: "9.0.0",
|
|
24369
24401
|
repository: {
|
|
24370
24402
|
"type": "git",
|
|
24371
24403
|
"url": "git+https://github.com/systemfsoftware/stryker-js-effect.git",
|
|
@@ -25737,7 +25769,7 @@ function String$3() {
|
|
|
25737
25769
|
function Number$3() {
|
|
25738
25770
|
return transform$3(globalThis.Number);
|
|
25739
25771
|
}
|
|
25740
|
-
function parseJson
|
|
25772
|
+
function parseJson(options) {
|
|
25741
25773
|
return onSome((input, parseOptions) => try_({
|
|
25742
25774
|
try: () => some(JSON.parse(input, options?.reviver)),
|
|
25743
25775
|
catch: () => new InvalidValue$1({ expected: "a valid JSON string" }, input, parseOptions)
|
|
@@ -26458,7 +26490,7 @@ const defectFromJson = (options) => transform$2({
|
|
|
26458
26490
|
* @since 4.0.0
|
|
26459
26491
|
*/
|
|
26460
26492
|
function fromJsonString$1(options) {
|
|
26461
|
-
return new Transformation(parseJson
|
|
26493
|
+
return new Transformation(parseJson(options ?? {}), stringifyJson(options));
|
|
26462
26494
|
}
|
|
26463
26495
|
//#endregion
|
|
26464
26496
|
//#region ../../node_modules/.pnpm/effect@4.0.0-rc.112/node_modules/effect/dist/SchemaAST.js
|
|
@@ -43603,11 +43635,11 @@ function replaceFirstMatch(path, original, replacement) {
|
|
|
43603
43635
|
*/
|
|
43604
43636
|
function toApiLocation(startOffset, endOffset, lineTable, offset) {
|
|
43605
43637
|
return {
|
|
43606
|
-
start: toPosition
|
|
43607
|
-
end: toPosition
|
|
43638
|
+
start: toPosition(positionFromLineTable(startOffset, lineTable), offset),
|
|
43639
|
+
end: toPosition(positionFromLineTable(endOffset, lineTable), offset)
|
|
43608
43640
|
};
|
|
43609
43641
|
}
|
|
43610
|
-
function toPosition
|
|
43642
|
+
function toPosition(source, offset) {
|
|
43611
43643
|
let columnOffset = 0;
|
|
43612
43644
|
if (source.line === 1) columnOffset = offset.column;
|
|
43613
43645
|
return {
|
|
@@ -53905,8 +53937,8 @@ const labelCheckOf = (parts) => match$6(repeatedLabel(parts), {
|
|
|
53905
53937
|
onNone: () => LabelsDistinct.make({}),
|
|
53906
53938
|
onSome: (label) => DuplicateLabelFound.make({ label })
|
|
53907
53939
|
});
|
|
53908
|
-
const decide = (command) => value(labelCheckOf(command.parts)).pipe(tag("DuplicateLabelFound", (found) => fail$4(DuplicatePackageLabel.make({ label: found.label }))), tag("LabelsDistinct", () => decideMerge(command)), exhaustive);
|
|
53909
|
-
const mergeReportParts = Workflow_exports.make(MergeReportPartsCommand, decide);
|
|
53940
|
+
const decide$1 = (command) => value(labelCheckOf(command.parts)).pipe(tag("DuplicateLabelFound", (found) => fail$4(DuplicatePackageLabel.make({ label: found.label }))), tag("LabelsDistinct", () => decideMerge(command)), exhaustive);
|
|
53941
|
+
const mergeReportParts = Workflow_exports.make(MergeReportPartsCommand, decide$1);
|
|
53910
53942
|
//#endregion
|
|
53911
53943
|
//#region src/merge-reports.schema.ts
|
|
53912
53944
|
var MergeReportsFailed = class extends TaggedError()("MergeReportsFailed", { reason: String$1 }) {};
|
|
@@ -99077,6 +99109,7 @@ const TestFileLikeSchema = Struct({
|
|
|
99077
99109
|
tests: ArraySchema(TestDefinitionLikeSchema)
|
|
99078
99110
|
});
|
|
99079
99111
|
const IncrementalReportSchema = StructWithRest(Struct({
|
|
99112
|
+
incrementalVersion: String$1,
|
|
99080
99113
|
schemaVersion: String$1,
|
|
99081
99114
|
thresholds: Struct({
|
|
99082
99115
|
high: Finite,
|
|
@@ -99085,7 +99118,85 @@ const IncrementalReportSchema = StructWithRest(Struct({
|
|
|
99085
99118
|
files: Record(String$1, FileResultLikeSchema),
|
|
99086
99119
|
testFiles: optional$4(Record(String$1, TestFileLikeSchema))
|
|
99087
99120
|
}), [Record(String$1, Unknown)]);
|
|
99088
|
-
|
|
99121
|
+
//#endregion
|
|
99122
|
+
//#region src/admit-incremental-report.workflow.ts
|
|
99123
|
+
var AdmitIncrementalReportCommand = class extends TaggedClass()("AdmitIncrementalReportCommand", {
|
|
99124
|
+
report: optional$4(IncrementalReportSchema),
|
|
99125
|
+
expectedVersion: String$1
|
|
99126
|
+
}) {};
|
|
99127
|
+
const IncrementalReportDecisionTypeId = Symbol.for("@systemfsoftware/stryker-js/IncrementalReportDecision");
|
|
99128
|
+
var IncrementalReportKeep = class extends TaggedClass()("IncrementalReportKeep", { report: IncrementalReportSchema }) {
|
|
99129
|
+
[IncrementalReportDecisionTypeId] = IncrementalReportDecisionTypeId;
|
|
99130
|
+
};
|
|
99131
|
+
var IncrementalReportDiscard = class extends TaggedClass()("IncrementalReportDiscard", {
|
|
99132
|
+
actual: optional$4(String$1),
|
|
99133
|
+
expected: String$1
|
|
99134
|
+
}) {
|
|
99135
|
+
[IncrementalReportDecisionTypeId] = IncrementalReportDecisionTypeId;
|
|
99136
|
+
};
|
|
99137
|
+
const decide = (command) => match$6(fromUndefinedOr(command.report), {
|
|
99138
|
+
onNone: () => IncrementalReportDiscard.make({
|
|
99139
|
+
actual: void 0,
|
|
99140
|
+
expected: command.expectedVersion
|
|
99141
|
+
}),
|
|
99142
|
+
onSome: (report) => value(report.incrementalVersion === command.expectedVersion).pipe(when(true, () => IncrementalReportKeep.make({ report })), orElse(() => IncrementalReportDiscard.make({
|
|
99143
|
+
actual: report.incrementalVersion,
|
|
99144
|
+
expected: command.expectedVersion
|
|
99145
|
+
})))
|
|
99146
|
+
});
|
|
99147
|
+
const admitIncrementalReport = Workflow_exports.total(AdmitIncrementalReportCommand, (command) => succeed$8(decide(command)));
|
|
99148
|
+
//#endregion
|
|
99149
|
+
//#region src/stryker-package.schema.ts
|
|
99150
|
+
const PackageJsonSchema = Struct({ version: String$1 });
|
|
99151
|
+
//#endregion
|
|
99152
|
+
//#region src/stryker-package.ts
|
|
99153
|
+
const rawPackageJson = package_default;
|
|
99154
|
+
const strykerVersion = decodeUnknownSync(PackageJsonSchema)(rawPackageJson).version;
|
|
99155
|
+
//#endregion
|
|
99156
|
+
//#region src/incremental-report.cell.ts
|
|
99157
|
+
const parseAndDecodeIncrementalReport = decodeUnknownResult(fromJsonString(IncrementalReportSchema));
|
|
99158
|
+
const readIncrementalReportRaw = (input) => {
|
|
99159
|
+
if (!input.incremental) return succeed$4({
|
|
99160
|
+
incremental: false,
|
|
99161
|
+
incrementalFile: input.incrementalFile,
|
|
99162
|
+
contents: void 0
|
|
99163
|
+
});
|
|
99164
|
+
return gen(function* () {
|
|
99165
|
+
const contents = yield* (yield* FileSystem).readFileString(input.incrementalFile).pipe(catchTag("PlatformError", (error) => value(error.reason).pipe(tag("NotFound", () => logInfo(`No incremental result file found at ${input.incrementalFile}, a full mutation testing run will be performed.`).pipe(as(void 0))), orElse(() => fail(error)))));
|
|
99166
|
+
return {
|
|
99167
|
+
incremental: true,
|
|
99168
|
+
incrementalFile: input.incrementalFile,
|
|
99169
|
+
contents
|
|
99170
|
+
};
|
|
99171
|
+
});
|
|
99172
|
+
};
|
|
99173
|
+
const decodeIncrementalReportRaw = (raw) => succeed$8(AdmitIncrementalReportCommand.make({
|
|
99174
|
+
report: getOrUndefined$1(flatMap$5(fromUndefinedOr(raw.contents), (text) => getSuccess(parseAndDecodeIncrementalReport(text)))),
|
|
99175
|
+
expectedVersion: strykerVersion
|
|
99176
|
+
}));
|
|
99177
|
+
const writeIncrementalReportOutcome = (outcome, raw) => match$5(outcome, {
|
|
99178
|
+
onFailure: (error) => fail(error),
|
|
99179
|
+
onSuccess: (decision) => value(decision).pipe(tag("IncrementalReportKeep", (keep) => {
|
|
99180
|
+
const report = keep.report;
|
|
99181
|
+
return succeedSome(report);
|
|
99182
|
+
}), tag("IncrementalReportDiscard", (discard) => {
|
|
99183
|
+
if (!raw.incremental) return succeedNone;
|
|
99184
|
+
return match$6(fromUndefinedOr(raw.contents), {
|
|
99185
|
+
onNone: () => succeedNone,
|
|
99186
|
+
onSome: () => match$6(fromUndefinedOr(discard.actual), {
|
|
99187
|
+
onNone: () => logInfo(`Unable to parse incremental result file at ${raw.incrementalFile}; a full mutation testing run will be performed.`).pipe(as(none())),
|
|
99188
|
+
onSome: (actual) => logInfo(`Incremental result file at ${raw.incrementalFile} version ${actual} does not match expected version ${discard.expected}; a full mutation testing run will be performed.`).pipe(as(none()))
|
|
99189
|
+
})
|
|
99190
|
+
});
|
|
99191
|
+
}), exhaustive)
|
|
99192
|
+
});
|
|
99193
|
+
const incrementalReportCell = Cell_exports.layer({
|
|
99194
|
+
read: readIncrementalReportRaw,
|
|
99195
|
+
decode: decodeIncrementalReportRaw,
|
|
99196
|
+
decide: admitIncrementalReport,
|
|
99197
|
+
encode: (outcome) => outcome,
|
|
99198
|
+
write: writeIncrementalReportOutcome
|
|
99199
|
+
});
|
|
99089
99200
|
//#endregion
|
|
99090
99201
|
//#region src/Project.ts
|
|
99091
99202
|
const DEFAULT_GLOB$1 = "**/*.{js,ts,jsx,tsx,html,vue,mjs,mts,cts,cjs}";
|
|
@@ -99307,54 +99418,6 @@ const selectFiles = (input) => ({
|
|
|
99307
99418
|
fileDescriptions: resolveFileDescriptionsPure(input.inputFileNames, input.mutatePatterns, input.targetMutatePatterns, input.basePath),
|
|
99308
99419
|
testFiles: resolveTestFilesPure(input.inputFileNames, input.testFilePatterns, input.basePath)
|
|
99309
99420
|
});
|
|
99310
|
-
const toPosition = (position) => ({
|
|
99311
|
-
line: position.line,
|
|
99312
|
-
column: position.column
|
|
99313
|
-
});
|
|
99314
|
-
const toLocation = (location) => ({
|
|
99315
|
-
start: toPosition(location.start),
|
|
99316
|
-
end: toPosition(location.end)
|
|
99317
|
-
});
|
|
99318
|
-
const toOpenEndLocation = (location) => match$6(fromUndefinedOr(location.end), {
|
|
99319
|
-
onNone: () => ({ start: toPosition(location.start) }),
|
|
99320
|
-
onSome: (end) => ({
|
|
99321
|
-
start: toPosition(location.start),
|
|
99322
|
-
end: toPosition(end)
|
|
99323
|
-
})
|
|
99324
|
-
});
|
|
99325
|
-
const withMappedMutantLocations = (report) => Object.fromEntries(Object.entries(report.files).map(([fileName, file]) => [fileName, {
|
|
99326
|
-
...file,
|
|
99327
|
-
mutants: file.mutants.map((mutant) => ({
|
|
99328
|
-
...mutant,
|
|
99329
|
-
location: toLocation(mutant.location)
|
|
99330
|
-
}))
|
|
99331
|
-
}]));
|
|
99332
|
-
const withMappedTestLocations = (testFiles) => Object.fromEntries(Object.entries(testFiles).map(([fileName, file]) => [fileName, {
|
|
99333
|
-
...file,
|
|
99334
|
-
tests: file.tests.map((test) => match$6(fromUndefinedOr(test.location), {
|
|
99335
|
-
onNone: () => ({ ...test }),
|
|
99336
|
-
onSome: (location) => ({
|
|
99337
|
-
...test,
|
|
99338
|
-
location: toOpenEndLocation(location)
|
|
99339
|
-
})
|
|
99340
|
-
}))
|
|
99341
|
-
}]));
|
|
99342
|
-
const reshape = (decoded) => match$6(fromUndefinedOr(decoded.testFiles), {
|
|
99343
|
-
onNone: () => ({
|
|
99344
|
-
...decoded,
|
|
99345
|
-
files: withMappedMutantLocations(decoded)
|
|
99346
|
-
}),
|
|
99347
|
-
onSome: (testFiles) => ({
|
|
99348
|
-
...decoded,
|
|
99349
|
-
files: withMappedMutantLocations(decoded),
|
|
99350
|
-
testFiles: withMappedTestLocations(testFiles)
|
|
99351
|
-
})
|
|
99352
|
-
});
|
|
99353
|
-
const decodeIncrementalReport = (raw) => match$5(decodeUnknownResult(IncrementalReportSchema)(raw), {
|
|
99354
|
-
onFailure: () => fail$4(IncrementalReportError.make({ message: "The incremental report is not a mutation testing report; delete it or re-run without --incremental." })),
|
|
99355
|
-
onSuccess: (decoded) => succeed$8(reshape(decoded))
|
|
99356
|
-
});
|
|
99357
|
-
const parseJson = (text) => JSON.parse(text);
|
|
99358
99421
|
const stringArrayEquivalence = Array_(String$4);
|
|
99359
99422
|
function makeProjectFile(name, mutate, content, originalContent) {
|
|
99360
99423
|
return {
|
|
@@ -99511,23 +99574,6 @@ function resolveInputFileNames(ignoreRules, basePath) {
|
|
|
99511
99574
|
return yield* crawlDir(basePath, basePath);
|
|
99512
99575
|
});
|
|
99513
99576
|
}
|
|
99514
|
-
function parseIncrementalReport(contents) {
|
|
99515
|
-
return match$6(fromUndefinedOr(contents), {
|
|
99516
|
-
onNone: () => succeedNone,
|
|
99517
|
-
onSome: (text) => gen(function* () {
|
|
99518
|
-
const parsed = yield* try_(() => parseJson(text));
|
|
99519
|
-
const rawReport = yield* fromResult(decodeIncrementalReport(parsed));
|
|
99520
|
-
const isMutationTestResult = (_value) => true;
|
|
99521
|
-
if (!isMutationTestResult(rawReport)) throw new Error("Invalid incremental report shape");
|
|
99522
|
-
return fromUndefinedOr(rawReport);
|
|
99523
|
-
})
|
|
99524
|
-
});
|
|
99525
|
-
}
|
|
99526
|
-
function readIncrementalReport(incremental, incrementalFile) {
|
|
99527
|
-
return value(incremental).pipe(when(false, () => succeedNone), orElse(() => gen(function* () {
|
|
99528
|
-
return yield* parseIncrementalReport(yield* (yield* FileSystem).readFileString(incrementalFile).pipe(catchTag("PlatformError", (error) => value(error.reason).pipe(tag("NotFound", () => logInfo(`No incremental result file found at ${incrementalFile}, a full mutation testing run will be performed.`).pipe(as(void 0))), orElse(() => fail(error))))));
|
|
99529
|
-
})));
|
|
99530
|
-
}
|
|
99531
99577
|
function readProject(options, targetMutatePatterns, basePath) {
|
|
99532
99578
|
const { mutate, tempDirName, ignorePatterns, incremental, incrementalFile, progressStreamFile, htmlReporter, jsonReporter, testFiles } = options;
|
|
99533
99579
|
const mutatePatterns = mutate;
|
|
@@ -99579,7 +99625,10 @@ function readProject(options, targetMutatePatterns, basePath) {
|
|
|
99579
99625
|
basePath
|
|
99580
99626
|
}).testFiles.length === 0) yield* logWarning(`Glob pattern "${pattern}" did not match any test files.`);
|
|
99581
99627
|
}));
|
|
99582
|
-
const incrementalReport = yield*
|
|
99628
|
+
const incrementalReport = yield* incrementalReportCell.run({
|
|
99629
|
+
incremental,
|
|
99630
|
+
incrementalFile
|
|
99631
|
+
});
|
|
99583
99632
|
return makeProject(decision.fileDescriptions, getOrUndefined$1(incrementalReport), [...decision.testFiles]);
|
|
99584
99633
|
});
|
|
99585
99634
|
}
|
|
@@ -100827,13 +100876,6 @@ const assembleTestFiles = (input) => {
|
|
|
100827
100876
|
return Object.fromEntries(entries);
|
|
100828
100877
|
};
|
|
100829
100878
|
//#endregion
|
|
100830
|
-
//#region src/stryker-package.schema.ts
|
|
100831
|
-
const PackageJsonSchema = Struct({ version: String$1 });
|
|
100832
|
-
//#endregion
|
|
100833
|
-
//#region src/stryker-package.ts
|
|
100834
|
-
const rawPackageJson = package_default;
|
|
100835
|
-
const strykerVersion = decodeUnknownSync(PackageJsonSchema)(rawPackageJson).version;
|
|
100836
|
-
//#endregion
|
|
100837
100879
|
//#region ../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/utils.js
|
|
100838
100880
|
/**
|
|
100839
100881
|
* Checks if something is Uint8Array. Be careful: nodejs Buffer will return true.
|
|
@@ -101399,7 +101441,10 @@ const makeMutationReportingService = (input) => {
|
|
|
101399
101441
|
const fs = yield* FileSystem;
|
|
101400
101442
|
const dir = pathService.dirname(input.options.incrementalFile);
|
|
101401
101443
|
yield* fs.makeDirectory(dir, { recursive: true });
|
|
101402
|
-
const json = yield* encodeEffect(fromJsonString(Unknown, { space: 2 }))(
|
|
101444
|
+
const json = yield* encodeEffect(fromJsonString(Unknown, { space: 2 }))({
|
|
101445
|
+
incrementalVersion: strykerVersion,
|
|
101446
|
+
...report
|
|
101447
|
+
}).pipe(orDie);
|
|
101403
101448
|
yield* fs.writeFileString(input.options.incrementalFile, json);
|
|
101404
101449
|
}
|
|
101405
101450
|
return {
|
|
@@ -101418,6 +101463,7 @@ const makeMutationReportingService = (input) => {
|
|
|
101418
101463
|
const slimIncrementalReport = (results) => gen(function* () {
|
|
101419
101464
|
const { files, testFiles } = yield* assembleReport(results);
|
|
101420
101465
|
return {
|
|
101466
|
+
incrementalVersion: strykerVersion,
|
|
101421
101467
|
schemaVersion: "1.0",
|
|
101422
101468
|
thresholds: input.options.thresholds,
|
|
101423
101469
|
files,
|
|
@@ -1777,59 +1777,6 @@ interface SpawnReporterWorkerParams {
|
|
|
1777
1777
|
}
|
|
1778
1778
|
declare const spawnReporterWorker: (params: SpawnReporterWorkerParams) => Effect$1.Effect<ReporterWorkerClient, WorkerBootError, Scope.Scope | WorkerLauncher>;
|
|
1779
1779
|
//#endregion
|
|
1780
|
-
//#region src/IncrementalReport.schema.d.ts
|
|
1781
|
-
declare const IncrementalReportSchema: S.StructWithRest<S.Struct<{
|
|
1782
|
-
readonly schemaVersion: S.String;
|
|
1783
|
-
readonly thresholds: S.Struct<{
|
|
1784
|
-
readonly high: S.Finite;
|
|
1785
|
-
readonly low: S.Finite;
|
|
1786
|
-
}>;
|
|
1787
|
-
readonly files: S.$Record<S.String, S.Struct<{
|
|
1788
|
-
readonly language: S.String;
|
|
1789
|
-
readonly source: S.String;
|
|
1790
|
-
readonly mutants: S.$Array<S.Struct<{
|
|
1791
|
-
readonly id: S.String;
|
|
1792
|
-
readonly mutatorName: S.String;
|
|
1793
|
-
readonly replacement: S.String;
|
|
1794
|
-
readonly location: S.Struct<{
|
|
1795
|
-
readonly start: S.Struct<{
|
|
1796
|
-
readonly line: S.Finite;
|
|
1797
|
-
readonly column: S.Finite;
|
|
1798
|
-
}>;
|
|
1799
|
-
readonly end: S.Struct<{
|
|
1800
|
-
readonly line: S.Finite;
|
|
1801
|
-
readonly column: S.Finite;
|
|
1802
|
-
}>;
|
|
1803
|
-
}>;
|
|
1804
|
-
readonly status: S.Literals<readonly ["Killed", "Survived", "NoCoverage", "Timeout", "CompileError", "RuntimeError", "Ignored", "Pending"]>;
|
|
1805
|
-
readonly killedBy: S.optional<S.$Array<S.String>>;
|
|
1806
|
-
readonly coveredBy: S.optional<S.$Array<S.String>>;
|
|
1807
|
-
readonly static: S.optional<S.Boolean>;
|
|
1808
|
-
readonly statusReason: S.optional<S.String>;
|
|
1809
|
-
readonly testsCompleted: S.optional<S.Finite>;
|
|
1810
|
-
readonly description: S.optional<S.String>;
|
|
1811
|
-
readonly duration: S.optional<S.Finite>;
|
|
1812
|
-
}>>;
|
|
1813
|
-
}>>;
|
|
1814
|
-
readonly testFiles: S.optional<S.$Record<S.String, S.Struct<{
|
|
1815
|
-
readonly source: S.optional<S.String>;
|
|
1816
|
-
readonly tests: S.$Array<S.Struct<{
|
|
1817
|
-
readonly id: S.String;
|
|
1818
|
-
readonly name: S.String;
|
|
1819
|
-
readonly location: S.optional<S.Struct<{
|
|
1820
|
-
readonly start: S.Struct<{
|
|
1821
|
-
readonly line: S.Finite;
|
|
1822
|
-
readonly column: S.Finite;
|
|
1823
|
-
}>;
|
|
1824
|
-
readonly end: S.optional<S.Struct<{
|
|
1825
|
-
readonly line: S.Finite;
|
|
1826
|
-
readonly column: S.Finite;
|
|
1827
|
-
}>>;
|
|
1828
|
-
}>>;
|
|
1829
|
-
}>>;
|
|
1830
|
-
}>>>;
|
|
1831
|
-
}>, readonly [S.$Record<S.String, S.Unknown>]>;
|
|
1832
|
-
//#endregion
|
|
1833
1780
|
//#region src/Project.d.ts
|
|
1834
1781
|
interface ProjectFile extends FileDescription {
|
|
1835
1782
|
readonly name: string;
|
|
@@ -1914,4 +1861,4 @@ interface MutationTestDone {
|
|
|
1914
1861
|
readonly verdict: ExitClass | null;
|
|
1915
1862
|
}
|
|
1916
1863
|
//#endregion
|
|
1917
|
-
export {
|
|
1864
|
+
export { PluginKind as $, ExtendsStepDocument as A, makeWorkerClient as At, MergeResult as B, ConfigError as C, WorkerBootError as Ct, ConfigFileUnsupportedError as D, WorkerLauncherShape as Dt, ConfigFileUnreadableError as E, WorkerLauncher as Et, ExtendsStepResolve as F, AnyPluginDescriptor as G, extendsPropertySchema as H, ExtendsStepState as I, EvaluatorPluginDescriptor as J, AnyWorkerPluginDescriptor as K, ExtendsStepStateSchema as L, ExtendsStepDone as M, OutOfMemoryError as Mt, ExtendsStepRead as N, WorkerBootTimeoutError as Nt, ExtendsRefusalReason as O, WorkerSpawnParams as Ot, ExtendsStepRefused as P, StageError as Pt, PluginDescriptorOf as Q, ImportedModuleSchema as R, ConfigDocumentSchema as S, SpawnedSocketWorker as St, ConfigFileNotFoundError as T, WorkerExit as Tt, forkOptionsSchema as U, ReadConfigCommand as V, survivorsPriorReport as W, LoadedPlugins as X, EvaluatorPluginSource as Y, PluginDescriptor as Z, ReporterStage as _, RunMutantTested as _t, WiredRunLayer as a, IdGeneratorShape as at, reporterWorkerFactory as b, RunTerminalEvent as bt, PrepareDone as c, RunEvents as ct, RunEnvironmentShape as d, Heartbeat as dt, PluginSource as et, SandboxHandle as f, HelpRendered as ft, REPORTER_EVENT_BATCH_BOUND as g, RunFailed as gt, ProjectFile as h, RunEvent as ht, StageServices as i, IdGenerator as it, ExtendsStepDocumentSchema as j, ChildProcessCrashedError as jt, ExtendsStepDecision as k, connectRetry as kt, PrepareExecutorArgs as l, RunIdentity as lt, Project as m, PlanKnown as mt, EnginePorts as n, WorkerPluginSource as nt, DryRunDone as o, classifyWorkerExit as ot, StrykerError as p, PhaseEntered as pt, AnyWorkerPluginSource as q, RunStageServices as r, Ignorer as rt, InstrumentDone as s, TestCoverage as st, MutationTestDone as t, WorkerPluginDescriptor as tt, RunEnvironment as u, RunIdentityShape as ut, ReporterWorkerClient as v, RunPhase as vt, ConfigFileInvalidError as w, WorkerClientParams as wt, spawnReporterWorker as x, VerdictReached as xt, SpawnReporterWorkerParams as y, RunStarted as yt, MergeCommand as z };
|
package/dist/promises.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { L as PartialStrykerOptions } from "./output-mode-CE6VNHfH.mjs";
|
|
2
|
-
import { t as MutationTestDone } from "./mutation-test.cell-
|
|
2
|
+
import { t as MutationTestDone } from "./mutation-test.cell-BTa-up9u.mjs";
|
|
3
3
|
//#region src/promises/index.d.ts
|
|
4
4
|
export declare const run: (options: PartialStrykerOptions, targetMutatePatterns?: readonly string[]) => Promise<MutationTestDone>;
|
|
5
5
|
//#endregion
|
package/dist/promises.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as strykerCell } from "./src-
|
|
1
|
+
import { t as strykerCell } from "./src-BQuaL-fB.mjs";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
3
|
import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem";
|
|
4
4
|
import * as NodePath from "@effect/platform-node-shared/NodePath";
|
|
@@ -6204,11 +6204,11 @@ function replaceFirstMatch(path, original, replacement) {
|
|
|
6204
6204
|
*/
|
|
6205
6205
|
function toApiLocation(startOffset, endOffset, lineTable, offset) {
|
|
6206
6206
|
return {
|
|
6207
|
-
start: toPosition
|
|
6208
|
-
end: toPosition
|
|
6207
|
+
start: toPosition(positionFromLineTable(startOffset, lineTable), offset),
|
|
6208
|
+
end: toPosition(positionFromLineTable(endOffset, lineTable), offset)
|
|
6209
6209
|
};
|
|
6210
6210
|
}
|
|
6211
|
-
function toPosition
|
|
6211
|
+
function toPosition(source, offset) {
|
|
6212
6212
|
let columnOffset = 0;
|
|
6213
6213
|
if (source.line === 1) columnOffset = offset.column;
|
|
6214
6214
|
return {
|
|
@@ -11805,12 +11805,193 @@ const ThresholdsLikeSchema = S.Struct({
|
|
|
11805
11805
|
low: S.Finite
|
|
11806
11806
|
});
|
|
11807
11807
|
const IncrementalReportSchema = S.StructWithRest(S.Struct({
|
|
11808
|
+
incrementalVersion: S.String,
|
|
11808
11809
|
schemaVersion: S.String,
|
|
11809
11810
|
thresholds: ThresholdsLikeSchema,
|
|
11810
11811
|
files: S.Record(S.String, FileResultLikeSchema),
|
|
11811
11812
|
testFiles: S.optional(S.Record(S.String, TestFileLikeSchema))
|
|
11812
11813
|
}), [S.Record(S.String, S.Unknown)]);
|
|
11813
|
-
|
|
11814
|
+
//#endregion
|
|
11815
|
+
//#region src/admit-incremental-report.workflow.ts
|
|
11816
|
+
var AdmitIncrementalReportCommand = class extends S.TaggedClass()("AdmitIncrementalReportCommand", {
|
|
11817
|
+
report: S.optional(IncrementalReportSchema),
|
|
11818
|
+
expectedVersion: S.String
|
|
11819
|
+
}) {};
|
|
11820
|
+
const IncrementalReportDecisionTypeId = Symbol.for("@systemfsoftware/stryker-js/IncrementalReportDecision");
|
|
11821
|
+
var IncrementalReportKeep = class extends S.TaggedClass()("IncrementalReportKeep", { report: IncrementalReportSchema }) {
|
|
11822
|
+
[IncrementalReportDecisionTypeId] = IncrementalReportDecisionTypeId;
|
|
11823
|
+
};
|
|
11824
|
+
var IncrementalReportDiscard = class extends S.TaggedClass()("IncrementalReportDiscard", {
|
|
11825
|
+
actual: S.optional(S.String),
|
|
11826
|
+
expected: S.String
|
|
11827
|
+
}) {
|
|
11828
|
+
[IncrementalReportDecisionTypeId] = IncrementalReportDecisionTypeId;
|
|
11829
|
+
};
|
|
11830
|
+
const decide = (command) => Option.match(Option.fromUndefinedOr(command.report), {
|
|
11831
|
+
onNone: () => IncrementalReportDiscard.make({
|
|
11832
|
+
actual: void 0,
|
|
11833
|
+
expected: command.expectedVersion
|
|
11834
|
+
}),
|
|
11835
|
+
onSome: (report) => Match.value(report.incrementalVersion === command.expectedVersion).pipe(Match.when(true, () => IncrementalReportKeep.make({ report })), Match.orElse(() => IncrementalReportDiscard.make({
|
|
11836
|
+
actual: report.incrementalVersion,
|
|
11837
|
+
expected: command.expectedVersion
|
|
11838
|
+
})))
|
|
11839
|
+
});
|
|
11840
|
+
const admitIncrementalReport = Workflow.total(AdmitIncrementalReportCommand, (command) => Result.succeed(decide(command)));
|
|
11841
|
+
//#endregion
|
|
11842
|
+
//#region package.json
|
|
11843
|
+
var package_default = {
|
|
11844
|
+
name: "@systemfsoftware/stryker-js",
|
|
11845
|
+
version: "9.0.0",
|
|
11846
|
+
repository: {
|
|
11847
|
+
"type": "git",
|
|
11848
|
+
"url": "git+https://github.com/systemfsoftware/stryker-js-effect.git",
|
|
11849
|
+
"directory": "packages/stryker-js"
|
|
11850
|
+
},
|
|
11851
|
+
homepage: "https://github.com/systemfsoftware/stryker-js-effect",
|
|
11852
|
+
bugs: { "url": "https://github.com/systemfsoftware/stryker-js-effect/issues" },
|
|
11853
|
+
description: "The Stryker mutation testing tool — the stryker executable, the run engine, and the configuration surface.",
|
|
11854
|
+
type: "module",
|
|
11855
|
+
files: ["dist"],
|
|
11856
|
+
bin: { "stryker": "./dist/main.mjs" },
|
|
11857
|
+
scripts: {
|
|
11858
|
+
"clean": "rimraf dist",
|
|
11859
|
+
"build": "rimraf dist && tsdown --config tsdown.bin.config.ts && tsdown --config tsdown.config.ts",
|
|
11860
|
+
"typecheck": "tsc --noEmit --incremental && tsc -p tsconfig.node.json --noEmit",
|
|
11861
|
+
"test": "vitest run",
|
|
11862
|
+
"mutation": "stryker run",
|
|
11863
|
+
"attw": "attw --pack .",
|
|
11864
|
+
"lint": "f=${OXLINT_FORMAT:-${AGENT:+agent}}; oxlint . --format=${f:-default}",
|
|
11865
|
+
"api:check": "api-extractor run",
|
|
11866
|
+
"api:update": "api-extractor run --local",
|
|
11867
|
+
"lint:tsgo": "effect-tsgo diagnostics --project tsconfig.json --format ${TSGO_FORMAT:-text}"
|
|
11868
|
+
},
|
|
11869
|
+
license: "Apache-2.0",
|
|
11870
|
+
engines: { "node": ">=22.18.0" },
|
|
11871
|
+
dependencies: {
|
|
11872
|
+
"@effect/opentelemetry": "4.0.0-rc.112",
|
|
11873
|
+
"@effect/platform-node": "catalog:",
|
|
11874
|
+
"@effect/platform-node-shared": "catalog:",
|
|
11875
|
+
"@noble/hashes": "catalog:",
|
|
11876
|
+
"@opentelemetry/api": "^1.9.0",
|
|
11877
|
+
"@opentelemetry/exporter-metrics-otlp-http": "^0.208.0",
|
|
11878
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.208.0",
|
|
11879
|
+
"@opentelemetry/sdk-metrics": "^2.2.0",
|
|
11880
|
+
"@opentelemetry/sdk-trace-base": "^2.2.0",
|
|
11881
|
+
"@systemfsoftware/effect-cell-types": "catalog:"
|
|
11882
|
+
},
|
|
11883
|
+
peerDependencies: { "effect": "catalog:" },
|
|
11884
|
+
devDependencies: {
|
|
11885
|
+
"@effect/tsgo": "catalog:",
|
|
11886
|
+
"@effect/vitest": "catalog:",
|
|
11887
|
+
"@microsoft/api-extractor": "catalog:",
|
|
11888
|
+
"@oxc-parser/binding-wasm32-wasi": "catalog:",
|
|
11889
|
+
"@std/jsonc": "catalog:",
|
|
11890
|
+
"@systemfsoftware/all": "catalog:",
|
|
11891
|
+
"@systemfsoftware/arethetypeswrong-cli": "catalog:",
|
|
11892
|
+
"@systemfsoftware/effect-gherkin-spec": "catalog:",
|
|
11893
|
+
"@systemfsoftware/effect-schema-law": "catalog:",
|
|
11894
|
+
"@systemfsoftware/effect-schema-vite": "catalog:",
|
|
11895
|
+
"@systemfsoftware/stryker-config": "workspace:^",
|
|
11896
|
+
"@systemfsoftware/stryker-ignorer-effect-schema-declarations": "catalog:stryker",
|
|
11897
|
+
"@systemfsoftware/stryker-ignorer-in-source-vitest-block": "catalog:stryker",
|
|
11898
|
+
"@systemfsoftware/stryker-ignorer-interface": "workspace:^",
|
|
11899
|
+
"@systemfsoftware/stryker-js": "catalog:stryker",
|
|
11900
|
+
"@systemfsoftware/stryker-js-html-reporter": "workspace:^",
|
|
11901
|
+
"@systemfsoftware/stryker-js-instrumenter": "workspace:^",
|
|
11902
|
+
"@systemfsoftware/stryker-js-plugin-interface": "workspace:^",
|
|
11903
|
+
"@systemfsoftware/stryker-js-plugin-runtime": "workspace:^",
|
|
11904
|
+
"@systemfsoftware/stryker-js-typescript-checker": "catalog:stryker",
|
|
11905
|
+
"@systemfsoftware/stryker-js-vitest-runner": "catalog:stryker",
|
|
11906
|
+
"@systemfsoftware/stryker-test-contribution": "catalog:stryker",
|
|
11907
|
+
"@systemfsoftware/tsconfig": "catalog:",
|
|
11908
|
+
"@systemfsoftware/tsdown-config": "workspace:^",
|
|
11909
|
+
"@systemfsoftware/vitest-config": "workspace:^",
|
|
11910
|
+
"@types/node": "catalog:",
|
|
11911
|
+
"@vitest/coverage-v8": "catalog:",
|
|
11912
|
+
"concurrently": "catalog:",
|
|
11913
|
+
"mutation-testing-elements": "catalog:stryker",
|
|
11914
|
+
"oxc-parser": "catalog:",
|
|
11915
|
+
"oxlint": "catalog:",
|
|
11916
|
+
"oxlint-tsgolint": "catalog:",
|
|
11917
|
+
"rimraf": "catalog:",
|
|
11918
|
+
"tsdown": "catalog:",
|
|
11919
|
+
"typescript": "catalog:",
|
|
11920
|
+
"vitest": "catalog:"
|
|
11921
|
+
},
|
|
11922
|
+
publishConfig: {
|
|
11923
|
+
"access": "public",
|
|
11924
|
+
"provenance": true,
|
|
11925
|
+
"exports": {
|
|
11926
|
+
".": {
|
|
11927
|
+
"types": "./dist/index.d.mts",
|
|
11928
|
+
"default": "./dist/index.mjs"
|
|
11929
|
+
},
|
|
11930
|
+
"./config": {
|
|
11931
|
+
"types": "./dist/config.d.mts",
|
|
11932
|
+
"default": "./dist/config.mjs"
|
|
11933
|
+
},
|
|
11934
|
+
"./promises": {
|
|
11935
|
+
"types": "./dist/promises.d.mts",
|
|
11936
|
+
"default": "./dist/promises.mjs"
|
|
11937
|
+
},
|
|
11938
|
+
"./package.json": "./package.json"
|
|
11939
|
+
}
|
|
11940
|
+
},
|
|
11941
|
+
exports: { "./package.json": "./package.json" }
|
|
11942
|
+
};
|
|
11943
|
+
//#endregion
|
|
11944
|
+
//#region src/stryker-package.schema.ts
|
|
11945
|
+
const PackageJsonSchema = Schema.Struct({ version: Schema.String });
|
|
11946
|
+
//#endregion
|
|
11947
|
+
//#region src/stryker-package.ts
|
|
11948
|
+
const rawPackageJson = package_default;
|
|
11949
|
+
const strykerVersion = Schema.decodeUnknownSync(PackageJsonSchema)(rawPackageJson).version;
|
|
11950
|
+
//#endregion
|
|
11951
|
+
//#region src/incremental-report.cell.ts
|
|
11952
|
+
const parseAndDecodeIncrementalReport = S.decodeUnknownResult(S.fromJsonString(IncrementalReportSchema));
|
|
11953
|
+
const readIncrementalReportRaw = (input) => {
|
|
11954
|
+
if (!input.incremental) return Effect$1.succeed({
|
|
11955
|
+
incremental: false,
|
|
11956
|
+
incrementalFile: input.incrementalFile,
|
|
11957
|
+
contents: void 0
|
|
11958
|
+
});
|
|
11959
|
+
return Effect$1.gen(function* () {
|
|
11960
|
+
const contents = yield* (yield* FileSystem.FileSystem).readFileString(input.incrementalFile).pipe(Effect$1.catchTag("PlatformError", (error) => Match.value(error.reason).pipe(Match.tag("NotFound", () => Effect$1.logInfo(`No incremental result file found at ${input.incrementalFile}, a full mutation testing run will be performed.`).pipe(Effect$1.as(void 0))), Match.orElse(() => Effect$1.fail(error)))));
|
|
11961
|
+
return {
|
|
11962
|
+
incremental: true,
|
|
11963
|
+
incrementalFile: input.incrementalFile,
|
|
11964
|
+
contents
|
|
11965
|
+
};
|
|
11966
|
+
});
|
|
11967
|
+
};
|
|
11968
|
+
const decodeIncrementalReportRaw = (raw) => Result.succeed(AdmitIncrementalReportCommand.make({
|
|
11969
|
+
report: Option.getOrUndefined(Option.flatMap(Option.fromUndefinedOr(raw.contents), (text) => Result.getSuccess(parseAndDecodeIncrementalReport(text)))),
|
|
11970
|
+
expectedVersion: strykerVersion
|
|
11971
|
+
}));
|
|
11972
|
+
const writeIncrementalReportOutcome = (outcome, raw) => Result.match(outcome, {
|
|
11973
|
+
onFailure: (error) => Effect$1.fail(error),
|
|
11974
|
+
onSuccess: (decision) => Match.value(decision).pipe(Match.tag("IncrementalReportKeep", (keep) => {
|
|
11975
|
+
const report = keep.report;
|
|
11976
|
+
return Effect$1.succeedSome(report);
|
|
11977
|
+
}), Match.tag("IncrementalReportDiscard", (discard) => {
|
|
11978
|
+
if (!raw.incremental) return Effect$1.succeedNone;
|
|
11979
|
+
return Option.match(Option.fromUndefinedOr(raw.contents), {
|
|
11980
|
+
onNone: () => Effect$1.succeedNone,
|
|
11981
|
+
onSome: () => Option.match(Option.fromUndefinedOr(discard.actual), {
|
|
11982
|
+
onNone: () => Effect$1.logInfo(`Unable to parse incremental result file at ${raw.incrementalFile}; a full mutation testing run will be performed.`).pipe(Effect$1.as(Option.none())),
|
|
11983
|
+
onSome: (actual) => Effect$1.logInfo(`Incremental result file at ${raw.incrementalFile} version ${actual} does not match expected version ${discard.expected}; a full mutation testing run will be performed.`).pipe(Effect$1.as(Option.none()))
|
|
11984
|
+
})
|
|
11985
|
+
});
|
|
11986
|
+
}), Match.exhaustive)
|
|
11987
|
+
});
|
|
11988
|
+
const incrementalReportCell = Cell.layer({
|
|
11989
|
+
read: readIncrementalReportRaw,
|
|
11990
|
+
decode: decodeIncrementalReportRaw,
|
|
11991
|
+
decide: admitIncrementalReport,
|
|
11992
|
+
encode: (outcome) => outcome,
|
|
11993
|
+
write: writeIncrementalReportOutcome
|
|
11994
|
+
});
|
|
11814
11995
|
//#endregion
|
|
11815
11996
|
//#region src/Project.ts
|
|
11816
11997
|
const DEFAULT_GLOB$1 = "**/*.{js,ts,jsx,tsx,html,vue,mjs,mts,cts,cjs}";
|
|
@@ -12032,54 +12213,6 @@ const selectFiles = (input) => ({
|
|
|
12032
12213
|
fileDescriptions: resolveFileDescriptionsPure(input.inputFileNames, input.mutatePatterns, input.targetMutatePatterns, input.basePath),
|
|
12033
12214
|
testFiles: resolveTestFilesPure(input.inputFileNames, input.testFilePatterns, input.basePath)
|
|
12034
12215
|
});
|
|
12035
|
-
const toPosition = (position) => ({
|
|
12036
|
-
line: position.line,
|
|
12037
|
-
column: position.column
|
|
12038
|
-
});
|
|
12039
|
-
const toLocation = (location) => ({
|
|
12040
|
-
start: toPosition(location.start),
|
|
12041
|
-
end: toPosition(location.end)
|
|
12042
|
-
});
|
|
12043
|
-
const toOpenEndLocation = (location) => Option.match(Option.fromUndefinedOr(location.end), {
|
|
12044
|
-
onNone: () => ({ start: toPosition(location.start) }),
|
|
12045
|
-
onSome: (end) => ({
|
|
12046
|
-
start: toPosition(location.start),
|
|
12047
|
-
end: toPosition(end)
|
|
12048
|
-
})
|
|
12049
|
-
});
|
|
12050
|
-
const withMappedMutantLocations = (report) => Object.fromEntries(Object.entries(report.files).map(([fileName, file]) => [fileName, {
|
|
12051
|
-
...file,
|
|
12052
|
-
mutants: file.mutants.map((mutant) => ({
|
|
12053
|
-
...mutant,
|
|
12054
|
-
location: toLocation(mutant.location)
|
|
12055
|
-
}))
|
|
12056
|
-
}]));
|
|
12057
|
-
const withMappedTestLocations = (testFiles) => Object.fromEntries(Object.entries(testFiles).map(([fileName, file]) => [fileName, {
|
|
12058
|
-
...file,
|
|
12059
|
-
tests: file.tests.map((test) => Option.match(Option.fromUndefinedOr(test.location), {
|
|
12060
|
-
onNone: () => ({ ...test }),
|
|
12061
|
-
onSome: (location) => ({
|
|
12062
|
-
...test,
|
|
12063
|
-
location: toOpenEndLocation(location)
|
|
12064
|
-
})
|
|
12065
|
-
}))
|
|
12066
|
-
}]));
|
|
12067
|
-
const reshape = (decoded) => Option.match(Option.fromUndefinedOr(decoded.testFiles), {
|
|
12068
|
-
onNone: () => ({
|
|
12069
|
-
...decoded,
|
|
12070
|
-
files: withMappedMutantLocations(decoded)
|
|
12071
|
-
}),
|
|
12072
|
-
onSome: (testFiles) => ({
|
|
12073
|
-
...decoded,
|
|
12074
|
-
files: withMappedMutantLocations(decoded),
|
|
12075
|
-
testFiles: withMappedTestLocations(testFiles)
|
|
12076
|
-
})
|
|
12077
|
-
});
|
|
12078
|
-
const decodeIncrementalReport = (raw) => Result.match(S.decodeUnknownResult(IncrementalReportSchema)(raw), {
|
|
12079
|
-
onFailure: () => Result.fail(IncrementalReportError.make({ message: "The incremental report is not a mutation testing report; delete it or re-run without --incremental." })),
|
|
12080
|
-
onSuccess: (decoded) => Result.succeed(reshape(decoded))
|
|
12081
|
-
});
|
|
12082
|
-
const parseJson = (text) => JSON.parse(text);
|
|
12083
12216
|
const stringArrayEquivalence = Equivalence.Array(Equivalence.String);
|
|
12084
12217
|
function makeProjectFile(name, mutate, content, originalContent) {
|
|
12085
12218
|
return {
|
|
@@ -12236,23 +12369,6 @@ function resolveInputFileNames(ignoreRules, basePath) {
|
|
|
12236
12369
|
return yield* crawlDir(basePath, basePath);
|
|
12237
12370
|
});
|
|
12238
12371
|
}
|
|
12239
|
-
function parseIncrementalReport(contents) {
|
|
12240
|
-
return Option.match(Option.fromUndefinedOr(contents), {
|
|
12241
|
-
onNone: () => Effect$1.succeedNone,
|
|
12242
|
-
onSome: (text) => Effect$1.gen(function* () {
|
|
12243
|
-
const parsed = yield* Effect$1.try(() => parseJson(text));
|
|
12244
|
-
const rawReport = yield* Effect$1.fromResult(decodeIncrementalReport(parsed));
|
|
12245
|
-
const isMutationTestResult = (_value) => true;
|
|
12246
|
-
if (!isMutationTestResult(rawReport)) throw new Error("Invalid incremental report shape");
|
|
12247
|
-
return Option.fromUndefinedOr(rawReport);
|
|
12248
|
-
})
|
|
12249
|
-
});
|
|
12250
|
-
}
|
|
12251
|
-
function readIncrementalReport(incremental, incrementalFile) {
|
|
12252
|
-
return Match.value(incremental).pipe(Match.when(false, () => Effect$1.succeedNone), Match.orElse(() => Effect$1.gen(function* () {
|
|
12253
|
-
return yield* parseIncrementalReport(yield* (yield* FileSystem.FileSystem).readFileString(incrementalFile).pipe(Effect$1.catchTag("PlatformError", (error) => Match.value(error.reason).pipe(Match.tag("NotFound", () => Effect$1.logInfo(`No incremental result file found at ${incrementalFile}, a full mutation testing run will be performed.`).pipe(Effect$1.as(void 0))), Match.orElse(() => Effect$1.fail(error))))));
|
|
12254
|
-
})));
|
|
12255
|
-
}
|
|
12256
12372
|
function readProject(options, targetMutatePatterns, basePath) {
|
|
12257
12373
|
const { mutate, tempDirName, ignorePatterns, incremental, incrementalFile, progressStreamFile, htmlReporter, jsonReporter, testFiles } = options;
|
|
12258
12374
|
const mutatePatterns = mutate;
|
|
@@ -12304,7 +12420,10 @@ function readProject(options, targetMutatePatterns, basePath) {
|
|
|
12304
12420
|
basePath
|
|
12305
12421
|
}).testFiles.length === 0) yield* Effect$1.logWarning(`Glob pattern "${pattern}" did not match any test files.`);
|
|
12306
12422
|
}));
|
|
12307
|
-
const incrementalReport = yield*
|
|
12423
|
+
const incrementalReport = yield* incrementalReportCell.run({
|
|
12424
|
+
incremental,
|
|
12425
|
+
incrementalFile
|
|
12426
|
+
});
|
|
12308
12427
|
return makeProject(decision.fileDescriptions, Option.getOrUndefined(incrementalReport), [...decision.testFiles]);
|
|
12309
12428
|
});
|
|
12310
12429
|
}
|
|
@@ -13628,115 +13747,6 @@ const assembleTestFiles = (input) => {
|
|
|
13628
13747
|
return Object.fromEntries(entries);
|
|
13629
13748
|
};
|
|
13630
13749
|
//#endregion
|
|
13631
|
-
//#region package.json
|
|
13632
|
-
var package_default = {
|
|
13633
|
-
name: "@systemfsoftware/stryker-js",
|
|
13634
|
-
version: "8.0.0",
|
|
13635
|
-
repository: {
|
|
13636
|
-
"type": "git",
|
|
13637
|
-
"url": "git+https://github.com/systemfsoftware/stryker-js-effect.git",
|
|
13638
|
-
"directory": "packages/stryker-js"
|
|
13639
|
-
},
|
|
13640
|
-
homepage: "https://github.com/systemfsoftware/stryker-js-effect",
|
|
13641
|
-
bugs: { "url": "https://github.com/systemfsoftware/stryker-js-effect/issues" },
|
|
13642
|
-
description: "The Stryker mutation testing tool — the stryker executable, the run engine, and the configuration surface.",
|
|
13643
|
-
type: "module",
|
|
13644
|
-
files: ["dist"],
|
|
13645
|
-
bin: { "stryker": "./dist/main.mjs" },
|
|
13646
|
-
scripts: {
|
|
13647
|
-
"clean": "rimraf dist",
|
|
13648
|
-
"build": "rimraf dist && tsdown --config tsdown.bin.config.ts && tsdown --config tsdown.config.ts",
|
|
13649
|
-
"typecheck": "tsc --noEmit --incremental && tsc -p tsconfig.node.json --noEmit",
|
|
13650
|
-
"test": "vitest run",
|
|
13651
|
-
"mutation": "stryker run",
|
|
13652
|
-
"attw": "attw --pack .",
|
|
13653
|
-
"lint": "f=${OXLINT_FORMAT:-${AGENT:+agent}}; oxlint . --format=${f:-default}",
|
|
13654
|
-
"api:check": "api-extractor run",
|
|
13655
|
-
"api:update": "api-extractor run --local",
|
|
13656
|
-
"lint:tsgo": "effect-tsgo diagnostics --project tsconfig.json --format ${TSGO_FORMAT:-text}"
|
|
13657
|
-
},
|
|
13658
|
-
license: "Apache-2.0",
|
|
13659
|
-
engines: { "node": ">=22.18.0" },
|
|
13660
|
-
dependencies: {
|
|
13661
|
-
"@effect/opentelemetry": "4.0.0-rc.112",
|
|
13662
|
-
"@effect/platform-node": "catalog:",
|
|
13663
|
-
"@effect/platform-node-shared": "catalog:",
|
|
13664
|
-
"@noble/hashes": "catalog:",
|
|
13665
|
-
"@opentelemetry/api": "^1.9.0",
|
|
13666
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.208.0",
|
|
13667
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.208.0",
|
|
13668
|
-
"@opentelemetry/sdk-metrics": "^2.2.0",
|
|
13669
|
-
"@opentelemetry/sdk-trace-base": "^2.2.0",
|
|
13670
|
-
"@systemfsoftware/effect-cell-types": "catalog:"
|
|
13671
|
-
},
|
|
13672
|
-
peerDependencies: { "effect": "catalog:" },
|
|
13673
|
-
devDependencies: {
|
|
13674
|
-
"@effect/tsgo": "catalog:",
|
|
13675
|
-
"@effect/vitest": "catalog:",
|
|
13676
|
-
"@microsoft/api-extractor": "catalog:",
|
|
13677
|
-
"@oxc-parser/binding-wasm32-wasi": "catalog:",
|
|
13678
|
-
"@std/jsonc": "catalog:",
|
|
13679
|
-
"@systemfsoftware/all": "catalog:",
|
|
13680
|
-
"@systemfsoftware/arethetypeswrong-cli": "catalog:",
|
|
13681
|
-
"@systemfsoftware/effect-gherkin-spec": "catalog:",
|
|
13682
|
-
"@systemfsoftware/effect-schema-law": "catalog:",
|
|
13683
|
-
"@systemfsoftware/effect-schema-vite": "catalog:",
|
|
13684
|
-
"@systemfsoftware/stryker-config": "workspace:^",
|
|
13685
|
-
"@systemfsoftware/stryker-ignorer-effect-schema-declarations": "catalog:stryker",
|
|
13686
|
-
"@systemfsoftware/stryker-ignorer-in-source-vitest-block": "catalog:stryker",
|
|
13687
|
-
"@systemfsoftware/stryker-ignorer-interface": "workspace:^",
|
|
13688
|
-
"@systemfsoftware/stryker-js": "catalog:stryker",
|
|
13689
|
-
"@systemfsoftware/stryker-js-html-reporter": "workspace:^",
|
|
13690
|
-
"@systemfsoftware/stryker-js-instrumenter": "workspace:^",
|
|
13691
|
-
"@systemfsoftware/stryker-js-plugin-interface": "workspace:^",
|
|
13692
|
-
"@systemfsoftware/stryker-js-plugin-runtime": "workspace:^",
|
|
13693
|
-
"@systemfsoftware/stryker-js-typescript-checker": "catalog:stryker",
|
|
13694
|
-
"@systemfsoftware/stryker-js-vitest-runner": "catalog:stryker",
|
|
13695
|
-
"@systemfsoftware/stryker-test-contribution": "catalog:stryker",
|
|
13696
|
-
"@systemfsoftware/tsconfig": "catalog:",
|
|
13697
|
-
"@systemfsoftware/tsdown-config": "workspace:^",
|
|
13698
|
-
"@systemfsoftware/vitest-config": "workspace:^",
|
|
13699
|
-
"@types/node": "catalog:",
|
|
13700
|
-
"@vitest/coverage-v8": "catalog:",
|
|
13701
|
-
"concurrently": "catalog:",
|
|
13702
|
-
"mutation-testing-elements": "catalog:stryker",
|
|
13703
|
-
"oxc-parser": "catalog:",
|
|
13704
|
-
"oxlint": "catalog:",
|
|
13705
|
-
"oxlint-tsgolint": "catalog:",
|
|
13706
|
-
"rimraf": "catalog:",
|
|
13707
|
-
"tsdown": "catalog:",
|
|
13708
|
-
"typescript": "catalog:",
|
|
13709
|
-
"vitest": "catalog:"
|
|
13710
|
-
},
|
|
13711
|
-
publishConfig: {
|
|
13712
|
-
"access": "public",
|
|
13713
|
-
"provenance": true,
|
|
13714
|
-
"exports": {
|
|
13715
|
-
".": {
|
|
13716
|
-
"types": "./dist/index.d.mts",
|
|
13717
|
-
"default": "./dist/index.mjs"
|
|
13718
|
-
},
|
|
13719
|
-
"./config": {
|
|
13720
|
-
"types": "./dist/config.d.mts",
|
|
13721
|
-
"default": "./dist/config.mjs"
|
|
13722
|
-
},
|
|
13723
|
-
"./promises": {
|
|
13724
|
-
"types": "./dist/promises.d.mts",
|
|
13725
|
-
"default": "./dist/promises.mjs"
|
|
13726
|
-
},
|
|
13727
|
-
"./package.json": "./package.json"
|
|
13728
|
-
}
|
|
13729
|
-
},
|
|
13730
|
-
exports: { "./package.json": "./package.json" }
|
|
13731
|
-
};
|
|
13732
|
-
//#endregion
|
|
13733
|
-
//#region src/stryker-package.schema.ts
|
|
13734
|
-
const PackageJsonSchema = Schema.Struct({ version: Schema.String });
|
|
13735
|
-
//#endregion
|
|
13736
|
-
//#region src/stryker-package.ts
|
|
13737
|
-
const rawPackageJson = package_default;
|
|
13738
|
-
const strykerVersion = Schema.decodeUnknownSync(PackageJsonSchema)(rawPackageJson).version;
|
|
13739
|
-
//#endregion
|
|
13740
13750
|
//#region src/verdict-envelope.ts
|
|
13741
13751
|
const normalizeFileName = (fileName) => fileName.replaceAll("\\", "/");
|
|
13742
13752
|
const VERDICT_ENVELOPE_SCHEMA_VERSION = "1.1";
|
|
@@ -14018,7 +14028,10 @@ const makeMutationReportingService = (input) => {
|
|
|
14018
14028
|
const fs = yield* FileSystem.FileSystem;
|
|
14019
14029
|
const dir = pathService.dirname(input.options.incrementalFile);
|
|
14020
14030
|
yield* fs.makeDirectory(dir, { recursive: true });
|
|
14021
|
-
const json = yield* S.encodeEffect(S.fromJsonString(S.Unknown, { space: 2 }))(
|
|
14031
|
+
const json = yield* S.encodeEffect(S.fromJsonString(S.Unknown, { space: 2 }))({
|
|
14032
|
+
incrementalVersion: strykerVersion,
|
|
14033
|
+
...report
|
|
14034
|
+
}).pipe(Effect$1.orDie);
|
|
14022
14035
|
yield* fs.writeFileString(input.options.incrementalFile, json);
|
|
14023
14036
|
}
|
|
14024
14037
|
return {
|
|
@@ -14037,6 +14050,7 @@ const makeMutationReportingService = (input) => {
|
|
|
14037
14050
|
const slimIncrementalReport = (results) => Effect$1.gen(function* () {
|
|
14038
14051
|
const { files, testFiles } = yield* assembleReport(results);
|
|
14039
14052
|
return {
|
|
14053
|
+
incrementalVersion: strykerVersion,
|
|
14040
14054
|
schemaVersion: "1.0",
|
|
14041
14055
|
thresholds: input.options.thresholds,
|
|
14042
14056
|
files,
|
|
@@ -15612,4 +15626,4 @@ const strykerCell = (options, targetMutatePatterns) => Effect$1.gen(function* ()
|
|
|
15612
15626
|
}, prepareCommandOf(options, patterns));
|
|
15613
15627
|
});
|
|
15614
15628
|
//#endregion
|
|
15615
|
-
export { StrykerError as $, FileResultSchema as $t, describeErrors as A, RunStarted as At, WorkerLauncher as B, defaultOptions$1 as Bt,
|
|
15629
|
+
export { StrykerError as $, FileResultSchema as $t, describeErrors as A, RunStarted as At, WorkerLauncher as B, defaultOptions$1 as Bt, strykerVersion as C, Heartbeat as Ct, reporterWorkerFactory as D, RunFailed as Dt, REPORTER_EVENT_BATCH_BOUND as E, PlanKnown as Et, mergeConfigs as F, verdictExitClass as Ft, ChildProcessCrashedError as G, CheckerCheckResult as Gt, makeWorkerClient as H, isModuleSpecifier$1 as Ht, readConfig as I, CONFIG_SYNTAX_HELP$1 as It, VmRunner as J, CheckerMutantWire as Jt, OutOfMemoryError as K, CheckerFailed as Kt, validateOptions as L, SUPPORTED_CONFIG_FILE_NAMES$1 as Lt, importModule as M, EXIT_CODE as Mt, initialExtendsStepState as N, highestExitClass as Nt, spawnReporterWorker as O, RunMutantTested as Ot, loadConfigCell as P, resolveExitCode as Pt, vmTestRunner as Q, ExitClass as Qt, buildTestRunner as R, createDefaultOptions$1 as Rt, matchesFile as S, RunIdentity as St, RunEnvironment as T, PhaseEntered as Tt, IdGenerator as U, isWarningEnabled$1 as Ut, connectRetry as V, findUnserializables$1 as Vt, classifyWorkerExit as W, optionsPath$1 as Wt, vmRunnerCapabilities as X, CheckerRpcs as Xt, isVmRunner as Y, CheckerRequest as Yt, vmRunnerName as Z, DryRunCompleted as Zt, checkerProcessCrashes as _, MutantStatusSchema as _n, forkOptionsSchema as _t, shouldKeepTempDir as a, MutationTestingPlanReady as an, ConfigFileUnsupportedError as at, CheckerSkippedRequested as b, StageError as bt, buildVerdictEnvelope as c, ReporterEventBatch as cn, ExtendsStepRead as ct, calculateMetrics as d, StrykerOptionsSchema as dn, ExtendsStepStateSchema as dt, MetricsSchema as en, ConfigDocumentSchema as et, countMutants as f, TestRunnerConfigSchema as fn, ImportedModuleSchema as ft, checkerMutantsSkipped as g, MutantActivationSchema as gn, extendsPropertySchema as gt, checkerMutantsChecked as h, LocationSchema$1 as hn, ReadConfigCommand as ht, mutationTestCell as i, MutationTestResultSchema$1 as in, ConfigFileUnreadableError as it, forkCoreSchema as j, VerdictReached as jt, decideExtendsStep as k, RunPhase as kt, generateRunId as l, ReporterInitOptions as ln, ExtendsStepRefused as lt, checkerDuration as m, WorkerPluginKind as mn, MergeResult as mt, RUN_EVENTS_QUEUE_BOUND as n, MutantTested as nn, ConfigFileInvalidError as nt, ACTIONABLE_STATUSES as o, ReporterAck as on, ExtendsStepDocumentSchema as ot, checkGroupedPlans as p, TraceContextMiddleware as pn, MergeCommand as pt, WorkerBootTimeoutError as q, CheckerGroupResult as qt, makeRunLayer as r, MutationTestReportReady as rn, ConfigFileNotFoundError as rt, VERDICT_ENVELOPE_SCHEMA_VERSION as s, ReporterDrained as sn, ExtendsStepDone as st, strykerCell as t, MutantResultSchema as tn, ConfigError as tt, isActionableStatus as u, ReporterRpcs as un, ExtendsStepResolve as ut, checkerRpcFailures as v, PositionSchema$2 as vn, survivorsPriorReport as vt, IncrementalReportSchema as w, HelpRendered as wt, createFileMatcher as x, RunEvents as xt, CheckerAnsweredUnrequested as y, toRelativeNormalizedFileName as yt, isCommandRunner as z, deepFreeze$1 as zt };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@systemfsoftware/stryker-js",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/systemfsoftware/stryker-js-effect.git",
|
|
@@ -66,13 +66,13 @@
|
|
|
66
66
|
"tsdown": "^0.23.0",
|
|
67
67
|
"typescript": "^7",
|
|
68
68
|
"vitest": "^4",
|
|
69
|
+
"@systemfsoftware/stryker-config": "^0.1.0",
|
|
70
|
+
"@systemfsoftware/stryker-ignorer-interface": "^0.1.0",
|
|
69
71
|
"@systemfsoftware/stryker-js-html-reporter": "^4.0.3",
|
|
70
72
|
"@systemfsoftware/stryker-js-instrumenter": "^8.0.0",
|
|
71
|
-
"@systemfsoftware/stryker-config": "^0.1.0",
|
|
72
73
|
"@systemfsoftware/stryker-js-plugin-interface": "^7.0.0",
|
|
73
|
-
"@systemfsoftware/tsdown-config": "^0.1.0",
|
|
74
74
|
"@systemfsoftware/stryker-js-plugin-runtime": "^5.0.2",
|
|
75
|
-
"@systemfsoftware/
|
|
75
|
+
"@systemfsoftware/tsdown-config": "^0.1.0",
|
|
76
76
|
"@systemfsoftware/vitest-config": "^0.1.0"
|
|
77
77
|
},
|
|
78
78
|
"publishConfig": {
|