conflictdet
v1.0.0
Published
Detect git merge conflict markers in source files. Zero dependencies.
Maintainers
Readme
conflictdet
Detect git merge conflict markers in your source files.
Because shipping code with <<<<<<< HEAD in it is embarrassing. Runs in CI to catch unresolved conflicts before they land on main.
Install
npm install -g conflictdetWhy
Git conflict markers are easy to miss — especially in large PRs, generated files, or when merging across long-lived branches. This tool catches them before they reach production.
Usage
Scan a directory
conflictdet src/Output:
Found 2 conflict(s) in 2 file(s)
src/auth.js:15
ours: HEAD (5 lines)
theirs: feature/login-refactor (8 lines)
src/utils.js:42
ours: HEAD (3 lines)
theirs: hotfix/bug-123 (2 lines)CI mode (exit 1 on conflicts)
conflictdet --ci .Perfect for GitHub Actions:
- name: Check for conflict markers
run: conflictdet --ci src/JSON output
conflictdet --json src/ | jq '.conflicts[].file'Filter by extension
conflictdet --exts .js,.ts,.css src/Compact mode
conflictdet --compact .
# src/auth.js:15 <<<<<<< HEAD vs feature/login-refactorAPI
const { scanFile, scanDir, scanContent, summarize } = require('conflictdet');
// Scan a string
const conflicts = scanContent(`<<<<<<< HEAD
const x = 1;
=======
const x = 2;
>>>>>>> feature/branch`, 'example.js');
// Scan a file
const found = scanFile('./src/index.js');
// Scan a directory
const all = scanDir('./src', { exts: ['.js', '.ts'] });
// Get summary
const summary = summarize(all);
console.log(summary.clean); // true if no conflictsFeatures
- Smart detection — finds
<<<<<<<,=======,>>>>>>>markers with ref names - Malformed detection — catches missing separators or end markers
- Fast scanning — skips binary files, respects common ignore dirs
- CI mode — exit code 1 when conflicts found
- Zero dependencies — just Node.js
License
MIT
