1010var gulp = require ( 'gulp' ) ;
1111var rollup = require ( 'gulp-rollup' ) ;
1212var rename = require ( 'gulp-rename' ) ;
13- var uglify = require ( 'gulp-uglify ' ) ;
13+ var terser = require ( 'gulp-terser ' ) ;
1414var pump = require ( 'pump' ) ;
1515var path = require ( 'path' ) ;
1616var spawn = require ( 'child_process' ) . spawn ;
1717const os = require ( 'os' ) ;
1818
19- function generateScript ( inFile , outFile , minify , callback , format ) {
19+ function generateScript ( inFile , outFile , minify , callback , format , inDir ) {
2020 if ( ! format ) {
2121 format = 'umd' ;
2222 }
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' ) ;
2427 var parts = [
25- gulp . src ( './build-esm/ lib/**/*.js')
28+ gulp . src ( inDir + ' lib/**/*.js')
2629 . pipe ( rollup ( {
2730 input : inFile ,
2831 onwarn : function ( warning ) {
@@ -62,7 +65,9 @@ function generateScript(inFile, outFile, minify, callback, format) {
6265 . pipe ( rename ( outFile ) ) ,
6366 ] ;
6467 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+ } ) ) ;
6671 }
6772 parts . push ( gulp . dest ( './dist' ) ) ;
6873 pump ( parts , callback ) ;
@@ -101,6 +106,10 @@ gulp.task('compile-esm', function(cb) {
101106 tsc ( 'tsconfig-esm.json' , cb ) ;
102107} ) ;
103108
109+ gulp . task ( 'compile-esm-2015' , function ( cb ) {
110+ tsc ( 'tsconfig-esm-2015.json' , cb ) ;
111+ } ) ;
112+
104113gulp . task ( 'compile-esm-node' , function ( cb ) {
105114 tsc ( 'tsconfig-esm-node.json' , cb ) ;
106115} ) ;
@@ -126,12 +135,12 @@ gulp.task('build/zone.min.js', ['compile-esm'], function(cb) {
126135} ) ;
127136
128137// 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/' ) ;
131140} ) ;
132141
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/' ) ;
135144} ) ;
136145
137146// Zone legacy patch for the legacy browser.
0 commit comments