@@ -170,15 +170,14 @@ var BENCHPRESS_BUNDLE_CONFIG = {
170
170
171
171
var PAYLOAD_TESTS_CONFIG = {
172
172
ts : {
173
- sizeLimits : { 'uncompressed' : 550 * 1024 , 'gzip level=9' : 120 * 1024 } ,
174
- webpack : {
175
- cases : [ 'hello_world' ] ,
176
- bundleName : 'app-bundle-deps.min.js' ,
177
- dist : function ( caseName ) {
178
- return path . join ( __dirname , CONFIG . dest . js . prod . es5 , 'payload_tests' , caseName ,
179
- 'ts/webpack' ) ;
180
- }
181
- }
173
+ bundleName : 'app-bundle-deps.min.js' ,
174
+ cases : [ 'hello_world' ] ,
175
+ dist : function ( caseName , packaging ) {
176
+ return path . join ( __dirname , CONFIG . dest . js . prod . es5 , 'payload_tests' , caseName ,
177
+ 'ts/' + packaging ) ;
178
+ } ,
179
+ systemjs : { sizeLimits : { 'uncompressed' : 850 * 1024 , 'gzip level=9' : 165 * 1024 } } ,
180
+ webpack : { sizeLimits : { 'uncompressed' : 550 * 1024 , 'gzip level=9' : 120 * 1024 } }
182
181
}
183
182
} ;
184
183
@@ -678,19 +677,18 @@ gulp.task('test.payload.js/ci', function(done) {
678
677
runSequence ( 'build.payload.js' , '!checkAndReport.payload.js' , sequenceComplete ( done ) ) ;
679
678
} ) ;
680
679
681
- gulp . task ( 'build.payload.js' , [ 'build.js.prod' ] ,
682
- function ( done ) { runSequence ( '!build.payload.js.webpack' , sequenceComplete ( done ) ) ; } ) ;
680
+ gulp . task ( 'build.payload.js' , [ 'build.js' ] , function ( done ) {
681
+ runSequence ( '!build.payload.js.webpack' , '!build.payload.js.systemjs' , sequenceComplete ( done ) ) ;
682
+ } ) ;
683
683
684
684
gulp . task ( '!build.payload.js.webpack' , function ( ) {
685
685
var q = require ( 'q' ) ;
686
686
var webpack = q . denodeify ( require ( 'webpack' ) ) ;
687
- var concat = require ( 'gulp-concat' ) ;
688
- var uglify = require ( 'gulp-uglify' ) ;
689
687
690
688
var ES5_PROD_ROOT = __dirname + '/' + CONFIG . dest . js . prod . es5 ;
691
689
692
- return q . all ( PAYLOAD_TESTS_CONFIG . ts . webpack . cases . map ( function ( caseName ) {
693
- var CASE_PATH = PAYLOAD_TESTS_CONFIG . ts . webpack . dist ( caseName ) ;
690
+ return q . all ( PAYLOAD_TESTS_CONFIG . ts . cases . map ( function ( caseName ) {
691
+ var CASE_PATH = PAYLOAD_TESTS_CONFIG . ts . dist ( caseName , 'webpack' ) ;
694
692
695
693
return webpack ( {
696
694
// bundle app + framework
@@ -710,8 +708,41 @@ gulp.task('!build.payload.js.webpack', function() {
710
708
'node_modules/reflect-metadata/Reflect.js' ,
711
709
CASE_PATH + '/app-bundle.js'
712
710
] )
713
- . pipe ( concat ( PAYLOAD_TESTS_CONFIG . ts . webpack . bundleName ) )
714
- . pipe ( uglify ( ) )
711
+ . pipe ( gulpPlugins . concat ( PAYLOAD_TESTS_CONFIG . ts . bundleName ) )
712
+ . pipe ( gulpPlugins . uglify ( ) )
713
+ . pipe ( gulp . dest ( CASE_PATH ) )
714
+ . on ( 'end' , resolve )
715
+ . on ( 'error' , reject ) ;
716
+ } ) ;
717
+ } ) ;
718
+ } ) ) ;
719
+ } ) ;
720
+
721
+ gulp . task ( '!build.payload.js.systemjs' , function ( ) {
722
+ var bundler = require ( './tools/build/bundle' ) ;
723
+
724
+ return Promise . all ( PAYLOAD_TESTS_CONFIG . ts . cases . map ( function ( caseName ) {
725
+ var CASE_PATH = PAYLOAD_TESTS_CONFIG . ts . dist ( caseName , 'systemjs' ) ;
726
+
727
+ return bundler
728
+ . bundle (
729
+ {
730
+ paths : { 'index' : CASE_PATH + '/index.js' } ,
731
+ meta : { 'angular2/core' : { build : false } , 'angular2/platform/browser' : { build : false } }
732
+ } ,
733
+ 'index' , CASE_PATH + '/index.register.js' , { } )
734
+ . then ( function ( ) {
735
+ return new Promise ( function ( resolve , reject ) {
736
+ gulp . src ( [
737
+ 'node_modules/systemjs/dist/system.src.js' ,
738
+ 'dist/js/prod/es5/bundle/angular2-polyfills.js' ,
739
+ 'dist/js/prod/es5/bundle/angular2.js' ,
740
+ 'dist/js/prod/es5//rxjs/bundles/Rx.js' ,
741
+ CASE_PATH + '/index.register.js' ,
742
+ 'tools/build/systemjs/payload_tests_import.js'
743
+ ] )
744
+ . pipe ( gulpPlugins . concat ( PAYLOAD_TESTS_CONFIG . ts . bundleName ) )
745
+ . pipe ( gulpPlugins . uglify ( ) )
715
746
. pipe ( gulp . dest ( CASE_PATH ) )
716
747
. on ( 'end' , resolve )
717
748
. on ( 'error' , reject ) ;
@@ -722,12 +753,19 @@ gulp.task('!build.payload.js.webpack', function() {
722
753
723
754
gulp . task ( '!checkAndReport.payload.js' , function ( ) {
724
755
var reportSize = require ( './tools/analytics/reportsize' ) ;
725
- var webPackConf = PAYLOAD_TESTS_CONFIG . ts . webpack ;
726
756
727
- return webPackConf . cases . reduce ( function ( sizeReportingStreams , caseName ) {
728
- sizeReportingStreams . add (
729
- reportSize ( webPackConf . dist ( caseName ) + '/' + webPackConf . bundleName ,
730
- { failConditions : PAYLOAD_TESTS_CONFIG . ts . sizeLimits , prefix : caseName } ) )
757
+ function caseSizeStream ( caseName , packaging ) {
758
+ return reportSize ( PAYLOAD_TESTS_CONFIG . ts . dist ( caseName , packaging ) + '/' +
759
+ PAYLOAD_TESTS_CONFIG . ts . bundleName ,
760
+ {
761
+ failConditions : PAYLOAD_TESTS_CONFIG . ts [ packaging ] . sizeLimits ,
762
+ prefix : caseName + '_' + packaging
763
+ } )
764
+ }
765
+
766
+ return PAYLOAD_TESTS_CONFIG . ts . cases . reduce ( function ( sizeReportingStreams , caseName ) {
767
+ sizeReportingStreams . add ( caseSizeStream ( caseName , 'systemjs' ) ) ;
768
+ sizeReportingStreams . add ( caseSizeStream ( caseName , 'webpack' ) ) ;
731
769
} , merge2 ( ) ) ;
732
770
} ) ;
733
771
0 commit comments