MCPcopy
hub / github.com/stryker-mutator/stryker-js

github.com/stryker-mutator/stryker-js @v9.6.1 sqlite

repository ↗ · DeepWiki ↗ · release v9.6.1 ↗
3,270 symbols 10,079 edges 1,472 files 207 documented · 6%
README

Mutation testing badge Build Status NPM Node version Slack Chat

Stryker

StrykerJS

Professor X: For someone who hates mutants... you certainly keep some strange company. William Stryker: Oh, they serve their purpose... as long as they can be controlled.

Welcome to StrykerJS's monorepo. This is where all official stryker packages are maintained. If you're new to monorepos: don't be scared. You'll find the packages in the packages folder.

If you're interested in why we chose a monorepo, please read babeljs's design document about monorepos. We use it for the same reasons as they do.

Introduction

For an introduction to mutation testing and Stryker's features, see stryker-mutator.io.

Getting started

Please follow the quickstart on the website.

For small js projects, you can try the following command:

pnpm add --save-dev @stryker-mutator/core
# Only for small projects:
npx stryker run

It will run stryker with default values:

  • Uses npm test as your test command
  • Searches for files to mutate in the lib and src directories

Usage

$ npx stryker <command> [options] [configFile]

See usage on stryker-mutator.io

Supported mutators

See our website for the list of currently supported mutators.

Configuration

See configuration on stryker-mutator.io.

Extension points exported contracts — how you extend this code

FilePreprocessor (Interface)
(no doc) [6 implementers]
packages/core/src/sandbox/file-preprocessor.ts
TestRunner (Interface)
(no doc) [16 implementers]
packages/api/src/test-runner/test-runner.ts
ITypescriptCompiler (Interface)
(no doc) [9 implementers]
packages/typescript-checker/src/typescript-compiler.ts
JestConfigLoader (Interface)
(no doc) [4 implementers]
packages/jest-runner/src/config-loaders/jest-config-loader.ts
Rule (Interface)
(no doc) [3 implementers]
packages/instrumenter/src/transformers/directive-bookkeeper.ts
ProjectStarter (Interface)
(no doc) [3 implementers]
packages/karma-runner/src/starters/project-starter.ts
File (Interface)
* Simple file interface, since we cannot use the File class directly because that would result in a dependency cycle
packages/test-helpers/src/assertions.ts
DoneFn (Interface)
* Action method that should be called when the async work is complete.
packages/jasmine-runner/typings/jasmine-types.d.ts

Core symbols most depended-on inside this repo

stub
called by 309
packages/jasmine-runner/typings/jasmine-types.d.ts
toBe
called by 239
packages/jasmine-runner/typings/jasmine-types.d.ts
beforeEach
called by 226
packages/core/test/setup.ts
expectJSMutation
called by 195
packages/instrumenter/test/helpers/expect-mutation.ts
withArgs
called by 173
packages/jasmine-runner/typings/jasmine-types.d.ts
dryRun
called by 166
packages/api/src/test-runner/test-runner.ts
mutantRun
called by 162
packages/api/src/test-runner/test-runner.ts
join
called by 145
packages/core/src/sandbox/ts-config-preprocessor.ts

Shape

Function 1,300
Method 1,178
Class 537
Interface 236
Enum 19

Languages

TypeScript100%

Modules by API surface

packages/jasmine-runner/typings/jasmine-types.d.ts173 symbols
packages/core/test/integration/test-runner/additional-test-runners.ts53 symbols
packages/core/src/reporters/clear-text-score-table.ts38 symbols
packages/core/test/unit/mutants/incremental-differ.spec.ts36 symbols
packages/core/src/mutants/incremental-differ.ts29 symbols
packages/jest-runner/typings/jasmine.d.ts25 symbols
packages/core/src/reporters/mutation-test-report-helper.ts23 symbols
packages/jest-runner/test/helpers/producers.ts22 symbols
packages/core/src/initializer/stryker-initializer.ts20 symbols
packages/jest-runner/src/jest-test-runner.ts19 symbols
packages/instrumenter/src/util/syntax-helpers.ts19 symbols
packages/instrumenter/src/transformers/directive-bookkeeper.ts19 symbols

Dependencies from manifests, versioned

@angular-devkit/build-angular14.1.0 · 1×
@angular/animations14.1.0 · 1×
@angular/cli14.1.0 · 1×
@angular/common14.1.0 · 1×
@angular/compiler14.1.0 · 1×
@angular/compiler-cli14.1.0 · 1×
@angular/core14.1.0 · 1×
@angular/forms14.1.0 · 1×
@angular/platform-browser14.1.0 · 1×
@angular/platform-browser-dynamic14.1.0 · 1×
@angular/router14.1.0 · 1×
@babel/cli7.28.6 · 1×

For agents

$ claude mcp add stryker-js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact