mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
chore(build): strip debug statements when releasing
Closes https://github.com/driftyco/ionic2/issues/96.
This commit is contained in:
32
gulpfile.js
32
gulpfile.js
@ -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';
|
||||||
|
@ -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",
|
||||||
|
Reference in New Issue
Block a user