Freedom251 › Mutation Testing Tools
Mutineer

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
- Install Node.js 20 or later
- Install the package with npm i @mutineerjs/mutineer
- Configure it for Vitest, Jest, or an adapter-supported test runner
- Run the baseline test suite
- 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
- Mutation Testing Tools#22 of 25