1
1
var fs = require ( 'fs' )
2
+ var zlib = require ( 'zlib' )
2
3
var version = require ( '../vue/package.json' ) . version
3
4
var themeconfPath = 'themes/vue/_config.yml'
4
5
var installPath = 'src/v2/guide/installation.md'
@@ -13,20 +14,39 @@ fs.writeFileSync(
13
14
var sizes = {
14
15
dev : 'vue.js' ,
15
16
min : 'vue.min.js' ,
16
- gz : 'vue.min.js.gz ' ,
17
- ro_gz : 'vue.common .min.js.gz '
17
+ gz : 'vue.min.js' ,
18
+ ro_gz : 'vue.runtime .min.js'
18
19
}
19
20
20
- for ( var file in sizes ) {
21
+ var pending = [ ]
22
+ Object . keys ( sizes ) . forEach ( file => {
21
23
var filesize = fs . statSync ( '../vue/dist/' + sizes [ file ] , 'utf-8' ) . size
22
- sizes [ file ] = ( filesize / 1024 ) . toFixed ( 2 )
23
- }
24
+ if ( ! / g z $ / . test ( file ) ) {
25
+ sizes [ file ] = ( filesize / 1024 ) . toFixed ( 2 )
26
+ } else {
27
+ pending . push ( new Promise ( ( resolve , reject ) => {
28
+ fs . readFile ( '../vue/dist/' + sizes [ file ] , ( err , buf ) => {
29
+ if ( err ) return reject ( err )
30
+ zlib . gzip ( buf , ( err , buf ) => {
31
+ if ( err ) return reject ( err )
32
+ sizes [ file ] = ( buf . length / 1024 ) . toFixed ( 2 )
33
+ resolve ( )
34
+ } )
35
+ } )
36
+ } ) )
37
+ }
38
+ } )
24
39
25
- fs . writeFileSync (
26
- installPath ,
27
- installation
28
- . replace ( / v u e _ v e r s i o n : .* / , 'vue_version: ' + version )
29
- . replace ( / ( \w + ) _ s i z e : .* / g, function ( m , p1 ) {
30
- return p1 + '_size: "' + sizes [ p1 ] + '"'
31
- } )
32
- )
40
+ Promise . all ( pending ) . then ( ( ) => {
41
+ fs . writeFileSync (
42
+ installPath ,
43
+ installation
44
+ . replace ( / v u e _ v e r s i o n : .* / , 'vue_version: ' + version )
45
+ . replace ( / ( \w + ) _ s i z e : .* / g, function ( m , p1 ) {
46
+ return p1 + '_size: "' + sizes [ p1 ] + '"'
47
+ } )
48
+ )
49
+ console . log ( sizes )
50
+ } ) . catch ( err => {
51
+ console . error ( err )
52
+ } )
0 commit comments