Skip to content

Commit b035356

Browse files
committed
.
1 parent b5d2a48 commit b035356

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

.github/generate-dist-files-size-diff.mjs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ function formatBytes(bytes, digits = 2) {
4141
* @returns {number}
4242
*/
4343
function computeDiffPercent(from, to) {
44-
return from === to ? 0 : Number(((from - to) / to * 100 * (from < to ? -1 : 1)).toFixed(2));
44+
return from === to ? 0 : Number(((from - to) / to * 100 * (from > to ? -1 : 1)).toFixed(2));
4545
}
4646

4747
/**
@@ -58,12 +58,15 @@ export function main() {
5858
let output = '<h1>📊 Dist files size difference</h1>\n\n';
5959

6060
const files = [...new Set([...Object.keys(pr), ...Object.keys(base)])].sort().reduce((acc, file) => {
61-
const diff_percent_size = base[file] && !pr[file] ? -100 : (!base[file] && pr[file] ? 100 : (computeDiffPercent(base[file].size, pr[file].size)));
62-
const diff_percent_size_gz = base[file] && !pr[file] ? -100 : (!base[file] && pr[file] ? 100 : (computeDiffPercent(base[file].size_gz, pr[file].size_gz)));
63-
const diff_percent_size_brotli = base[file] && !pr[file] ? -100 : (!base[file] && pr[file] ? 100 : (computeDiffPercent(base[file].size_brotli, pr[file].size_brotli)));
61+
const added = !base[file] && pr[file];
62+
const removed = base[file] && !pr[file];
63+
const diff_percent_size = removed ? -100 : (added ? 100 : (computeDiffPercent(base[file].size, pr[file].size)));
64+
const diff_percent_size_gz = removed ? -100 : (added ? 100 : (computeDiffPercent(base[file].size_gz, pr[file].size_gz)));
65+
const diff_percent_size_brotli = removed ? -100 : (added ? 100 : (computeDiffPercent(base[file].size_brotli, pr[file].size_brotli)));
6466

6567
if (diff_percent_size !== 0 && diff_percent_size_gz !== 0 && diff_percent_size_brotli !== 0) {
6668
acc.set(file, {
69+
state: added ? 'added' : (removed ? 'removed' : 'changed'),
6770
diff_percent_size,
6871
diff_percent_size_gz,
6972
diff_percent_size_brotli
@@ -85,7 +88,7 @@ export function main() {
8588
<tbody>`;
8689
for (const [file, details] of files.entries()) {
8790
output += `<tr>
88-
<td><code>${file}</code></td>
91+
<td>${details.state === 'added' ? '🆕' : (details.state === 'removed' ? '🚮' : '')} <code>${file}</code></td>
8992
<td>
9093
Size: <code>${formatBytes(base[file]?.size || 0)}</code> vs <code>${formatBytes(pr[file]?.size || 0)}</code><br>
9194
Gzip: <code>${formatBytes(base[file]?.size_gz || 0)}</code> vs <code>${formatBytes(pr[file]?.size_gz || 0)}</code><br>

0 commit comments

Comments
 (0)