UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

68 lines 3.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SecurityIssueMarkdownReport = void 0; const report_utils_1 = require("./report-utils"); class SecurityIssueMarkdownReport { static generate(issues) { if (!Array.isArray(issues)) issues = []; console.log('DEBUG security-issue-markdown: issues', issues); const lines = []; lines.push('# 🔒 Security Issue Report'); lines.push(`Generated: ${new Date().toISOString()}`); lines.push(`Total Issues: ${issues.length}`); lines.push(''); // Filter nur auf Security-Issues const securityIssues = issues.filter(issue => issue.reportType === 'security'); if (securityIssues.length === 0) { lines.push('✅ No security issues found!'); return lines.join('\n'); } // Gruppiere nach Test (type) const issuesByTest = new Map(); for (const issue of securityIssues) { if (!issuesByTest.has(issue.type)) { issuesByTest.set(issue.type, []); } issuesByTest.get(issue.type).push(issue); } console.log('DEBUG security-issue-markdown: issuesByTest', Array.from(issuesByTest.entries())); for (const [testName, testIssues] of issuesByTest.entries()) { lines.push(`## ${testName}`); const sorted = (0, report_utils_1.sortBySeverity)(testIssues); sorted.forEach((issue, idx) => { lines.push(`### Issue ${idx + 1}`); lines.push(`- **Severity:** ${issue.severity}`); if (issue.resource) lines.push(`- **Resource:** ${issue.resource}`); if (issue.score !== undefined) lines.push(`- **Score:** ${issue.score}`); if (issue.source) lines.push(`- **Source:** ${issue.source}`); lines.push(`- **Message:** ${issue.message}`); if (issue.code) lines.push(`- **Code:** ${issue.code}`); if (issue.selector) lines.push(`- **Selector:** \`${issue.selector}\``); if (issue.context) lines.push(`- **Context:** \`${issue.context}\``); if (issue.htmlSnippet) { lines.push('- **HTML Snippet:**'); lines.push('```html'); lines.push(issue.htmlSnippet); lines.push('```'); } if (issue.lineNumber) lines.push(`- **Line:** ${issue.lineNumber}`); if (issue.recommendation) lines.push(`- **Recommendation:** ${issue.recommendation}`); if (issue.metric) lines.push(`- **Metric:** ${issue.metric}`); lines.push(''); }); } return lines.join('\n'); } } exports.SecurityIssueMarkdownReport = SecurityIssueMarkdownReport; //# sourceMappingURL=security-issue-markdown.js.map