cli icon indicating copy to clipboard operation
cli copied to clipboard

Issues sections should link to local file in your IDE at given commit with highlighted line(s)

Open BioPhoton opened this issue 1 year ago • 2 comments

User story

As a user of the CLI I want to have click through experience for all actionable feedback a get from the audit issues.

At the moment the provided issues often show exactly where the error needs to get fixed, but a manual navigation to the line of code is required.

Example:

Severity Message Source file Line(s)
⚠️ warning Lines 1-18 are not covered in any test case. src/lib/index.ts 1-18
⚠️ warning Line 104 is not covered in any test case. src/lib/index.ts 104
Severity Message Source file Line(s)
🚨 error 1st branch is not taken in any test case. src/lib/index.ts 101
🚨 error 1st branch is not taken in any test case. src/lib/index.ts 1

Acceptance criteria

  • [ ] The report contains links to the IDE
  • [ ] When the link is clicked it opens the source file in the IDE
    • Webstorm - only file is linkable over relative path (../src/lib/index.ts)
    • Code - file and line are linkable over relative path (../src/lib/index.ts#L9)
    • GitHub - file and line rang is linkable over a relative path (../src/lib/index.ts#L4-L8)
  • [ ] When no location of the report is present (location of report file unknown) the static file path is displayed. No link is used.

Folder:

/
├── .code-pushup
│   └── report.json
└── src
    └── lib
        └── index.ts

Link in report:
[src/lib/index.ts](../src/lib/index.ts)

Example Report:

Severity Message Source file Line(s)
⚠️ warning Lines 1-18 are not covered in any test case. src/lib/index.ts 1-18
⚠️ warning Line 104 is not covered in any test case. src/lib/index.ts 104
Severity Message Source file Line(s)
🚨 error 1st branch is not taken in any test case. src/lib/index.ts 101
🚨 error 1st branch is not taken in any test case. src/lib/index.ts 1

Implementation details

Essential logic and tests are present in the following PR, the over all configuration handling is not fully thought through.

https://github.com/code-pushup/cli/tree/add-link-to-local-filesystem-in-reports

Related Issues:

https://github.com/code-pushup/cli/issues/149

BioPhoton avatar Jul 11 '24 13:07 BioPhoton

Should we close https://github.com/code-pushup/cli/issues/722? What happens in CI? Should the CVS server get considered in the desinge decision?

We don't print issues in the CLI output (it would be way too much info), so I don't see that there's anything to consider about CI.

CI jobs may produce the Markdown artifacts, but artifacts' content isn't viewable online anyway, you have to download the file and open it - probably in your IDE :grin: So local path links should still cover most use cases, I think.

matejchalk avatar Jul 12 '24 17:07 matejchalk

The thought was driven by the fact that ppl could store the report in the repo or add it to a pr.

I started to elaborate it here #748

BioPhoton avatar Jul 12 '24 17:07 BioPhoton