Skip to content

Commit bcbed28

Browse files
committed
feat(bundle): work-around rx.all.js bundle issue.
Adds long-stack-trace-zone into the dev build. Turn off source maps until proper concatination of them is added.
1 parent c0b04ca commit bcbed28

File tree

3 files changed

+62
-43
lines changed

3 files changed

+62
-43
lines changed

gulpfile.js

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ var tsc = require('gulp-typescript');
3030
var ts2dart = require('gulp-ts2dart');
3131
var util = require('./tools/build/util');
3232
var bundler = require('./tools/build/bundle');
33-
var concat = require('gulp-concat');
33+
var replace = require('gulp-replace');
34+
var insert = require('gulp-insert');
3435

3536
// Note: when DART_SDK is not found, all gulp tasks ending with `.dart` will be skipped.
3637

@@ -801,56 +802,58 @@ var bundleConfig = {
801802
// production build
802803
gulp.task('bundle.js.prod', ['build.js.prod'], function() {
803804
return bundler.bundle(
804-
bundleConfig,
805-
'angular2/angular2',
806-
'./dist/build/angular2.js',
807-
{
808-
sourceMaps: true
809-
});
810-
});
811-
812-
gulp.task('bundle.js.prod.deps', ['bundle.js.prod'], function() {
813-
return gulp.src(['node_modules/zone.js/zone.js', 'dist/build/angular2.js'])
814-
.pipe(concat('angular2.js'))
815-
.pipe(gulp.dest('dist/bundle'));
805+
bundleConfig,
806+
'angular2/angular2',
807+
'./dist/build/angular2.js',
808+
{
809+
sourceMaps: true
810+
});
816811
});
817812

818813
// minified production build
819-
// TODO: minify zone.js?
814+
// TODO: minify zone.js
820815
gulp.task('bundle.js.min', ['build.js.prod'], function() {
821816
return bundler.bundle(
822-
bundleConfig,
823-
'angular2/angular2',
824-
'./dist/build/angular2.min.js',
825-
{
826-
sourceMaps: true,
827-
minify: true
828-
});
829-
});
830-
831-
gulp.task('bundle.js.min.deps', ['bundle.js.min'], function() {
832-
return gulp.src(['node_modules/zone.js/zone.js', 'dist/build/angular2.min.js'])
833-
.pipe(concat('angular2.min.js'))
834-
.pipe(gulp.dest('dist/bundle'));
817+
bundleConfig,
818+
'angular2/angular2',
819+
'./dist/build/angular2.min.js',
820+
{
821+
sourceMaps: true,
822+
minify: true
823+
});
835824
});
836825

837826
// development build
838827
gulp.task('bundle.js.dev', ['build.js.dev'], function() {
839828
return bundler.bundle(
840-
merge(true, bundleConfig, {
841-
"*": "dist/js/dev/es6/*.es6"
842-
}),
843-
'angular2/angular2',
844-
'./dist/build/angular2.dev.js',
845-
{
846-
sourceMaps: true
847-
});
829+
merge(true, bundleConfig, {
830+
"*": "dist/js/dev/es6/*.es6"
831+
}),
832+
'angular2/angular2',
833+
'./dist/build/angular2.dev.js',
834+
{
835+
sourceMaps: true
836+
});
837+
});
838+
839+
gulp.task('bundle.js.prod.deps', ['bundle.js.prod'], function() {
840+
return bundler.modify(
841+
['node_modules/zone.js/zone.js', 'dist/build/angular2.js'], 'angular2.js')
842+
.pipe(gulp.dest('dist/bundle'));
843+
});
844+
845+
gulp.task('bundle.js.min.deps', ['bundle.js.min'], function() {
846+
return bundler.modify(
847+
['node_modules/zone.js/zone.js', 'dist/build/angular2.min.js'], 'angular2.min.js')
848+
.pipe(gulp.dest('dist/bundle'));
848849
});
849850

850851
gulp.task('bundle.js.dev.deps', ['bundle.js.dev'], function() {
851-
return gulp.src(['node_modules/zone.js/zone.js', 'dist/build/angular2.dev.js'])
852-
.pipe(concat('angular2.dev.js'))
853-
.pipe(gulp.dest('dist/bundle'));
852+
return bundler.modify(
853+
['node_modules/zone.js/zone.js', 'node_modules/zone.js/long-stack-trace-zone.js', 'dist/build/angular2.dev.js'],
854+
'angular2.dev.js')
855+
.pipe(insert.append('\nzone = zone.fork(Zone.longStackTraceZone);\n'))
856+
.pipe(gulp.dest('dist/bundle'));
854857
});
855858

856859
gulp.task('build.js', ['build.js.dev', 'build.js.prod', 'build.js.cjs', 'bundle.js.deps']);

package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,17 @@
2626
},
2727
"dependencies": {
2828
"es6-module-loader": "^0.9.2",
29-
"systemjs": "^0.9.1",
29+
"googleapis": "1.0.x",
30+
"gulp-insert": "^0.4.0",
31+
"gulp-modify": "0.0.4",
32+
"gulp-replace": "^0.5.3",
33+
"node-uuid": "1.4.x",
3034
"rx": "2.4.6",
35+
"selenium-webdriver": "2.45.1",
36+
"systemjs": "^0.9.1",
3137
"traceur": "0.0.87",
3238
"which": "~1",
33-
"zone.js": "0.4.2",
34-
"googleapis": "1.0.x",
35-
"node-uuid": "1.4.x",
36-
"selenium-webdriver": "2.45.1"
39+
"zone.js": "0.4.2"
3740
},
3841
"devDependencies": {
3942
"angular": "1.3.5",

tools/build/bundle.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
1+
var gulp = require('gulp');
2+
var concat = require('gulp-concat');
3+
var replace = require('gulp-replace');
4+
var insert = require('gulp-insert');
5+
16
module.exports.bundle = function(buildConfig, moduleName, outputFile, outputConfig){
27
// loading it earlier interfers with custom traceur.
38
var Builder = require('systemjs-builder');
49
var builder = new Builder();
510
builder.config(buildConfig);
611
return builder.build(moduleName, outputFile, outputConfig);
712
}
13+
14+
15+
module.exports.modify = function(srcs, concatName) {
16+
return gulp.src(srcs)
17+
.pipe(concat(concatName))
18+
.pipe(replace('use strict', '')) // remove after https://github.com/systemjs/builder/issues/123 is fixed.
19+
.pipe(replace('sourceMappingURL', 'sourceMappingURLDisabled')) // TODO: add concat for sourceMaps
20+
}

0 commit comments

Comments
 (0)