Reporters
SARIF Reporter
Generate SARIF reports for GitHub Code Scanning integration.
Installation
npm install @jscpd/sarif-reporter
Usage
jscpd --reporters sarif ./src
Output file: ./report/jscpd-sarif.json
GitHub Code Scanning Integration
Upload the SARIF output to GitHub to surface duplication findings inline in pull requests:
.github/workflows/jscpd.yml
name: Code duplication check
on: [push, pull_request]
jobs:
jscpd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run jscpd
run: npx jscpd --reporters sarif --output ./reports .
- name: Upload SARIF to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ./reports/jscpd-sarif.json
Results appear in the Security → Code Scanning tab of your repository and as inline annotations on pull request diffs.
Configuration
.jscpd.json
{
"reporters": ["sarif"],
"output": "./reports/jscpd"
}
How It Works
Each detected clone is reported as a warning-level SARIF result with precise file locations (line and column). If the overall duplication percentage exceeds the configured --threshold, an additional error-level result is emitted under the duplications-threshold rule.