@@ -91,98 +91,39 @@ export function renderMarkdownReportContent(comparison, { track } = {}) {
91
91
} )
92
92
: null ;
93
93
94
- // If track is specified, calculate totals only for tracked bundles
95
- let displayTotals = comparison . totals ;
96
- let displayFileCounts = comparison . fileCounts ;
97
-
98
94
if ( trackedEntries ) {
99
- // Calculate totals only for tracked bundles
100
- const trackedTotalParsed = trackedEntries . reduce (
101
- ( sum , entry ) => sum + entry . parsed . absoluteDiff ,
102
- 0 ,
103
- ) ;
104
- const trackedTotalGzip = trackedEntries . reduce (
105
- ( sum , entry ) => sum + entry . gzip . absoluteDiff ,
106
- 0 ,
107
- ) ;
108
-
109
- // Calculate percentages based on tracked bundles only
110
- const trackedBaseParsed = trackedEntries . reduce ( ( sum , entry ) => sum + entry . parsed . previous , 0 ) ;
111
- const trackedBaseGzip = trackedEntries . reduce ( ( sum , entry ) => sum + entry . gzip . previous , 0 ) ;
112
-
113
- const trackedTotalParsedPercent =
114
- trackedBaseParsed > 0 ? trackedTotalParsed / trackedBaseParsed : 0 ;
115
- const trackedTotalGzipPercent = trackedBaseGzip > 0 ? trackedTotalGzip / trackedBaseGzip : 0 ;
116
-
117
- displayTotals = {
118
- totalParsed : trackedTotalParsed ,
119
- totalGzip : trackedTotalGzip ,
120
- totalParsedPercent : trackedTotalParsedPercent ,
121
- totalGzipPercent : trackedTotalGzipPercent ,
122
- } ;
123
-
124
- // Count files only for tracked bundles
125
- const trackedAdded = trackedEntries . filter (
126
- ( entry ) => entry . parsed . relativeDiff === null ,
127
- ) . length ;
128
- const trackedRemoved = trackedEntries . filter (
129
- ( entry ) => entry . parsed . relativeDiff === - 1 ,
130
- ) . length ;
131
- const trackedChanged = trackedEntries . filter (
132
- ( entry ) =>
133
- entry . parsed . relativeDiff !== null &&
134
- entry . parsed . relativeDiff !== - 1 &&
135
- ( Math . abs ( entry . parsed . absoluteDiff ) > 0 || Math . abs ( entry . gzip . absoluteDiff ) > 0 ) ,
136
- ) . length ;
137
-
138
- displayFileCounts = {
139
- total : trackedEntries . length ,
140
- added : trackedAdded ,
141
- removed : trackedRemoved ,
142
- changed : trackedChanged ,
143
- } ;
95
+ // Show all tracked bundles directly (including unchanged ones)
96
+ const trackedChanges = trackedEntries . map ( generateEmphasizedChange ) ;
97
+ if ( trackedChanges . length > 0 ) {
98
+ markdownContent += `${ trackedChanges . join ( '\n' ) } ` ;
99
+ }
100
+ } else {
101
+ markdownContent += `**Total Size Change:** ${ formatChange (
102
+ comparison . totals . totalParsed ,
103
+ comparison . totals . totalParsedPercent ,
104
+ ) } - **Total Gzip Change:** ${ formatChange (
105
+ comparison . totals . totalGzip ,
106
+ comparison . totals . totalGzipPercent ,
107
+ ) } \n`;
108
+
109
+ markdownContent += `Files: ${ comparison . fileCounts . total } total (${
110
+ comparison . fileCounts . added
111
+ } added, ${ comparison . fileCounts . removed } removed, ${ comparison . fileCounts . changed } changed)\n\n`;
144
112
}
145
113
146
- markdownContent += `**Total Size Change:** ${ formatChange (
147
- displayTotals . totalParsed ,
148
- displayTotals . totalParsedPercent ,
149
- ) } - **Total Gzip Change:** ${ formatChange (
150
- displayTotals . totalGzip ,
151
- displayTotals . totalGzipPercent ,
152
- ) } \n`;
153
-
154
- markdownContent += `Files: ${ displayFileCounts . total } total (${
155
- displayFileCounts . added
156
- } added, ${ displayFileCounts . removed } removed, ${ displayFileCounts . changed } changed)\n\n`;
157
-
158
114
// Filter entries with changes
159
- const changedEntries = comparison . entries . filter (
115
+ let changedEntries = comparison . entries . filter (
160
116
( entry ) => Math . abs ( entry . parsed . absoluteDiff ) > 0 || Math . abs ( entry . gzip . absoluteDiff ) > 0 ,
161
117
) ;
162
118
163
119
if ( trackedEntries ) {
164
- const trackedIds = new Set ( trackedEntries . map ( ( entry ) => entry . id ) ) ;
165
- // When tracking is enabled, show tracked bundles prominently and others in details
166
- const untrackedEntries = changedEntries . filter ( ( entry ) => ! trackedIds . has ( entry . id ) ) ;
167
-
168
- // Show all tracked bundles prominently (including unchanged ones)
169
- const trackedChanges = trackedEntries . map ( generateEmphasizedChange ) ;
170
- if ( trackedChanges . length > 0 ) {
171
- markdownContent += `${ trackedChanges . join ( '\n' ) } ` ;
172
- }
120
+ // If tracking is enabled, filter to only include tracked entries with changes
121
+ changedEntries = changedEntries . filter ( ( entry ) =>
122
+ trackedEntries . some ( ( tracked ) => tracked . id === entry . id ) ,
123
+ ) ;
124
+ }
173
125
174
- // Put untracked bundles in details section
175
- if ( untrackedEntries . length > 0 ) {
176
- const untrackedChanges = untrackedEntries . map ( generateEmphasizedChange ) ;
177
- markdownContent += `\n<details>\n<summary>Show ${ untrackedEntries . length } other bundle changes</summary>\n\n` ;
178
- markdownContent += `${ untrackedChanges . join ( '\n' ) } \n\n` ;
179
- markdownContent += `</details>` ;
180
- } else {
181
- markdownContent += `\n<details>\n<summary>No other bundles with changes</summary>\n\n` ;
182
- markdownContent += `No untracked bundles have size changes.\n\n` ;
183
- markdownContent += `</details>` ;
184
- }
185
- } else if ( changedEntries . length > 0 ) {
126
+ if ( changedEntries . length > 0 ) {
186
127
const allChanges = changedEntries . map ( generateEmphasizedChange ) ;
187
128
markdownContent += `<details>\n<summary>Show ${ changedEntries . length } bundle changes</summary>\n\n` ;
188
129
markdownContent += `${ allChanges . join ( '\n' ) } \n\n` ;
0 commit comments