FREEDOM251

Freedom251 › Mutation Testing Tools

Mutineer

Free plan

Visit Mutineer Alternatives

Mutineer's own site

What Mutineer is

Mutineer is a free, MIT-licensed mutation testing framework for JavaScript and TypeScript. It checks a baseline test run, makes AST-based changes to source code, reruns relevant tests and reports kill rates and escaped mutants. Its Babel AST analysis avoids changing operators inside strings and comments. The framework is built for Vitest, has first-class Jest support and can connect to other test runners through an adapter interface. It also supports Vue single-file components using script setup.

Runs can be narrowed to changed files, those files and their local imports, or lines covered by tests. Per-test coverage can help choose which tests run for each mutant; covered-line filtering requires a coverage file. The CLI provides text and JSON reports, with JSON written to mutineer-report.json. It supports parallel execution, surviving-mutant reports and a mutation quality gate. Mutation operators include equality, boundary, logical, arithmetic and return-value changes, as well as Vue composition and template-directive mutations. The package is installed with npm and requires Node.js 20 or later. The project warns that full-codebase runs may take a while and recommends incremental strategies for large repositories.

Who it suits

Mutineer suits JavaScript and TypeScript developers using Vitest or Jest who want to see whether tests catch introduced code changes. Teams with large repositories can use its incremental options to narrow runs.

What it does well

  • Supports Vitest, Jest and adapter-based test runners.
  • Scopes runs to changed files or covered lines.
  • Provides text and JSON reports.
  • Supports parallel execution and mutation quality gates.

What to know first

  • Requires Node.js 20 or later.
  • Covered-line filtering requires a coverage file.
  • Full-codebase runs may take a while.

Limits

Full codebase runs can take a while, so the project recommends incremental strategies for large repositories. Covered-line filtering requires a coverage file.

Getting started

  1. Install Node.js 20 or later
  2. Install the package with npm i @mutineerjs/mutineer
  3. Configure it for Vitest, Jest, or an adapter-supported test runner
  4. Run the baseline test suite
  5. Choose a mutation scope and generate text or JSON results

Verdict

Mutineer offers mutation testing with targeted runs, multiple report formats and support for the listed JavaScript and TypeScript frameworks. Its Node.js requirement and the potential duration of full-codebase runs are worth considering.

Questions

Is Mutineer free?

Yes. It is free, open-source software published under the MIT license.

Which languages and frameworks are supported?

It supports JavaScript and TypeScript, with Vitest and Jest listed as test frameworks. Other runners can connect through an adapter interface.

What does Mutineer report?

It reports kill rates and escaped mutants, with text and JSON report formats. JSON output is written to mutineer-report.json.

How can mutation runs be scoped?

Runs can target changed files, changed files and their imports, or lines covered by tests.

What installation requirement is listed?

The package is installed with npm, and its metadata requires Node.js 20 or later.

Facts from Mutineer's own pages

Coverage
Per test coverage can select which tests to run for each mutant, and covered line filtering requires a coverage file. · github.com, 8 Oct 2026
How it works
It checks a baseline test run, applies AST safe mutations to source files, runs tests that import the changed file, and reports kill rates and escaped mutants. · github.com, 8 Oct 2026
Installation requirement
The package is installed with npm and its package metadata requires Node.js 20 or later. · github.com, 8 Oct 2026
Language support
It supports TypeScript and JavaScript modules and Vue single file components using script setup. · github.com, 8 Oct 2026
Large repositories
The project warns that full codebase runs may take a while and recommends incremental strategies for large repositories. · github.com, 8 Oct 2026
License
The project is published under the MIT license. · github.com, 8 Oct 2026
Maintainer
The repository lists Billy Jones as a maintainer. · github.com, 8 Oct 2026
Mutation handling
Mutations use Babel AST analysis so operators in strings and comments are not changed. · github.com, 8 Oct 2026
Mutation process
It runs a baseline test suite, mutates source files with AST safe operator replacements, reruns relevant tests, and reports kill rates and escaped mutants. · github.com, 8 Oct 2026
Mutation safety
Mutations use Babel AST analysis, so operators inside strings and comments are not changed. · github.com, 8 Oct 2026
Package availability
The package page lists the installation command as npm i @mutineerjs/mutineer. · npmjs.com, 8 Oct 2026
Purpose
Mutineer is a mutation testing framework for JavaScript and TypeScript that changes source code and runs existing tests to reveal defects the tests miss. · github.com, 8 Oct 2026
Reports
The CLI supports text and JSON reports, with JSON written to mutineer-report.json. · github.com, 8 Oct 2026
Scoping options
Runs can be scoped to changed files, changed files and their local imports, or lines covered by tests. · github.com, 8 Oct 2026
Targeted runs
The CLI can limit mutation runs to changed files, changed files and their imports, or code on covered lines. · github.com, 8 Oct 2026
Test runners
It is built for Vitest, has first class Jest support, and allows other test runners through an adapter interface. · github.com, 8 Oct 2026

Where Mutineer stands on Freedom251

Look at these too