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

79 lines 3.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DetailedIssueMarkdownReport = void 0; const report_utils_1 = require("./report-utils"); class DetailedIssueMarkdownReport { static generate(issues, options) { if (!Array.isArray(issues)) issues = []; if (options?.verbose) { console.log('DEBUG detailed-issue-markdown: processing', issues.length, 'issues'); } const lines = []; lines.push('# Detailed Accessibility Error Report'); lines.push(`Generated: ${new Date().toISOString()}`); lines.push(`Total Issues: ${issues.length}`); lines.push(''); // Gruppiere nach Seite const issuesByPage = (0, report_utils_1.groupByPage)(issues) || {}; if (options?.verbose) { console.log('DEBUG detailed-issue-markdown: grouped by page', Object.keys(issuesByPage).length, 'pages'); } for (const [pageUrl, pageIssues] of Object.entries(issuesByPage)) { lines.push(`## Page: ${pageUrl}`); if (pageIssues[0]?.pageTitle) { lines.push(`**Title:** ${pageIssues[0].pageTitle}`); } lines.push(''); // Sortiere innerhalb der Seite const sortedIssues = (0, report_utils_1.sortByType)((0, report_utils_1.sortBySeverity)(pageIssues)); sortedIssues.forEach((issue, idx) => { lines.push(`### Issue ${idx + 1}`); lines.push(`- **Category:** ${issue.type}`); lines.push(`- **Severity:** ${issue.severity}`); 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.lineNumber) lines.push(`- **Line:** ${issue.lineNumber}`); if (issue.htmlSnippet) { lines.push('- **HTML Snippet:**'); lines.push('```html'); lines.push(issue.htmlSnippet); lines.push('```'); } if (issue.recommendation) lines.push(`- **Recommendation:** ${issue.recommendation}`); if (issue.resource) lines.push(`- **Resource:** ${issue.resource}`); if (issue.score !== undefined) lines.push(`- **Score:** ${issue.score}`); if (issue.metric) lines.push(`- **Metric:** ${issue.metric}`); lines.push(''); }); } // Append skipped redirects section if provided if (options?.skippedPages && options.skippedPages.length > 0) { lines.push(''); lines.push('---'); lines.push(''); lines.push('## Skipped (Redirects)'); options.skippedPages.forEach(sp => { const reason = sp.reason || 'HTTP Redirect'; const title = sp.title ? ` (${sp.title})` : ''; lines.push(`- ${sp.url}${title}${reason}`); }); lines.push(''); } return lines.join('\n'); } } exports.DetailedIssueMarkdownReport = DetailedIssueMarkdownReport; //# sourceMappingURL=detailed-issue-markdown.js.map