@@ -41,7 +41,7 @@ function formatBytes(bytes, digits = 2) {
4141 * @returns {number }
4242 */
4343function 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