@@ -3,46 +3,13 @@ const path = require('path')
33const zlib = require ( 'zlib' )
44const uglify = require ( 'uglify-js' )
55const rollup = require ( 'rollup' )
6- const buble = require ( 'rollup-plugin-buble' )
7- const flow = require ( 'rollup-plugin-flow-no-whitespace' )
8- const cjs = require ( 'rollup-plugin-commonjs' )
9- const node = require ( 'rollup-plugin-node-resolve' )
10- const replace = require ( 'rollup-plugin-replace' )
11- const version = process . env . VERSION || require ( '../package.json' ) . version
12- const banner =
13- `/**
14- * vue-router v${ version }
15- * (c) ${ new Date ( ) . getFullYear ( ) } Evan You
16- * @license MIT
17- */`
6+ const configs = require ( './configs' )
187
198if ( ! fs . existsSync ( 'dist' ) ) {
209 fs . mkdirSync ( 'dist' )
2110}
2211
23- const resolve = _path => path . resolve ( __dirname , '../' , _path )
24-
25- build ( [
26- // browser dev
27- {
28- dest : resolve ( 'dist/vue-router.js' ) ,
29- format : 'umd' ,
30- env : 'development'
31- } ,
32- {
33- dest : resolve ( 'dist/vue-router.min.js' ) ,
34- format : 'umd' ,
35- env : 'production'
36- } ,
37- {
38- dest : resolve ( 'dist/vue-router.common.js' ) ,
39- format : 'cjs'
40- } ,
41- {
42- dest : resolve ( 'dist/vue-router.esm.js' ) ,
43- format : 'es'
44- }
45- ] . map ( genConfig ) )
12+ build ( Object . keys ( configs ) . map ( key => configs [ key ] ) )
4613
4714function build ( builds ) {
4815 let built = 0
@@ -59,51 +26,24 @@ function build (builds) {
5926 next ( )
6027}
6128
62- function genConfig ( opts ) {
63- const config = {
64- entry : resolve ( 'src/index.js' ) ,
65- dest : opts . dest ,
66- format : opts . format ,
67- banner,
68- moduleName : 'VueRouter' ,
69- plugins : [
70- flow ( ) ,
71- node ( ) ,
72- cjs ( ) ,
73- replace ( {
74- __VERSION__ : version
75- } ) ,
76- buble ( )
77- ]
78- }
79-
80- if ( opts . env ) {
81- config . plugins . unshift ( replace ( {
82- 'process.env.NODE_ENV' : JSON . stringify ( opts . env )
83- } ) )
84- }
85-
86- return config
87- }
88-
89- function buildEntry ( config ) {
90- const isProd = / m i n \. j s $ / . test ( config . dest )
91- return rollup . rollup ( config ) . then ( bundle => {
92- const code = bundle . generate ( config ) . code
93- if ( isProd ) {
94- var minified = ( config . banner ? config . banner + '\n' : '' ) + uglify . minify ( code , {
95- output : {
96- ascii_only : true
97- } ,
98- compress : {
99- pure_funcs : [ 'makeMap' ]
100- }
101- } ) . code
102- return write ( config . dest , minified , true )
103- } else {
104- return write ( config . dest , code )
105- }
106- } )
29+ function buildEntry ( { input, output } ) {
30+ const isProd = / m i n \. j s $ / . test ( output . file )
31+ return rollup . rollup ( input )
32+ . then ( bundle => bundle . generate ( output ) )
33+ . then ( ( { code } ) => {
34+ if ( isProd ) {
35+ var minified = ( output . banner ? output . banner + '\n' : '' ) + uglify . minify ( code , {
36+ output : {
37+ /* eslint-disable camelcase */
38+ ascii_only : true
39+ /* eslint-enable camelcase */
40+ }
41+ } ) . code
42+ return write ( output . file , minified , true )
43+ } else {
44+ return write ( output . file , code )
45+ }
46+ } )
10747}
10848
10949function write ( dest , code , zip ) {
0 commit comments