11- let pluginData = pageInfo .data [' webperf-plugin-javascript' ].run ? pageInfo .data [' webperf-plugin-javascript' ].run : pageInfo .data [' webperf-plugin-javascript' ].pageSummary
22
33if pluginData .knowledgeData && pluginData .knowledgeData .issues && pluginData .knowledgeData .issues .length > 0
4- h1 Grouped Issues
5- - let groupedIssues = {};
6- - pluginData .knowledgeData .issues .forEach (issue => {
7- - let key = ` ${ issue .rule } -${ issue .category } -${ issue .severity } ` ;
8- - if (! groupedIssues[key]) {
9- - groupedIssues[key] = { rule: issue .rule , category: issue .category , severity: issue .severity , count: 0 };
10- - }
11- - groupedIssues[key].count ++ ;
12- - });
13- - const severityOrder = { critical: 4 , error: 3 , warning: 2 , info: 1 };
14- - let sortedGroupedIssues = Object .values (groupedIssues).sort ((a , b ) => {
15- - if (severityOrder[b .severity ] !== severityOrder[a .severity ]) {
16- - return severityOrder[b .severity ] - severityOrder[a .severity ];
17- - }
18- - return b .count - a .count ;
19- - });
20- table
21- thead
22- tr
23- th Rule
24- th Category
25- th Severity
26- th Count
27- tbody
28- each value in sortedGroupedIssues
4+ - if (pluginData .knowledgeData .issues .length > 15 )
5+ h1 Grouped Issues
6+ - let groupedIssues = {};
7+ - pluginData .knowledgeData .issues .forEach (issue => {
8+ - let key = ` ${ issue .rule } -${ issue .category } -${ issue .severity } ` ;
9+ - if (! groupedIssues[key]) {
10+ - groupedIssues[key] = { rule: issue .rule , category: issue .category , severity: issue .severity , count: 0 };
11+ - }
12+ - groupedIssues[key].count ++ ;
13+ - });
14+ - const severityOrder = { critical: 4 , error: 3 , warning: 2 , info: 1 };
15+ - let sortedGroupedIssues = Object .values (groupedIssues).sort ((a , b ) => {
16+ - if (severityOrder[b .severity ] !== severityOrder[a .severity ]) {
17+ - return severityOrder[b .severity ] - severityOrder[a .severity ];
18+ - }
19+ - return b .count - a .count ;
20+ - });
21+ table
22+ thead
2923 tr
30- td
31- a( href =` #rule-${ value .rule } ` ) = value .rule
32- td= value .category
33- td= value .severity
34- td= value .count
24+ th Rule
25+ th Category
26+ th Severity
27+ th Count
28+ tbody
29+ each value in sortedGroupedIssues
30+ tr
31+ td
32+ a( href =` #rule-${ value .rule } ` ) = value .rule
33+ td= value .category
34+ td= value .severity
35+ td= value .count
3536
36- // Add tables for each rule
37- each value in sortedGroupedIssues
38- h2( id =` rule-${ value .rule } ` ) = ` Rule: ${ value .rule } `
37+ // Add tables for each rule
38+ each value in sortedGroupedIssues
39+ h2( id =` rule-${ value .rule } ` ) = ` Rule: ${ value .rule } `
40+ p
41+ strong Category:
42+ = value .category
43+ br
44+ strong Severity:
45+ = value .severity
46+ - if (pluginData .knowledgeData .issues .filter (issue => issue .rule === value .rule ).length > 100 )
47+ p Note: Only the first 100 issues are displayed.
48+ table
49+ thead
50+ tr
51+ th URL
52+ th Text
53+ th Line
54+ th Column
55+ tbody
56+ - let limitedIssues = pluginData .knowledgeData .issues .filter (issue => issue .rule === value .rule ).slice (0 , 100 );
57+ each issue in limitedIssues
58+ tr
59+ td= issue .url
60+ td= issue .text
61+ td= issue .line
62+ td= issue .column
63+ - else
64+ h1 Issues
3965 table
4066 thead
4167 tr
@@ -47,7 +73,7 @@ if pluginData.knowledgeData && pluginData.knowledgeData.issues && pluginData.kno
4773 th Line
4874 th Column
4975 tbody
50- each issue in pluginData .knowledgeData .issues . filter ( issue => issue . rule === value . rule )
76+ each issue in pluginData .knowledgeData .issues
5177 tr
5278 td= issue .url
5379 td= issue .rule
@@ -56,3 +82,9 @@ if pluginData.knowledgeData && pluginData.knowledgeData.issues && pluginData.kno
5682 td= issue .text
5783 td= issue .line
5884 td= issue .column
85+ else
86+ p No issues found.
87+
88+ //- h2 Debug: Plugin Data
89+ //- pre
90+ //- code= JSON.stringify(pluginData, null, 3)
0 commit comments