@@ -37,6 +37,7 @@ var sourcemaps = require('gulp-sourcemaps');
37
37
var tsc = require ( 'gulp-typescript' ) ;
38
38
var util = require ( './tools/build/util' ) ;
39
39
var bundler = require ( './tools/build/bundle' ) ;
40
+ var rename = require ( 'gulp-rename' ) ;
40
41
var replace = require ( 'gulp-replace' ) ;
41
42
var insert = require ( 'gulp-insert' ) ;
42
43
var buildRouter = require ( './modules/angular1_router/build' ) ;
@@ -1010,6 +1011,55 @@ gulp.task('!bundle.js.sfx.dev', ['build.js.dev'], function() {
1010
1011
} ) ;
1011
1012
} ) ;
1012
1013
1014
+ gulp . task ( '!bundles.js.umd' , [ 'build.js.dev' ] , function ( ) {
1015
+ var webpack = q . denodeify ( require ( 'webpack' ) ) ;
1016
+
1017
+ function resolveOptions ( devOrProd ) {
1018
+ return {
1019
+ root : __dirname + '/dist/js/' + devOrProd + '/es5' ,
1020
+ packageAlias : '' // this option is added to ignore "broken" package.json in our dist folder
1021
+ } ;
1022
+ }
1023
+
1024
+ function outputOptions ( outFileName , devOrProd ) {
1025
+ return {
1026
+ filename :
1027
+ 'dist/js/bundle/' + outFileName + '.umd' + ( devOrProd === 'dev' ? '.dev' : '' ) + '.js' ,
1028
+ library : 'ng' ,
1029
+ libraryTarget : 'umd'
1030
+ } ;
1031
+ }
1032
+
1033
+ function webPackConf ( entryPoints , outFileName , devOrProd ) {
1034
+ return {
1035
+ entry : entryPoints ,
1036
+ resolve : resolveOptions ( devOrProd ) ,
1037
+ output : outputOptions ( outFileName , devOrProd )
1038
+ } ;
1039
+ }
1040
+
1041
+ return q . all ( [
1042
+ webpack ( webPackConf ( [ 'angular2/angular2.js' ] , 'angular2' , 'dev' ) ) ,
1043
+ webpack ( webPackConf ( [ 'angular2/angular2.js' ] , 'angular2' , 'prod' ) ) ,
1044
+ webpack ( webPackConf ( [ 'angular2/angular2.js' , 'angular2/http.js' , 'angular2/router.js' ] ,
1045
+ 'angular2_all' , 'dev' ) ) ,
1046
+ webpack ( webPackConf ( [ 'angular2/angular2.js' , 'angular2/http.js' , 'angular2/router.js' ] ,
1047
+ 'angular2_all' , 'prod' ) )
1048
+ ] ) ;
1049
+ } ) ;
1050
+
1051
+ gulp . task ( 'bundles.js.umd.min' , [ '!bundles.js.umd' , '!bundle.external.deps' ] , function ( ) {
1052
+ // minify production bundles
1053
+ return gulp . src ( [
1054
+ 'dist/js/bundle/external-dependencies.js' ,
1055
+ 'dist/js/bundle/angular2.umd.js' ,
1056
+ 'dist/js/bundle/angular2_all.umd.js'
1057
+ ] )
1058
+ . pipe ( uglify ( ) )
1059
+ . pipe ( rename ( { extname : '.min.js' } ) )
1060
+ . pipe ( gulp . dest ( 'dist/js/bundle' ) ) ;
1061
+ } ) ;
1062
+
1013
1063
gulp . task ( '!bundle.js.prod.deps' , [ '!bundle.js.prod' ] , function ( ) {
1014
1064
return merge2 ( addDevDependencies ( 'angular2.js' ) ,
1015
1065
bundler . modify ( [ 'dist/build/http.js' ] , 'http.js' ) ,
@@ -1025,9 +1075,8 @@ gulp.task('!bundle.js.min.deps', ['!bundle.js.min'], function() {
1025
1075
. pipe ( gulp . dest ( 'dist/js/bundle' ) ) ;
1026
1076
} ) ;
1027
1077
1028
- gulp . task ( '!bundle.external.deps' , [ 'clean' ] , function ( ) {
1029
- return addDevDependencies ( 'external-dependencies.js' ) ;
1030
- } ) ;
1078
+ gulp . task ( '!bundle.external.deps' , [ 'clean' ] ,
1079
+ function ( ) { return addDevDependencies ( 'external-dependencies.js' ) ; } ) ;
1031
1080
1032
1081
var JS_DEV_DEPS = [
1033
1082
licenseWrap ( 'node_modules/zone.js/LICENSE' , true ) ,
@@ -1091,6 +1140,7 @@ gulp.task('bundles.js',
1091
1140
'!bundle.js.min.deps' ,
1092
1141
'!bundle.web_worker.js.dev.deps' ,
1093
1142
'!bundle.js.sfx.dev.deps' ,
1143
+ 'bundles.js.umd.min' ,
1094
1144
'!bundle.testing' ,
1095
1145
'!bundle.external.deps'
1096
1146
] ,
0 commit comments