From 3709d03af1e8c6cc6085d956becc99b9b289bebd Mon Sep 17 00:00:00 2001 From: Rohith Pariki Date: Wed, 5 Aug 2026 05:13:05 +0530 Subject: [PATCH] fix(output): include report.json and OA/DM panels in multi-folder HTML report (closes #878) --- src/output/multi-folder-html-reporter.ts | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/output/multi-folder-html-reporter.ts b/src/output/multi-folder-html-reporter.ts index c07655cd..884e30d5 100644 --- a/src/output/multi-folder-html-reporter.ts +++ b/src/output/multi-folder-html-reporter.ts @@ -13,6 +13,8 @@ import type { SerializedFinding } from "./html-reporter.js"; import { loadLogoDataUri } from "./logos.js"; import { pluralize } from "../utils/string.js"; import type { SeverityLabel } from "../types.js"; +import { renderOverrideFindingsHtml } from "./override-findings-html.js"; +import { renderMaintenanceFindingsHtml } from "./maintenance-findings-html.js"; type SevCounts = Record; @@ -158,6 +160,16 @@ export async function writeMultiFolderHtmlReport(params: { }) .join("\n"); + const allOverrideFindings = params.results.flatMap(r => r.overrideFindings.map(of => ({ ...of, subfolder: r.subfolder }))); + const allMaintenanceFindings = params.results.flatMap(r => r.maintenanceFindings.map(mf => ({ ...mf, subfolder: r.subfolder }))); + + const overrideHtml = allOverrideFindings.length > 0 + ? renderOverrideFindingsHtml(allOverrideFindings) + : ""; + const maintenanceHtml = allMaintenanceFindings.length > 0 + ? renderMaintenanceFindingsHtml(allMaintenanceFindings) + : ""; + // The OWASP SVG inline icon used in the header link const owaspSvg = ``; @@ -222,6 +234,8 @@ details[open] .folder-summary::before{transform:rotate(90deg)} ${folderSectionsHtml} +${overrideHtml} +${maintenanceHtml}