@stryker-mutator/babel-transpiler

A plugin for babel projects using Stryker

Usage no npm install needed!

<script type="module">
  import strykerMutatorBabelTranspiler from 'https://cdn.skypack.dev/@stryker-mutator/babel-transpiler';
</script>

README

Mutation testing badge Build Status NPM Node version Slack Chat

Stryker

Stryker Babel plugin

A plugin that adds support for Babel to Stryker, the JavaScript Mutation testing framework.

Peer dependencies

The @stryker-mutator/babel-transpiler requires you to install babel 7. Install at least the @babel/core package (version 7).

Quickstart

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

Next, install this package:

npm install --save-dev @stryker-mutator/babel-transpiler @babel/core

Next, open up your stryker.conf.js (or stryker.conf.json) file and add the following properties:

babel: {
    // Location of your .babelrc file, set to `null` to
    optionsFile: '.babelrc',
    // Override options here:
    options: {
        // presets: ['@babel/env'],
        // plugins: ['transform-es2015-spread']
    },
     // Add extensions here
    extensions: [/*'.ts'*/]
}
transpilers: [
    'babel' // Enable the babel transpiler
],

If you initialize stryker using stryker init, the babelrcFile property will be added to your stryker.conf.js automatically.

Now give it a go:

$ npx stryker run

Configuration

babel.optionsFile [string | null]

Default: '.babelrc'

The location of your babelrc file. Set this value to null to disable loading of a babel config file.

babel.options [TranspilerOptions]

Default: {}

Override babel options from your config file here. Please see babel's documentation to see what is available.

Some options are restricted to be set, because the @stryker-mutator/babel-transpiler takes control of it. These options are: filename, filenameRelative and cwd.

babel.extensions [string[]]

Default: []

Load additional extensions here. By default only these extensions get picked up by babel: ".js", ".jsx", ".es6", ".es", ".mjs". For example: if you want to enable typescript transpilation, set extensions to ["ts", "tsx"].