11var fs = require ( 'fs' )
2+ var zlib = require ( 'zlib' )
23var rollup = require ( 'rollup' )
34var uglify = require ( 'uglify-js' )
45var babel = require ( 'rollup-plugin-babel' )
@@ -14,35 +15,54 @@ rollup.rollup({
1415 entry : 'src/index.js' ,
1516 plugins : [
1617 babel ( {
17- exclude : 'node_modules/**' ,
18- loose : 'all' ,
19- sourceMap : true
18+ loose : 'all'
2019 } )
2120 ]
22- } ) . then ( function ( bundle ) {
23- bundle . write ( {
24- format : 'cjs' ,
25- dest : 'dist/vue-router.common.js'
26- } ) . then ( function ( ) {
27- console . log ( 'built: dist/vue-router.common.js' )
28- } )
29- return bundle . write ( {
21+ } )
22+ . then ( function ( bundle ) {
23+ return write ( 'dist/vue-router.js' , bundle . generate ( {
3024 format : 'umd' ,
3125 banner : banner ,
32- moduleName : 'VueRouter' ,
33- sourceMap : true ,
34- dest : 'dist/vue-router.js'
35- } )
36- } ) . then ( function ( ) {
37- console . log ( 'built: ' + 'dist/vue-router.js' )
38- fs . writeFile (
26+ moduleName : 'VueRouter'
27+ } ) . code )
28+ } )
29+ . then ( function ( ) {
30+ return write (
3931 'dist/vue-router.min.js' ,
40- banner + '\n' + uglify . minify ( 'dist/vue-router.js' ) . code ,
41- function ( err ) {
42- if ( err ) throw err
43- console . log ( 'built: ' + 'dist/vue-router.min.js' )
44- }
32+ banner + '\n' + uglify . minify ( 'dist/vue-router.js' ) . code
4533 )
46- } ) . catch ( function ( e ) {
47- console . log ( e )
4834} )
35+ . then ( function ( ) {
36+ return new Promise ( function ( resolve , reject ) {
37+ fs . readFile ( 'dist/vue-router.min.js' , function ( err , buf ) {
38+ if ( err ) return reject ( err )
39+ zlib . gzip ( buf , function ( err , buf ) {
40+ if ( err ) return reject ( err )
41+ write ( 'dist/vue-router.min.js.gz' , buf ) . then ( resolve )
42+ } )
43+ } )
44+ } )
45+ } )
46+ . catch ( logError )
47+
48+ function write ( dest , code ) {
49+ return new Promise ( function ( resolve , reject ) {
50+ fs . writeFile ( dest , code , function ( err ) {
51+ if ( err ) return reject ( err )
52+ console . log ( blue ( dest ) + ' ' + getSize ( code ) )
53+ resolve ( )
54+ } )
55+ } )
56+ }
57+
58+ function getSize ( code ) {
59+ return ( code . length / 1024 ) . toFixed ( 2 ) + 'kb'
60+ }
61+
62+ function logError ( e ) {
63+ console . log ( e )
64+ }
65+
66+ function blue ( str ) {
67+ return '\x1b[1m\x1b[34m' + str + '\x1b[39m\x1b[22m'
68+ }
0 commit comments