Mutineer
Mutineer is a free, open-source mutation testing framework for JavaScript and TypeScript.
What Mutineer is
Mutineer is a free, open-source mutation testing framework for JavaScript and TypeScript. It changes source code, runs existing tests, and reveals defects those tests fail to catch. The tool checks a baseline run, applies Babel AST-safe operator mutations, reruns tests that import the changed file, and reports kill rates and escaped mutants. Operators inside strings and comments remain unchanged. Mutineer is built for Vitest, offers first-class Jest support, and can connect to other runners through adapters. It also supports JavaScript and TypeScript modules plus Vue single-file components using script setup. Runs can target changed files, their imports, or covered lines; covered-line filtering needs a coverage file, while per-test coverage helps select tests per mutant. Text and JSON reports are available, with JSON saved as mutineer-report.json. Incremental and parallel execution, surviving-mutant reports, and a mutation quality gate are listed. Installation uses npm and requires Node.js 20 or later. The project is MIT licensed.
Good
- Free and open source
- Supports Vitest and Jest
- AST-safe mutation handling
- Incremental and parallel execution
- Text and JSON reports
Watch out
- Requires Node.js 20 or later
- Full-repository runs may take a while
- Covered-line filtering needs a coverage file
Who it suits
Mutineer suits JavaScript or TypeScript teams using Vitest, Jest, or an adaptable test runner. It is useful when teams need scoped, incremental mutation analysis and quality-gate reporting.
Verdict
Mutineer provides focused mutation analysis for JavaScript, TypeScript, and supported Vue components. Its runner support, scoped execution, reports, and quality gate fit teams checking whether tests catch deliberate code changes.
The facts
Each one read from Mutineer's own pages, with the date it was checked.
What it does
- Coverage
- Per test coverage can select which tests to run for each mutant, and covered line filtering requires a coverage file.checked 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.checked 8 Oct 2026
- Installation requirement
- The package is installed with npm and its package metadata requires Node.js 20 or later.checked 8 Oct 2026
- Language support
- It supports TypeScript and JavaScript modules and Vue single file components using script setup.checked 8 Oct 2026
- Large repositories
- The project warns that full codebase runs may take a while and recommends incremental strategies for large repositories.checked 8 Oct 2026
- License
- The project is published under the MIT license.checked 8 Oct 2026
- Maintainer
- The repository lists Billy Jones as a maintainer.checked 8 Oct 2026
- Mutation handling
- Mutations use Babel AST analysis so operators in strings and comments are not changed.checked 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.checked 8 Oct 2026
- Mutation safety
- Mutations use Babel AST analysis, so operators inside strings and comments are not changed.checked 8 Oct 2026
- Package availability
- The package page lists the installation command as npm i @mutineerjs/mutineer.checked 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.checked 8 Oct 2026
- Reports
- The CLI supports text and JSON reports, with JSON written to mutineer-report.json.checked 8 Oct 2026
- Scoping options
- Runs can be scoped to changed files, changed files and their local imports, or lines covered by tests.checked 8 Oct 2026
- Targeted runs
- The CLI can limit mutation runs to changed files, changed files and their imports, or code on covered lines.checked 8 Oct 2026
- Test runners
- It is built for Vitest, has first class Jest support, and allows other test runners through an adapter interface.checked 8 Oct 2026
Alternatives to Mutineer
- 1
Mutatest
Free planOpen sourceAPILinuxmacOSSelf-hosted7.2Free plan - 2

ArcMutate
Free planLinuxmacOSSelf-hostedWindows6.7From $8 a month - 3
Mutant
Free planLinuxmacOS6.7From $250 a year - 4
MuJava
Free planLinuxmacOSWindows6.3Free plan - 5
pymute
Free planLinux6.3Free plan - 6
go-mutesting
Free planLinuxSelf-hosted6.2Free plan
