diff --git a/gulpfile.js b/gulpfile.js index 794e7e45a5..b9fead03b9 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -158,17 +158,21 @@ gulp.task('bundle', ['transpile'], function(done){ // } var config = require('./scripts/npm/ionic.webpack.config.js'); - bundle({ - config: config, - cb: finished, - stats: true - }); + bundle({ config: config, stats: true }); + + // build minified bundle + var minConfig = require('./scripts/npm/ionic.min.webpack.config.js'); + bundle({ config: minConfig, cb: finished, stats: true }); + + var outputPaths = [ + config.output.path + path.sep + config.output.filename, + minConfig.output.path + path.sep + minConfig.output.filename + ]; function finished(){ - var outputPath = config.output.path + path.sep + config.output.filename; - gulp.src(outputPath) + gulp.src(outputPaths) .pipe(connect.reload()) - .on('end', done) + .on('end', done); } }) diff --git a/scripts/npm/ionic.min.webpack.config.js b/scripts/npm/ionic.min.webpack.config.js new file mode 100644 index 0000000000..98fbf6c0b7 --- /dev/null +++ b/scripts/npm/ionic.min.webpack.config.js @@ -0,0 +1,38 @@ +var webpack = require('webpack'); + +module.exports = { + entry: [ + "./dist/ionic.js" + ], + output: { + path: 'dist/bundles', + filename: 'ionic.min.js', + libraryTarget: 'commonjs2' + }, + externals: [ + { + 'angular2/core': { + commonjs2: ['angular2', 'core'] + }, + 'angular2/common': { + commonjs2: ['angular2', 'common'] + }, + 'angular2/router' : { + commonjs2: ['angular2', 'router'] + }, + 'angular2/http': { + commonjs2: ['angular2', 'http'] + }, + 'angular2/platform/browser': { + commonjs2: ['angular2', 'platform', 'browser'] + }, + 'angular2/instrumentation': { + commonjs2: ['angular2', 'instrumentation'] + }, + } + ], + plugins:[ new webpack.optimize.UglifyJsPlugin({ + compress: { warnings: false }, + sourceMap: false + })] +};