@@ -5,19 +5,25 @@ const Uglify = require('uglify-es')
55const path = require ( 'path' )
66const Listr = require ( 'listr' )
77const fs = require ( 'fs-extra' )
8+ const filesize = require ( 'filesize' )
89
910const clean = require ( '../clean' )
1011
1112const WEBPACK_CONFIG = require ( '../../config/webpack' )
1213
13- function webpackBuild ( ctx ) {
14+ function webpackBuild ( ctx , task ) {
1415 return new Promise ( ( resolve , reject ) => {
1516 webpack ( WEBPACK_CONFIG , ( err , stats ) => {
1617 if ( err ) {
1718 return reject ( err )
1819 }
1920 ctx . webpackResult = stats
20- resolve ( stats )
21+
22+ const assets = stats . toJson ( ) . assets
23+ . filter ( ( asset ) => / \. ( j s ) $ / . test ( asset . name ) )
24+
25+ task . title += ` (${ filesize ( assets [ 0 ] . size ) } )`
26+ resolve ( 'finished' )
2127 } )
2228 } )
2329}
@@ -30,7 +36,9 @@ function writeStats (ctx) {
3036 )
3137}
3238
33- function minify ( ) {
39+ function minify ( ctx , task ) {
40+ const minifiedPath = path . join ( process . cwd ( ) , 'dist' , 'index.min.js' )
41+
3442 return fs . readFile ( path . join ( process . cwd ( ) , 'dist' , 'index.js' ) )
3543 . then ( ( code ) => {
3644 const result = Uglify . minify ( code . toString ( ) , {
@@ -43,10 +51,14 @@ function minify () {
4351 } )
4452 . then ( ( minified ) => {
4553 return fs . writeFile (
46- path . join ( process . cwd ( ) , 'dist' , 'index.min.js' ) ,
54+ minifiedPath ,
4755 minified
4856 )
4957 } )
58+ . then ( ( ) => fs . stat ( minifiedPath ) )
59+ . then ( ( stats ) => {
60+ task . title += ` (${ filesize ( stats . size ) } )`
61+ } )
5062}
5163
5264const TASKS = new Listr ( [ {
0 commit comments