Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@stryker-mutator/javascript-mutator

stryker-mutator23.5kApache-2.04.0.0TypeScript support: included

A plugin for javascript projects using Stryker

stryker, javascript, @stryker-mutator/mutator-plugin

readme

Mutation testing badge Build Status NPM Node version Slack Chat

Stryker

Stryker JavaScript mutator

A mutator that supports JavaScript for Stryker, the JavaScript Mutation testing framework. This plugin does not transpile any code. The code that the @stryker-mutator/javascript-mutator gets should be executable in your environment (i.e. the @stryker-mutator/javascript-mutator does not add support for Babel projects).

Quickstart

First, install Stryker itself (you can follow the quickstart on the website)

Next, install this package:

npm install --save-dev @stryker-mutator/javascript-mutator

Now open up your stryker.conf.js (or stryker.conf.json) file and add the following components:

mutator: 'javascript',
// OR
mutator: {
    name: 'javascript',
    plugins: ['classProperties', 'optionalChaining'],
    excludedMutations: ['BooleanSubstitution', 'StringLiteral']
}

Now give it a go:

$ stryker run

Configuration

mutator.name [string]

The name of the mutator, use 'javascript' to enable this mutator.

mutator.plugins [(string | ParserPluginWithOptions)[]]

Default: ['asyncGenerators', 'bigInt', 'classProperties', 'dynamicImport', 'flow', 'jsx', 'objectRestSpread', ['decorators', { decoratorsBeforeExport: true }]

Configure custom Babel Syntax plugins. Syntax plugins allow you to parse different pieces of syntax. By default a number of plugins are configured. We might add more in the future. For example: you can configure your own Syntax plugins here to allow for stage 1 features.

mutator.excludedMutations [string[]]

See Stryker core's readme

Mutators

The JavaScript Mutator is a plugin to mutate JavaScript code. This is done using Babel without any plugins.

See test code to know which mutations are supported.

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

4.0.0 (2020-10-07)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.10 (2020-10-05)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.9 (2020-09-30)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.8 (2020-09-22)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.7 (2020-09-17)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.6 (2020-09-10)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.5 (2020-09-09)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.4 (2020-08-29)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.3 (2020-08-19)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.2 (2020-08-07)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.1 (2020-07-17)

Note: Version bump only for package @stryker-mutator/javascript-mutator

4.0.0-beta.0 (2020-07-10)

Features

3.3.1 (2020-07-04)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.3.0 (2020-06-16)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.2.4 (2020-05-18)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.2.3 (2020-05-15)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.2.2 (2020-05-15)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.2.1 (2020-05-15)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.2.0 (2020-05-13)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.1.0 (2020-03-29)

Note: Version bump only for package @stryker-mutator/javascript-mutator

3.0.2 (2020-03-13)

Bug Fixes

  • nodejs requirement: set NodeJS requirement to at least Node 10 (8c08059)

3.0.1 (2020-03-12)

Bug Fixes

3.0.0 (2020-03-11)

Features

  • Initializer: Initialize config file as JSON by default (#2093) (e07d953), closes #2000

2.5.0 (2020-01-12)

Features

  • arrow mutations: add arrow mutations and refactor JavaScript mutators (#1898) (898d38b)

2.4.0 (2019-11-24)

Features

  • excludedMutations: Implement new naming of mutators (#1855) (c9b3bcb)

2.3.0 (2019-11-13)

Note: Version bump only for package @stryker-mutator/javascript-mutator

2.2.1 (2019-11-06)

Note: Version bump only for package @stryker-mutator/javascript-mutator

2.2.0 (2019-11-06)

Features

  • javascript-mutator: allow to override babel plugins (#1764) (ddb3d60)

2.1.0 (2019-09-08)

Note: Version bump only for package @stryker-mutator/javascript-mutator

2.0.2 (2019-07-11)

Note: Version bump only for package @stryker-mutator/javascript-mutator

2.0.1 (2019-07-02)

Note: Version bump only for package @stryker-mutator/javascript-mutator

2.0.0 (2019-05-17)

Features

BREAKING CHANGES

  • node 6: support for Node 6 has been dropped. Node 8 or higher is now required.

1.3.1 (2019-04-26)

Note: Version bump only for package @stryker-mutator/javascript-mutator

1.3.0 (2019-04-24)

Features

1.2.0 (2019-04-02)

Note: Version bump only for package @stryker-mutator/javascript-mutator

1.1.1 (2019-03-21)

Note: Version bump only for package @stryker-mutator/javascript-mutator

1.1.0 (2019-03-04)

Note: Version bump only for package @stryker-mutator/javascript-mutator

1.0.3 (2019-02-26)

Note: Version bump only for package @stryker-mutator/javascript-mutator

1.0.2 (2019-02-13)

Bug Fixes

  • stryker init: update metadata for stryker init command (#1403) (38f269b), closes #1402

1.0.1 (2019-02-13)

Note: Version bump only for package @stryker-mutator/javascript-mutator

1.0.0 (2019-02-13)

Features

  • getLogger: remove getLogger and LoggerFactory from the API (#1385) (cb14e67)
  • rename: rename stryker-xxx-xxx -> [@stryker-mutator](https://github.com/stryker-mutator)/xxx-xxx (1bbd6ff)

BREAKING CHANGES

0.14.1 (2019-02-12)

Note: Version bump only for package stryker-javascript-mutator

0.14.0 (2019-02-08)

Features

  • mutators: Remove side effects from mutator plugins (#1352) (edaf401)

0.13.0 (2018-12-23)

Features

0.12.2 (2018-12-12)

Note: Version bump only for package stryker-javascript-mutator

0.12.1 (2018-11-29)

Bug Fixes

  • stryker-api: Update stryker-api peer dependency version (677fc28)

0.12.0 (2018-11-29)

Bug Fixes

  • String literal mutator: Don't mutate export declarations (c764ccd)

Features

  • Conditional expression mutator: Mutate conditional operators (#1253) (be4c990)

0.11.5 (2018-11-21)

Note: Version bump only for package stryker-javascript-mutator

0.11.4 (2018-11-13)

Note: Version bump only for package stryker-javascript-mutator

0.11.3 (2018-11-07)

Note: Version bump only for package stryker-javascript-mutator

0.11.2 (2018-10-15)

Bug Fixes

  • version: Version bump for failed release (8cf9e87)

0.11.0 (2018-10-06)

Features

0.10.2 (2018-10-03)

Note: Version bump only for package stryker-javascript-mutator

0.10.1 (2018-09-30)

Bug Fixes

  • mutator: Fix empty case statement unkillable mutant (#1159) (e080acb)

0.10.0 (2018-09-14)

Features

  • mutator: add SwitchCase statement mutator (#1127) (cec6a39)

0.9.1 (2018-08-21)

Note: Version bump only for package stryker-javascript-mutator

0.9.0 (2018-08-19)

Features

  • stryker config: rename config setting reporter to reporters (#1088) (584218a), closes #793

0.8.2 (2018-08-17)

Bug Fixes

  • dependencies: support stryker-api 0.19.0 (#1087) (44ce923)

0.8.1 (2018-08-17)

Note: Version bump only for package stryker-javascript-mutator

0.8.0 (2018-07-20)

Bug Fixes

Features

0.7.3 (2018-07-04)

Note: Version bump only for package stryker-javascript-mutator

0.7.2 (2018-05-31)

Note: Version bump only for package stryker-javascript-mutator

0.7.1 (2018-05-21)

Note: Version bump only for package stryker-javascript-mutator

0.7.0 (2018-04-30)

Features

BREAKING CHANGES

  • node version: Node 4 is no longer supported.

0.6.3 (2018-04-20)

Note: Version bump only for package stryker-javascript-mutator

0.6.2 (2018-04-12)

Note: Version bump only for package stryker-javascript-mutator

0.6.1 (2018-04-11)

Bug Fixes

  • Mutate config: Set default mutate pattern (#692) (bd597e7)

0.6.0 (2018-04-11)

Bug Fixes

Features

0.5.0 (2018-04-04)

Features

  • File api: support new File format (f8d5217)

0.4.3 (2018-03-22)

Bug Fixes

  • peerDependency: update stryker-api requirement to ^0.14.0 (3ce04d4)

0.4.2 (2018-03-22)

Note: Version bump only for package stryker-javascript-mutator

0.4.1 (2018-03-21)

Note: Version bump only for package stryker-javascript-mutator

0.4.0 (2018-02-07)

Features

  • javascript-mutator: support more plugins by default (#615) (db2e56e)

0.3.5 (2018-02-07)

Bug Fixes

  • dependencies: update stryker-api requirement to ^0.13.0 (8eba6d4)

0.3.4 (2018-02-07)

Note: Version bump only for package stryker-javascript-mutator

0.3.3 (2018-01-25)

Bug Fixes

0.3.2 (2018-01-12)

Note: Version bump only for package stryker-javascript-mutator

0.3.1 (2017-12-21)

Note: Version bump only for package stryker-javascript-mutator

0.3.0 (2017-12-18)

Features

0.2.3 (2017-11-27)

Bug Fixes

  • peerDependencies: Remove typescript as a peer dependency (#479) (7472418), closes #478

0.2.2 (2017-11-27)

Bug Fixes

  • BabelParser: Support parsing modules (#473) (1992c50)

0.2.1 (2017-11-24)

Note: Version bump only for package stryker-javascript-mutator

0.2.0 (2017-11-24)

Features

  • JavaScript mutator: Add stryker-javascript-mutator package (#467) (06d6bac), closes #429