10
10
var gulp = require ( 'gulp' ) ;
11
11
var rollup = require ( 'gulp-rollup' ) ;
12
12
var rename = require ( 'gulp-rename' ) ;
13
- var uglify = require ( 'gulp-uglify ' ) ;
13
+ var terser = require ( 'gulp-terser ' ) ;
14
14
var pump = require ( 'pump' ) ;
15
15
var path = require ( 'path' ) ;
16
16
var spawn = require ( 'child_process' ) . spawn ;
17
17
const os = require ( 'os' ) ;
18
18
19
- function generateScript ( inFile , outFile , minify , callback , format ) {
19
+ function generateScript ( inFile , outFile , minify , callback , format , inDir ) {
20
20
if ( ! format ) {
21
21
format = 'umd' ;
22
22
}
23
- inFile = path . join ( './build-esm/' , inFile ) . replace ( / \. t s $ / , '.js' ) ;
23
+ if ( ! inDir ) {
24
+ inDir = './build-esm/'
25
+ }
26
+ inFile = path . join ( inDir , inFile ) . replace ( / \. t s $ / , '.js' ) ;
24
27
var parts = [
25
- gulp . src ( './build-esm/ lib/**/*.js')
28
+ gulp . src ( inDir + ' lib/**/*.js')
26
29
. pipe ( rollup ( {
27
30
input : inFile ,
28
31
onwarn : function ( warning ) {
@@ -62,7 +65,9 @@ function generateScript(inFile, outFile, minify, callback, format) {
62
65
. pipe ( rename ( outFile ) ) ,
63
66
] ;
64
67
if ( minify ) {
65
- parts . push ( uglify ( ) ) ;
68
+ parts . push ( terser ( {
69
+ ecma : format === 'es' ? 6 : 5 , // specify one of: 5, 6, 7 or 8
70
+ } ) ) ;
66
71
}
67
72
parts . push ( gulp . dest ( './dist' ) ) ;
68
73
pump ( parts , callback ) ;
@@ -101,6 +106,10 @@ gulp.task('compile-esm', function(cb) {
101
106
tsc ( 'tsconfig-esm.json' , cb ) ;
102
107
} ) ;
103
108
109
+ gulp . task ( 'compile-esm-2015' , function ( cb ) {
110
+ tsc ( 'tsconfig-esm-2015.json' , cb ) ;
111
+ } ) ;
112
+
104
113
gulp . task ( 'compile-esm-node' , function ( cb ) {
105
114
tsc ( 'tsconfig-esm-node.json' , cb ) ;
106
115
} ) ;
@@ -126,12 +135,12 @@ gulp.task('build/zone.min.js', ['compile-esm'], function(cb) {
126
135
} ) ;
127
136
128
137
// Zone for the evergreen browser.
129
- gulp . task ( 'build/zone-evergreen.js' , [ 'compile-esm' ] , function ( cb ) {
130
- return generateScript ( './lib/browser/rollup-main.ts' , 'zone-evergreen.js' , false , cb ) ;
138
+ gulp . task ( 'build/zone-evergreen.js' , [ 'compile-esm-2015 ' ] , function ( cb ) {
139
+ return generateScript ( './lib/browser/rollup-main.ts' , 'zone-evergreen.js' , false , cb , 'es' , './build-esm-2015/' ) ;
131
140
} ) ;
132
141
133
- gulp . task ( 'build/zone-evergreen.min.js' , [ 'compile-esm' ] , function ( cb ) {
134
- return generateScript ( './lib/browser/rollup-main.ts' , 'zone-evergreen.min.js' , true , cb ) ;
142
+ gulp . task ( 'build/zone-evergreen.min.js' , [ 'compile-esm-2015 ' ] , function ( cb ) {
143
+ return generateScript ( './lib/browser/rollup-main.ts' , 'zone-evergreen.min.js' , true , cb , 'es' , './build-esm-2015/' ) ;
135
144
} ) ;
136
145
137
146
// Zone legacy patch for the legacy browser.
0 commit comments