npm.io
0.1.0 • Published 3d ago

@systemfsoftware/stryker-plugins

Licence
MIT
Version
0.1.0
Deps
1
Size
8 kB
Vulns
0
Weekly
0
Stars
1

@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 _tag identifiers,
  • 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-plugins

In stryker.config.json:

{
  "plugins": [
    "@stryker-mutator/vitest-runner",
    "@stryker-mutator/typescript-checker",
    "@systemfsoftware/stryker-plugins"
  ],
  "ignorers": ["effect-schema-declarations"]
}

@stryker-mutator/api is a peer dependency — your Stryker install provides it. effect is a direct dependency (the plugin decodes AST nodes with Schema).

Keywords