mo3ta-coverage
v1.0.12
Published
Run tests and report uncovered changed lines in a PR
Downloads
358
Maintainers
Readme
mo3ta-coverage 
mo3ta-coverage checks coverage for changed lines in a pull request. It finds changed source files, maps them to likely test files, runs Jest in a selected execution mode, and validates changed-line coverage against a threshold.
Features
- Detects changed JS/TS files from git history and working tree
- Maps changed source files to nearby test files automatically
- Supports three execution modes:
fast,smart, andfull - Parses
lcov.infoand reports uncovered changed lines - Enforces a minimum coverage threshold for changed lines
Installation
npm install -g mo3ta-coverageUsage
mo3ta-coverage --mode smart --base origin/main --limit 80CLI Options
| Option | Description | Default |
|--------|-------------|---------|
| --base <branch> | Base branch to compare against | origin/main |
| --lcov <path> | Path to lcov.info | coverage/lcov.info |
| --limit <percent> | Minimum changed-line coverage percentage | 80 |
| --showCovered <bool> | Show covered changed lines in output | false |
| --mode <mode> | Execution mode: fast, smart, or full | smart |
Modes
fast: Direct execution of mapped test files only. No Jest dependency traversal.smart: Direct execution of changed source files plus mapped test files. No Jest dependency traversal.full: Runs mapped test files throughjest --findRelatedTests.
Recommended Mode
For most projects, especially large ones with shared helpers or deep import graphs, use:
mo3ta-coverage --mode smart --base origin/main --limit 80Use full only when you intentionally want Jest to expand to related tests.
Configuration
You can persist defaults with the config subcommand:
mo3ta-coverage config --base origin/main --mode smartThis writes .mo3ta-coverage.json in the project root.
How It Works
- Reads CLI options and saved config from index.js.
- Finds changed source files from git in src/cli.js.
- Maps source files to nearby test files in src/fileUtils.js.
- Runs Jest in the selected mode from src/cli.js.
- Parses
lcov.infoand reports uncovered changed lines.
Development
npm install
npm testLicense
MIT
