@@ -19,6 +19,7 @@ var webpack = require('webpack');
1919var config = require ( '../config/webpack.config.prod' ) ;
2020var paths = require ( '../config/paths' ) ;
2121var recursive = require ( 'recursive-readdir' ) ;
22+ var stripAnsi = require ( 'strip-ansi' ) ;
2223
2324function removeFileNameHash ( fileName ) {
2425 return fileName . replace ( paths . appBuild , '' )
@@ -28,13 +29,17 @@ function removeFileNameHash(fileName) {
2829}
2930
3031function sizeDifference ( currentSize , previousSize ) {
31- if ( previousSize === undefined ) { return '' ; }
32+ var FIFTY_KILOBYTES = 1024 * 50 ;
3233 var difference = currentSize - previousSize ;
33- var fileSize = filesize ( difference ) ;
34- if ( difference > 0 ) {
34+ var fileSize = ! Number . isNaN ( difference ) ? filesize ( difference ) : 0 ;
35+ if ( difference >= FIFTY_KILOBYTES ) {
3536 return chalk . red ( '+' + fileSize ) ;
36- } else if ( difference <= 0 ) {
37- return chalk . green ( ( difference === 0 ? '+' : '' ) + fileSize ) ;
37+ } else if ( difference < FIFTY_KILOBYTES && difference > 0 ) {
38+ return chalk . yellow ( '+' + fileSize ) ;
39+ } else if ( difference < 0 ) {
40+ return chalk . green ( fileSize ) ;
41+ } else {
42+ return '' ;
3843 }
3944}
4045
@@ -86,16 +91,17 @@ function build(previousSizeMap) {
8691 assets . sort ( ( a , b ) => b . size - a . size ) ;
8792
8893 var longestSizeLabelLength = Math . max . apply ( null ,
89- assets . map ( a => a . sizeLabel . length )
94+ assets . map ( a => stripAnsi ( a . sizeLabel ) . length )
9095 ) ;
9196 assets . forEach ( asset => {
9297 var sizeLabel = asset . sizeLabel ;
93- if ( sizeLabel . length < longestSizeLabelLength ) {
94- var rightPadding = ' ' . repeat ( longestSizeLabelLength - sizeLabel . length ) ;
98+ var sizeLength = stripAnsi ( sizeLabel ) . length ;
99+ if ( sizeLength < longestSizeLabelLength ) {
100+ var rightPadding = ' ' . repeat ( longestSizeLabelLength - sizeLength ) ;
95101 sizeLabel += rightPadding ;
96102 }
97103 console . log (
98- ' ' + chalk . yellow ( sizeLabel ) +
104+ ' ' + sizeLabel +
99105 ' ' + chalk . dim ( asset . folder + path . sep ) + chalk . cyan ( asset . name )
100106 ) ;
101107 } ) ;
0 commit comments