@systemfsoftware/stryker-plugins
Stryker mutation-testing plugins for Effect.
effect-schema-ignorer
A Stryker Ignore plugin (effect-schema-declarations) that skips the equivalent mutants on Effect Schema declarations — mutations that change source without changing behaviour, so no test can ever kill them. It recognizes and ignores:
- brand descriptions in
Symbol.for('…'), Schema.TaggedClass/Schema.TaggedError_tagidentifiers,- the field schemas of those declarations.
Schema declarations are data, not behaviour (Constitution Article III §4) — mutating them produces unkillable equivalent mutants that drag a mutation score below 100% for no real coverage gap. This plugin removes that noise so the score reflects logic.
Usage
pnpm add -D @systemfsoftware/stryker-pluginsIn stryker.config.json:
{
"plugins": [
"@stryker-mutator/vitest-runner",
"@stryker-mutator/typescript-checker",
"@systemfsoftware/stryker-plugins"
],
"ignorers": ["effect-schema-declarations"]
}
@stryker-mutator/apiis a peer dependency — your Stryker install provides it.effectis a direct dependency (the plugin decodes AST nodes withSchema).