1
1
var fs = require ( 'fs' )
2
+ var zlib = require ( 'zlib' )
2
3
var rollup = require ( 'rollup' )
3
4
var uglify = require ( 'uglify-js' )
4
5
var babel = require ( 'rollup-plugin-babel' )
@@ -14,35 +15,54 @@ rollup.rollup({
14
15
entry : 'src/index.js' ,
15
16
plugins : [
16
17
babel ( {
17
- exclude : 'node_modules/**' ,
18
- loose : 'all' ,
19
- sourceMap : true
18
+ loose : 'all'
20
19
} )
21
20
]
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 ( {
30
24
format : 'umd' ,
31
25
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 (
39
31
'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
45
33
)
46
- } ) . catch ( function ( e ) {
47
- console . log ( e )
48
34
} )
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