Upon first checkout, install StrykerJS dependencies using npm install
.
Every time you make a change to StrykerJS, rebuild it using npm run build
.
To apply the modified StrykerJS to a code base, install it inside a checkout of the code base:
npx install-local /path/to/stryker-js/packages/{core,util,api,instrumenter,*-runner}
Create a JSON file with the desired mutants, store its location in the environment variable MUTANTS_FILE
, then run StrykerJS as usual:
npx stryker run
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.
For an introduction to mutation testing and Stryker's features, see stryker-mutator.io.
Please follow the quickstart on the website.
For small js projects, you can try the following command:
npm install --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
andsrc
directories
$ npx stryker <command> [options] [configFile]
See usage on stryker-mutator.io
See our website for the list of currently supported mutators.