@systemfsoftware/stryker-js-vitest-runner 3.0.0 → 4.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 +83 -0
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,88 @@
|
|
|
1
1
|
# @systemfsoftware/stryker-js-vitest-runner
|
|
2
2
|
|
|
3
|
+
## 4.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- The packages are renamed. `plugin-api` is now `@systemfsoftware/stryker-js`, the
|
|
8
|
+
language every plugin is written against. `mutation-run` is split: the run
|
|
9
|
+
itself is `@systemfsoftware/stryker-js-engine`
|
|
10
|
+
(host-neutral, no Node on its manifest) and the Node process entries are
|
|
11
|
+
`@systemfsoftware/stryker-js-cli`, which owns the worker files and the runtime
|
|
12
|
+
gate. `mutation-report` is now `@systemfsoftware/stryker-js-html-reporter`.
|
|
13
|
+
`@systemfsoftware/stryker-js-platform-node` is never published — do not install
|
|
14
|
+
it. Install the new names and change your imports.
|
|
15
|
+
|
|
16
|
+
Options types moved. `StrykerOptions`, `PartialStrykerOptions` and `LogLevel` are
|
|
17
|
+
imported from the `Schema` export; `Mutant`, `MutantStatus`, `Position` and
|
|
18
|
+
`Location` from the `Mutant` export. Point a config's `extends` at the language
|
|
19
|
+
package's `Schema` export.
|
|
20
|
+
|
|
21
|
+
`MutantStatus` accepts one spelling per outcome: `Killed`, `Survived`,
|
|
22
|
+
`NoCoverage`, `Timeout`, `CompileError`, `RuntimeError`, `Ignored` and `Pending`.
|
|
23
|
+
The lowercase and abbreviated forms — `killed`, `timedOut`, `noCoverage` and the
|
|
24
|
+
rest — are gone. A comparison against a removed spelling never matched the value
|
|
25
|
+
the reporter actually produced, so check any status comparison you wrote.
|
|
26
|
+
|
|
27
|
+
Statuses, plugin kinds, exit classes and AST formats are string literal unions
|
|
28
|
+
rather than enums, so read them as their string values. Member access such as
|
|
29
|
+
`ExitClass.VerdictFail` no longer resolves.
|
|
30
|
+
|
|
31
|
+
A plugin no longer receives a logger, and the logger port is gone. Plugins log
|
|
32
|
+
through Effect, and the host decides where that output goes.
|
|
33
|
+
|
|
34
|
+
The bundled base preset is gone. A config inherits from the language package's
|
|
35
|
+
`Schema` export and states the thresholds, reporters and plugins it wants; you no
|
|
36
|
+
longer silently inherit a package manager, a plugin list or a break threshold.
|
|
37
|
+
|
|
38
|
+
- effect is now a required peer dependency. Install it alongside these packages. They previously bundled their own copy, which meant two Effect instances in one process and services that could not find each other across the boundary.
|
|
39
|
+
|
|
40
|
+
### Minor Changes
|
|
41
|
+
|
|
42
|
+
- Machine-readable mutation progress is a newline-delimited JSON file next to the HTML and JSON reports, not the console.
|
|
43
|
+
|
|
44
|
+
The console prints bounded progress prose: phase names, a count line, at most twenty surviving mutants, and a verdict. Killed mutants now advance that count. Child test runs during mutation no longer print per-test output or GitHub workflow commands.
|
|
45
|
+
|
|
46
|
+
If you parsed the console as JSON lines, read the stream file instead. A hard kill can leave that file without a closing verdict line.
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- New version is published through npm trusted publishing, so it carries a provenance attestation you can verify.
|
|
51
|
+
|
|
52
|
+
- Peer Effect requirement advances to 4.0.0-rc.112. No API changes.
|
|
53
|
+
|
|
54
|
+
- A mutation run writes the JSON report the `json` reporter is configured to produce.
|
|
55
|
+
|
|
56
|
+
Vitest no longer reprints its full summary for every mutant.
|
|
57
|
+
|
|
58
|
+
- Each of these packages now has a README, so its registry page says what the package is, how
|
|
59
|
+
to install it, and what to import or register — previously the page was blank. The lint
|
|
60
|
+
plugins show the configuration line that enables what they recommend.
|
|
61
|
+
|
|
62
|
+
`@systemfsoftware/stryker-js-html-reporter` also carries its licence text
|
|
63
|
+
|
|
64
|
+
- The shared helpers package is gone. Nothing installs it any more, and the
|
|
65
|
+
handful of helpers worth sharing now live in the plugin contract next to the
|
|
66
|
+
types they serve:
|
|
67
|
+
|
|
68
|
+
- `strykerReportBugUrl`, `normalizeFileName`, `propertyPath`, `errorToString`
|
|
69
|
+
and `isErrnoException` from `@systemfsoftware/stryker-js/core`
|
|
70
|
+
- `noopLogger` from `@systemfsoftware/stryker-js/logging`
|
|
71
|
+
- `testFilesProvided` from `@systemfsoftware/stryker-js/test-runner`
|
|
72
|
+
|
|
73
|
+
If you imported any of those, change the specifier. Everything else it exported
|
|
74
|
+
had no consumer and is removed: use `Predicate.isNotNullish` from Effect in place
|
|
75
|
+
of `notEmpty`, and `RegExp.escape` in place of `escapeRegExp`.
|
|
76
|
+
|
|
77
|
+
- These packages no longer install dependencies they never imported, so installing them pulls less into your tree.
|
|
78
|
+
|
|
79
|
+
`tslib` is gone from all six. The mutation runner additionally stops installing `lodash.groupby`, `semver` and `source-map`, and the command line interface stops installing `@effect/platform-node-shared`. Nothing exported changes.
|
|
80
|
+
|
|
81
|
+
- Published packages no longer carry build artifacts left over from earlier builds. One package was shipping about a megabyte of bundled test-runner internals this way.
|
|
82
|
+
|
|
83
|
+
- Updated dependencies:
|
|
84
|
+
- @systemfsoftware/stryker-js@2.0.0
|
|
85
|
+
|
|
3
86
|
## 3.0.0
|
|
4
87
|
|
|
5
88
|
### Major Changes
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@systemfsoftware/stryker-js-vitest-runner",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/systemfsoftware/systemfsoftware.git",
|
|
7
|
-
"directory": "packages/
|
|
7
|
+
"directory": "packages/stryker-js/stryker-js-vitest-runner"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/systemfsoftware/systemfsoftware/tree/main/packages/
|
|
9
|
+
"homepage": "https://github.com/systemfsoftware/systemfsoftware/tree/main/packages/stryker-js/stryker-js-vitest-runner#readme",
|
|
10
10
|
"bugs": "https://github.com/systemfsoftware/systemfsoftware/issues",
|
|
11
11
|
"description": "Vitest test-runner plugin for Stryker",
|
|
12
12
|
"type": "module",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"coverageAnalysis": "perTest"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@systemfsoftware/
|
|
35
|
-
"@systemfsoftware/
|
|
34
|
+
"@systemfsoftware/effect-cell-types": "^6.0.1",
|
|
35
|
+
"@systemfsoftware/stryker-js": "^2.0.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"effect": "^4.0.0-rc.112",
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"tsdown": "^0.22.14",
|
|
51
51
|
"typescript": "^7",
|
|
52
52
|
"vitest": "^4",
|
|
53
|
-
"@systemfsoftware/
|
|
54
|
-
"@systemfsoftware/effect-gherkin-spec": "^4.0.0",
|
|
53
|
+
"@systemfsoftware/effect-gherkin-spec": "^4.0.1",
|
|
55
54
|
"@systemfsoftware/oxlint-config": "^0.1.0",
|
|
56
55
|
"@systemfsoftware/tsconfig": "^1.3.3",
|
|
57
|
-
"@systemfsoftware/vitest-config": "^0.1.0"
|
|
56
|
+
"@systemfsoftware/vitest-config": "^0.1.0",
|
|
57
|
+
"@systemfsoftware/all": "^1.1.3"
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"provenance": true
|