@@ -17,6 +17,7 @@ var rundartpackage = require('./tools/build/rundartpackage');
1717var multicopy = require ( './tools/build/multicopy' ) ;
1818var karma = require ( 'karma' ) . server ;
1919var minimist = require ( 'minimist' ) ;
20+ var es5build = require ( './tools/build/es5build' ) ;
2021
2122var DART_SDK = require ( './tools/build/dartdetect' ) ( gulp ) ;
2223// -----------------------
@@ -67,8 +68,14 @@ var CONFIG = {
6768 dest : {
6869 js : {
6970 all : 'dist/js' ,
70- dev : 'dist/js/dev' ,
71- prod : 'dist/js/prod' ,
71+ dev : {
72+ es6 : 'dist/js/dev/es6' ,
73+ es5 : 'dist/js/dev/es5'
74+ } ,
75+ prod : {
76+ es6 : 'dist/js/prod/es6' ,
77+ es5 : 'dist/js/prod/es5'
78+ } ,
7279 dart2js : 'dist/js/dart2js'
7380 } ,
7481 dart : 'dist/dart' ,
@@ -131,10 +138,12 @@ var CONFIG = {
131138 js : {
132139 dev : merge ( true , _COMPILER_CONFIG_JS_DEFAULT , {
133140 typeAssertionModule : 'rtts_assert/rtts_assert' ,
134- typeAssertions : true
141+ typeAssertions : true ,
142+ outputLanguage : 'es6'
135143 } ) ,
136144 prod : merge ( true , _COMPILER_CONFIG_JS_DEFAULT , {
137- typeAssertions : false
145+ typeAssertions : false ,
146+ outputLanguage : 'es6'
138147 } )
139148 } ,
140149 dart : {
@@ -212,12 +221,12 @@ gulp.task('build/clean.docs', clean(gulp, gulpPlugins, {
212221
213222gulp . task ( 'build/deps.js.dev' , deps ( gulp , gulpPlugins , {
214223 src : CONFIG . deps . js ,
215- dest : CONFIG . dest . js . dev
224+ dest : CONFIG . dest . js . dev . es5
216225} ) ) ;
217226
218227gulp . task ( 'build/deps.js.prod' , deps ( gulp , gulpPlugins , {
219228 src : CONFIG . deps . js ,
220- dest : CONFIG . dest . js . prod
229+ dest : CONFIG . dest . js . prod . es5
221230} ) ) ;
222231
223232gulp . task ( 'build/deps.js.dart2js' , deps ( gulp , gulpPlugins , {
@@ -228,24 +237,50 @@ gulp.task('build/deps.js.dart2js', deps(gulp, gulpPlugins, {
228237// ------------
229238// transpile
230239
231- gulp . task ( 'build/transpile.js.dev' , transpile ( gulp , gulpPlugins , {
240+ gulp . task ( 'build/transpile.js.dev.es6 ' , transpile ( gulp , gulpPlugins , {
232241 src : CONFIG . transpile . src . js ,
233242 copy : CONFIG . transpile . copy . js ,
234- dest : CONFIG . dest . js . dev ,
235- outputExt : 'js ' ,
243+ dest : CONFIG . dest . js . dev . es6 ,
244+ outputExt : 'es6 ' ,
236245 options : CONFIG . transpile . options . js . dev ,
237246 srcFolderInsertion : CONFIG . srcFolderInsertion . js
238247} ) ) ;
239248
240- gulp . task ( 'build/transpile.js.prod' , transpile ( gulp , gulpPlugins , {
249+ gulp . task ( 'build/transpile.js.dev.es5' , es5build ( {
250+ src : CONFIG . dest . js . dev . es6 ,
251+ dest : CONFIG . dest . js . dev . es5 ,
252+ modules : 'instantiate'
253+ } ) ) ;
254+
255+ gulp . task ( 'build/transpile.js.dev' , function ( ) {
256+ return runSequence (
257+ 'build/transpile.js.dev.es6' ,
258+ 'build/transpile.js.dev.es5'
259+ ) ;
260+ } ) ;
261+
262+ gulp . task ( 'build/transpile.js.prod.es6' , transpile ( gulp , gulpPlugins , {
241263 src : CONFIG . transpile . src . js ,
242264 copy : CONFIG . transpile . copy . js ,
243- dest : CONFIG . dest . js . prod ,
244- outputExt : 'js ' ,
265+ dest : CONFIG . dest . js . prod . es6 ,
266+ outputExt : 'es6 ' ,
245267 options : CONFIG . transpile . options . js . prod ,
246268 srcFolderInsertion : CONFIG . srcFolderInsertion . js
247269} ) ) ;
248270
271+ gulp . task ( 'build/transpile.js.prod.es5' , es5build ( {
272+ src : CONFIG . dest . js . prod . es6 ,
273+ dest : CONFIG . dest . js . prod . es5 ,
274+ modules : 'instantiate'
275+ } ) ) ;
276+
277+ gulp . task ( 'build/transpile.js.prod' , function ( ) {
278+ return runSequence (
279+ 'build/transpile.js.prod.es6' ,
280+ 'build/transpile.js.prod.es5'
281+ ) ;
282+ } ) ;
283+
249284gulp . task ( 'build/transpile.dart' , transpile ( gulp , gulpPlugins , {
250285 src : CONFIG . transpile . src . dart ,
251286 copy : CONFIG . transpile . copy . dart ,
@@ -278,14 +313,14 @@ gulp.task('build/transpile/e2eTest.cjs', transpile(gulp, gulpPlugins, {
278313
279314gulp . task ( 'build/html.js.dev' , html ( gulp , gulpPlugins , {
280315 src : CONFIG . html . src . js ,
281- dest : CONFIG . dest . js . dev ,
316+ dest : CONFIG . dest . js . dev . es5 ,
282317 srcFolderInsertion : CONFIG . srcFolderInsertion . js ,
283318 scriptsPerFolder : CONFIG . html . scriptsPerFolder . js
284319} ) ) ;
285320
286321gulp . task ( 'build/html.js.prod' , html ( gulp , gulpPlugins , {
287322 src : CONFIG . html . src . js ,
288- dest : CONFIG . dest . js . prod ,
323+ dest : CONFIG . dest . js . prod . es5 ,
289324 srcFolderInsertion : CONFIG . srcFolderInsertion . js ,
290325 scriptsPerFolder : CONFIG . html . scriptsPerFolder . js
291326} ) ) ;
@@ -354,12 +389,12 @@ gulp.task('build/format.dart', rundartpackage(gulp, gulpPlugins, {
354389// ------------------
355390// web servers
356391gulp . task ( 'serve.js.dev' , jsserve ( gulp , gulpPlugins , {
357- path : CONFIG . dest . js . dev ,
392+ path : CONFIG . dest . js . dev . es5 ,
358393 port : 8000
359394} ) ) ;
360395
361396gulp . task ( 'serve.js.prod' , jsserve ( gulp , gulpPlugins , {
362- path : CONFIG . dest . js . prod ,
397+ path : CONFIG . dest . js . prod . es5 ,
363398 port : 8001
364399} ) ) ;
365400
0 commit comments