UNPKG

pomy

Version:

Based on the concept of a project object model (POM), POMY can manage a project's build, reporting and documentation from a central piece of information.

69 lines (54 loc) 1.66 kB
'use strict'; var gulp = require('gulp'), gulpif = require('gulp-if'), gutil = require('gulp-util'), webpack = require('webpack'), webpackDevServer = require('webpack-dev-server'), webpackConfig = require('../../webpack.config'), bundleLogger = require('../util/bundleLogger'), handleErrors = require('../util/handleErrors'), ngAnnotatePlugin = require('ng-annotate-webpack-plugin'); gulp.task('webpack:dev', function(cb) { var webpackDevConfig = Object.create(webpackConfig), devCompiler; webpackDevConfig.devtool = 'eval'; webpackDevConfig.debug = true; devCompiler = webpack(webpackDevConfig); return new webpackDevServer(devCompiler, { contentBase: 'http://localhost:8080/', publicPath: 'http://localhost:8090/assets/', hot: false, stats: { colors: true } }).listen(8090, 'localhost', function(err) { if (err) { throw new gutil.PluginError('webpack:dev', err); } return cb(); }); }); gulp.task('webpack:build', function(cb) { var webpackProductionConfig = Object.create(webpackConfig); webpackProductionConfig.plugins = webpackProductionConfig.plugins.concat(new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }), new webpack.optimize.DedupePlugin(), new ngAnnotatePlugin({ add: true }), new webpack.optimize.UglifyJsPlugin()); return webpack(webpackProductionConfig, function(err, stats) { if (err) { throw new gutil.PluginError('webpack:dev', err); } gutil.log('[webpack:build]', stats.toString({ colors: true })); return cb(); }); });