@binary-balance/seshat 0.6.0 → 0.8.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/README.md +17 -5
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -10,9 +10,11 @@ insufficiently tested code.
|
|
|
10
10
|
## What Seshat does
|
|
11
11
|
|
|
12
12
|
- Calculates function complexity and CRAP scores from branch coverage.
|
|
13
|
-
-
|
|
14
|
-
|
|
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.
|
|
15
16
|
- Replaces function bodies to find covered functions whose removal tests miss.
|
|
17
|
+
- Removes expression statements and bare returns from eligible functions.
|
|
16
18
|
- Runs tests in isolated copies of the captured project.
|
|
17
19
|
- Produces readable terminal output and versioned JSON, with optional CI thresholds.
|
|
18
20
|
- Supports explicit source selection, multiple test setups and parallel mutation workers.
|
|
@@ -84,8 +86,11 @@ The [examples](https://github.com/Binary-Balance/seshat/blob/main/examples/READM
|
|
|
84
86
|
and Jest/Expo projects. The [configuration guide](https://github.com/Binary-Balance/seshat/blob/main/docs/configuration.md) covers
|
|
85
87
|
every field, including `workers` for parallel mutation runs.
|
|
86
88
|
|
|
87
|
-
Comparison, logical and
|
|
89
|
+
Comparison, logical, arithmetic and boolean mutants are enabled by default. Set
|
|
88
90
|
`"mutationOperators": ["comparison"]` to retain the operator scope of 0.4.0.
|
|
91
|
+
Use `["comparison", "logical", "arithmetic"]` to retain the scope of 0.5.0 and
|
|
92
|
+
0.6.0. The `boolean` family flips runtime `true`/`false` literals and removes
|
|
93
|
+
prefix `!`, including its boolean conversion.
|
|
89
94
|
The broader default can add test executions and change mutation scores.
|
|
90
95
|
|
|
91
96
|
## Use
|
|
@@ -125,7 +130,8 @@ leaving the non-member outcome untested. Its statement coverage is 100%,
|
|
|
125
130
|
but its branch coverage is 50%. Both measurements appear in the report.
|
|
126
131
|
|
|
127
132
|
The mutation score is the percentage of mutants that made a test fail. A mutant
|
|
128
|
-
|
|
133
|
+
makes one deliberate code change, such as `>` to `>=` or `true` to `false`.
|
|
134
|
+
If tests catch two
|
|
129
135
|
of three mutants, the score is `66.67%`. A timeout or execution error leaves the run
|
|
130
136
|
incomplete and withholds the score. Neither score proves correctness.
|
|
131
137
|
|
|
@@ -142,7 +148,9 @@ Add optional thresholds to `seshat.json`:
|
|
|
142
148
|
```json
|
|
143
149
|
"thresholds": {
|
|
144
150
|
"maxCrap": 30,
|
|
145
|
-
"minMutationScore": 80
|
|
151
|
+
"minMutationScore": 80,
|
|
152
|
+
"maxInferredAny": 10,
|
|
153
|
+
"maxTypeEscapes": 0
|
|
146
154
|
}
|
|
147
155
|
```
|
|
148
156
|
|
|
@@ -153,6 +161,10 @@ Add optional thresholds to `seshat.json`:
|
|
|
153
161
|
| `2` | Invalid input, failed baseline or incomplete run. |
|
|
154
162
|
| `130` / `143` | Cancelled by `SIGINT` / `SIGTERM` on Unix. |
|
|
155
163
|
|
|
164
|
+
`maxInferredAny` limits any-typed runtime expression sites separately in each
|
|
165
|
+
setup. `maxTypeEscapes` limits explicit `any` and TypeScript suppression
|
|
166
|
+
comments across selected source. Both apply in all three commands.
|
|
167
|
+
|
|
156
168
|
See [quality thresholds](https://github.com/Binary-Balance/seshat/blob/main/docs/configuration.md#quality-thresholds) for the full
|
|
157
169
|
rules.
|
|
158
170
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@binary-balance/seshat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.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.
|
|
24
|
-
"@binary-balance/seshat-linux-arm64": "0.
|
|
25
|
-
"@binary-balance/seshat-darwin-x64": "0.
|
|
26
|
-
"@binary-balance/seshat-darwin-arm64": "0.
|
|
27
|
-
"@binary-balance/seshat-win32-x64": "0.
|
|
23
|
+
"@binary-balance/seshat-linux-x64": "0.8.0",
|
|
24
|
+
"@binary-balance/seshat-linux-arm64": "0.8.0",
|
|
25
|
+
"@binary-balance/seshat-darwin-x64": "0.8.0",
|
|
26
|
+
"@binary-balance/seshat-darwin-arm64": "0.8.0",
|
|
27
|
+
"@binary-balance/seshat-win32-x64": "0.8.0"
|
|
28
28
|
}
|
|
29
29
|
}
|