11const fs = require ( 'fs' )
22const path = require ( 'path' )
33const zlib = require ( 'zlib' )
4- const uglify = require ( 'uglify-js ' )
4+ const terser = require ( 'terser ' )
55const rollup = require ( 'rollup' )
66const configs = require ( './configs' )
77
@@ -27,22 +27,24 @@ function build (builds) {
2727}
2828
2929function buildEntry ( { input, output } ) {
30- const isProd = / m i n \. j s $ / . test ( output . file )
30+ const { file, banner } = output
31+ const isProd = / m i n \. j s $ / . test ( file )
3132 return rollup . rollup ( input )
3233 . then ( bundle => bundle . generate ( output ) )
3334 . then ( ( { code } ) => {
3435 if ( isProd ) {
35- const minified = uglify . minify ( code , {
36+ const minified = ( banner ? banner + '\n' : '' ) + terser . minify ( code , {
37+ toplevel : true ,
3638 output : {
37- preamble : output . banner ,
38- /* eslint-disable camelcase */
3939 ascii_only : true
40- /* eslint-enable camelcase */
40+ } ,
41+ compress : {
42+ pure_funcs : [ 'makeMap' ]
4143 }
4244 } ) . code
43- return write ( output . file , minified , true )
45+ return write ( file , minified , true )
4446 } else {
45- return write ( output . file , code )
47+ return write ( file , code )
4648 }
4749 } )
4850}
0 commit comments