Skip to content

feat: show skipped manifest dependencies in the HTML report#841

Merged
sonukapoor merged 1 commit into
OWASP:mainfrom
ELHart05:feature/issue-234-skipped-manifest-deps-html
Jul 18, 2026
Merged

feat: show skipped manifest dependencies in the HTML report#841
sonukapoor merged 1 commit into
OWASP:mainfrom
ELHart05:feature/issue-234-skipped-manifest-deps-html

Conversation

@ELHart05

Copy link
Copy Markdown
Contributor

Summary

The terminal output already lists dependencies that were skipped during a scan (via printSkippedDependencies), but the HTML report had no equivalent, so anyone reading the report couldn't tell what was left out of it. This adds a "Skipped manifest dependencies" section to the HTML report.

Why this change

When a scan can't resolve some manifest dependencies (private-registry packages, git/file specifiers, version ranges it can't parse), they're silently absent from the HTML report. A reader has no way to distinguish "the report covered the whole tree" from "part of the tree was quietly skipped." The terminal already surfaces this list; the report should too.

What changed

  • Thread scanInput.skippedDependencies through buildReportData into ReportData.
  • Render a "Skipped manifest dependencies" card in the HTML report, reusing the existing card styling and listing each skipped specifier. The section is omitted entirely when nothing was skipped.
  • Because the list is now part of ReportData, it also appears in the report.json written alongside the HTML.
  • Added tests in tests/html-reporter.test.ts: pass-through, rendering + count, HTML-escaping of specifiers, and empty-case omission.

Validation

  • npm run build (strict tsc) passes.
  • npm test for the reporter suite passes, including the 4 new tests; also eyeballed the rendered fragment to confirm layout and escaping.

User-facing impact

Does this change:

  • affect scanning behavior
  • affect output formatting
  • affect JSON output
  • affect docs only

Notes

The section adds no new client-side JS and reuses the existing card styling, so it inherits the report's light/dark theming and needs no interactivity.

Closes #234

The terminal output already lists dependencies that were skipped during a
scan (printSkippedDependencies), but the HTML report had no equivalent, so
anyone reading the report had no visibility into what was excluded from it.

Thread scanInput.skippedDependencies through buildReportData into ReportData
and render a "Skipped manifest dependencies" section, mirroring the existing
skipped-findings card. The list is also carried in report.json now that it is
part of ReportData. The section is omitted entirely when nothing was skipped.
@ELHart05
ELHart05 requested a review from sonukapoor as a code owner July 18, 2026 00:42
@sonukapoor
sonukapoor merged commit af35ee3 into OWASP:main Jul 18, 2026
6 checks passed
@sonukapoor

Copy link
Copy Markdown
Collaborator

Merged - thank you @ELHart05!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: show skipped/unparseable dependencies in HTML report

2 participants