@systemfsoftware/stryker-js-instrumenter 4.0.0 → 5.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 CHANGED
@@ -1,5 +1,66 @@
1
1
  # @systemfsoftware/stryker-js-instrumenter
2
2
 
3
+ ## 5.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
+ ### Patch Changes
39
+
40
+ - Peer Effect requirement advances to 4.0.0-rc.112. No API changes.
41
+
42
+ - The shared helpers package is gone. Nothing installs it any more, and the
43
+ handful of helpers worth sharing now live in the plugin contract next to the
44
+ types they serve:
45
+
46
+ - `strykerReportBugUrl`, `normalizeFileName`, `propertyPath`, `errorToString`
47
+ and `isErrnoException` from `@systemfsoftware/stryker-js/core`
48
+ - `noopLogger` from `@systemfsoftware/stryker-js/logging`
49
+ - `testFilesProvided` from `@systemfsoftware/stryker-js/test-runner`
50
+
51
+ If you imported any of those, change the specifier. Everything else it exported
52
+ had no consumer and is removed: use `Predicate.isNotNullish` from Effect in place
53
+ of `notEmpty`, and `RegExp.escape` in place of `escapeRegExp`.
54
+
55
+ - These packages no longer install dependencies they never imported, so installing them pulls less into your tree.
56
+
57
+ `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.
58
+
59
+ - 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.
60
+
61
+ - Updated dependencies:
62
+ - @systemfsoftware/stryker-js@2.0.0
63
+
3
64
  ## 4.0.0
4
65
 
5
66
  ### Major Changes
package/README.md CHANGED
@@ -18,4 +18,4 @@ The instrumenter is used internally by the Stryker mutation testing framework to
18
18
 
19
19
  ## License
20
20
 
21
- Apache-2.0. Part of [systemfsoftware](https://github.com/systemfsoftware/systemfsoftware/tree/main/packages/testing/mutation/stryker-js/instrumenter#readme).
21
+ Apache-2.0. Part of [systemfsoftware](https://github.com/systemfsoftware/systemfsoftware/tree/main/packages/stryker-js/stryker-js-instrumenter#readme).
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@systemfsoftware/stryker-js-instrumenter",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/systemfsoftware/systemfsoftware.git",
7
- "directory": "packages/testing/mutation/stryker-js/instrumenter"
7
+ "directory": "packages/stryker-js/stryker-js-instrumenter"
8
8
  },
9
- "homepage": "https://github.com/systemfsoftware/systemfsoftware/tree/main/packages/testing/mutation/stryker-js/instrumenter#readme",
9
+ "homepage": "https://github.com/systemfsoftware/systemfsoftware/tree/main/packages/stryker-js/stryker-js-instrumenter#readme",
10
10
  "bugs": "https://github.com/systemfsoftware/systemfsoftware/issues",
11
11
  "description": "The code instrumenter used by the Stryker mutation runner",
12
12
  "type": "module",
@@ -24,8 +24,8 @@
24
24
  "angular-html-parser": "~10.4.0",
25
25
  "effect": "^4.0.0-rc.112",
26
26
  "oxc-parser": "^0.140.0",
27
- "@systemfsoftware/effect-cell-types": "^6.0.0",
28
- "@systemfsoftware/stryker-js": "^1.0.0"
27
+ "@systemfsoftware/effect-cell-types": "^6.0.1",
28
+ "@systemfsoftware/stryker-js": "^2.0.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@systemfsoftware/arethetypeswrong-cli": "^1.1.1",
@@ -37,10 +37,10 @@
37
37
  "tsdown": "^0.22.14",
38
38
  "typescript": "^7",
39
39
  "vitest": "^4",
40
- "@systemfsoftware/all": "^1.1.2",
41
- "@systemfsoftware/oxlint-config": "^0.1.0",
42
- "@systemfsoftware/effect-gherkin-spec": "^4.0.0",
40
+ "@systemfsoftware/effect-gherkin-spec": "^4.0.1",
41
+ "@systemfsoftware/all": "^1.1.3",
43
42
  "@systemfsoftware/tsconfig": "^1.3.3",
43
+ "@systemfsoftware/oxlint-config": "^0.1.0",
44
44
  "@systemfsoftware/vitest-config": "^0.1.0"
45
45
  },
46
46
  "engines": {