chore(build): strip debug statements when releasing

Closes https://github.com/driftyco/ionic2/issues/96.
This commit is contained in:
Tim Lancina
2016-01-15 16:26:38 -06:00
parent 97d5c07117
commit 1662f05fe5
2 changed files with 26 additions and 7 deletions

View File

@ -21,6 +21,8 @@ var flagConfig = {
}; };
var flags = minimist(process.argv.slice(2), flagConfig); var flags = minimist(process.argv.slice(2), flagConfig);
var IS_RELEASE = true;
var tscOptions = { var tscOptions = {
emitDecoratorMetadata: true, emitDecoratorMetadata: true,
experimentalDecorators: true, experimentalDecorators: true,
@ -147,30 +149,41 @@ function tsCompile(options, cacheName){
} }
gulp.task('transpile.no-typecheck', function(){ gulp.task('transpile.no-typecheck', function(){
var gulpif = require('gulp-if');
var stripDebug = require('gulp-strip-debug');
return tsCompile(tscOptionsNoTypeCheck, 'no-typecheck') return tsCompile(tscOptionsNoTypeCheck, 'no-typecheck')
.pipe(gulpif(IS_RELEASE, stripDebug()))
.pipe(gulp.dest('dist')); .pipe(gulp.dest('dist'));
}); });
gulp.task('transpile.typecheck', function(){ gulp.task('transpile.typecheck', function(){
var merge = require('merge2'); var merge = require('merge2');
var stripDebug = require('gulp-strip-debug');
var result = tsCompile(tscOptions, 'typecheck'); var result = tsCompile(tscOptions, 'typecheck');
var js = result.js;
var dts = result.dts;
if (IS_RELEASE) {
js = js.pipe(stripDebug());
}
// merge definition and source streams // merge definition and source streams
return merge([ return merge([js, dts])
result.dts, .pipe(gulp.dest('dist'));
result.js
])
.pipe(gulp.dest('dist'));
}) })
gulp.task('bundle.system', function(){ gulp.task('bundle.system', function(){
var babel = require('gulp-babel'); var babel = require('gulp-babel');
var concat = require('gulp-concat'); var concat = require('gulp-concat');
var gulpif = require('gulp-if');
var stripDebug = require('gulp-strip-debug');
return tsCompile(tscOptionsEs6, 'system') return tsCompile(tscOptionsEs6, 'system')
.pipe(babel(babelOptions)) .pipe(babel(babelOptions))
.pipe(remember('system')) .pipe(remember('system'))
.pipe(gulpif(IS_RELEASE, stripDebug()))
.pipe(concat('ionic.system.js')) .pipe(concat('ionic.system.js'))
.pipe(gulp.dest('dist/bundles')) .pipe(gulp.dest('dist/bundles'))
.pipe(connect.reload()) .pipe(connect.reload())
@ -392,9 +405,14 @@ gulp.task('src', function(done){
'transpile.typecheck', 'transpile.typecheck',
done done
); );
}) });
gulp.task('package', ['src'], function(done){ gulp.task('src.release', function(done) {
IS_RELEASE = true;
gulp.start('src', done);
});
gulp.task('package', ['src.release'], function(done){
var _ = require('lodash'); var _ = require('lodash');
var fs = require('fs'); var fs = require('fs');
var distDir = 'dist'; var distDir = 'dist';

View File

@ -48,6 +48,7 @@
"gulp-rename": "~1.2.0", "gulp-rename": "~1.2.0",
"gulp-sass": "^2.0.4", "gulp-sass": "^2.0.4",
"gulp-shell": "^0.4.0", "gulp-shell": "^0.4.0",
"gulp-strip-debug": "^1.1.0",
"gulp-typescript": "^2.9.2", "gulp-typescript": "^2.9.2",
"gulp-util": "^3.0.6", "gulp-util": "^3.0.6",
"gulp-watch": "^4.2.4", "gulp-watch": "^4.2.4",