diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index b581bcd500e..da8af8687eb 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -1,6 +1,6 @@ name: Check for Duplicated Code -on: +on: pull_request_target: branches: - master @@ -100,11 +100,14 @@ jobs: const fs = require('fs'); const filteredReport = JSON.parse(fs.readFileSync('filtered-jscpd-report.json', 'utf8')); let comment = "Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:\n\n"; + function link(dup) { + return `https://github.com/${{ github.event.repository.full_name }}/blob/${{ github.event.pull_request.head.sha }}/${dup.name}#L${dup.start}-L${dup.end}` + } filteredReport.forEach(duplication => { - const firstFile = duplication.firstFile.name; - const secondFile = duplication.secondFile.name; + const firstFile = duplication.firstFile; + const secondFile = duplication.secondFile; const lines = duplication.lines; - comment += `- \`${firstFile}\` has ${lines} duplicated lines with \`${secondFile}\`\n`; + comment += `- [\`${firstFile.name}\`](${link(firstFile)}) has ${lines} duplicated lines with [\`${secondFile.name}\`](${link(secondFile)})\n`; }); comment += "\nReducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. Keep up the great work! 🚀"; github.rest.issues.createComment({