@binary-balance/seshat 0.8.1 → 0.10.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.
Files changed (2) hide show
  1. package/README.md +8 -4
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -11,8 +11,8 @@ insufficiently tested code.
11
11
 
12
12
  - Calculates function complexity and CRAP scores from branch coverage.
13
13
  - Selects whole test files for verified Vitest Istanbul setups, with full-run fallbacks and an opt-out.
14
- - Changes comparison, logical, arithmetic and boolean expressions one at a time
15
- and checks whether tests detect them.
14
+ - Changes comparison, logical, arithmetic, boolean, optional and nullish
15
+ expressions one at a time and checks whether tests detect them.
16
16
  - Replaces function bodies to find covered functions whose removal tests miss.
17
17
  - Removes expression statements and bare returns from eligible functions.
18
18
  - Runs tests in isolated copies of the captured project.
@@ -86,11 +86,15 @@ The [examples](https://github.com/Binary-Balance/seshat/blob/main/examples/READM
86
86
  and Jest/Expo projects. The [configuration guide](https://github.com/Binary-Balance/seshat/blob/main/docs/configuration.md) covers
87
87
  every field, including `workers` for parallel mutation runs.
88
88
 
89
- Comparison, logical, arithmetic and boolean mutants are enabled by default. Set
89
+ Comparison, logical, arithmetic, boolean, statement and optional mutants are
90
+ enabled by default. Set
90
91
  `"mutationOperators": ["comparison"]` to retain the operator scope of 0.4.0.
91
92
  Use `["comparison", "logical", "arithmetic"]` to retain the scope of 0.5.0 and
92
93
  0.6.0. The `boolean` family flips runtime `true`/`false` literals and removes
93
- prefix `!`, including its boolean conversion.
94
+ prefix `!`, including its boolean conversion. The `optional` family removes one
95
+ `?.`
96
+ segment or changes `??` to `||`. Omit `optional` from `mutationOperators` to
97
+ retain the 0.8.x scope. See the [exact forms and limits](https://github.com/Binary-Balance/seshat/blob/main/docs/research/optional-mutations.md).
94
98
  The broader default can add test executions and change mutation scores.
95
99
 
96
100
  ## Use
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@binary-balance/seshat",
3
- "version": "0.8.1",
3
+ "version": "0.10.0",
4
4
  "description": "A native CLI for TypeScript and TSX complexity analysis and mutation testing.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -20,10 +20,10 @@
20
20
  "LICENSE"
21
21
  ],
22
22
  "optionalDependencies": {
23
- "@binary-balance/seshat-linux-x64": "0.8.1",
24
- "@binary-balance/seshat-linux-arm64": "0.8.1",
25
- "@binary-balance/seshat-darwin-x64": "0.8.1",
26
- "@binary-balance/seshat-darwin-arm64": "0.8.1",
27
- "@binary-balance/seshat-win32-x64": "0.8.1"
23
+ "@binary-balance/seshat-linux-x64": "0.10.0",
24
+ "@binary-balance/seshat-linux-arm64": "0.10.0",
25
+ "@binary-balance/seshat-darwin-x64": "0.10.0",
26
+ "@binary-balance/seshat-darwin-arm64": "0.10.0",
27
+ "@binary-balance/seshat-win32-x64": "0.10.0"
28
28
  }
29
29
  }