diff --git a/web/gulpfile.js b/web/gulpfile.js index 1b944c3ccf6e3d2fd733b79ca87dc05f0019e57b..176e25d7a4f79ada4c62a34d1fa39e092ff24354 100644 --- a/web/gulpfile.js +++ b/web/gulpfile.js @@ -31,15 +31,23 @@ gulp.task('scss', () => { .pipe(gulp.dest(pkg.paths.dist.css)); }); -gulp.task('webpack', () => { +gulp.task('webpack-watch', () => { return gulp.src(pkg.main) - .pipe($.webpack_stream( require('./webpack.config.js') )) + .pipe($.webpack_stream( require('./webpack.config.watch.js') )) .pipe(gulp.dest(pkg.paths.dist.js)); }); +gulp.task('webpack', () => { + return gulp.src(pkg.main) + .pipe($.webpack_stream( require('./webpack.config.js') )) + .pipe(gulp.dest(pkg.paths.dist.js)); +}); + gulp.task('watch', function() { gulp.watch(pkg.paths.src.scss + pkg.vars.scssName, ['scss']); gulp.watch('./package.json', ['scss']); }); -gulp.task('default', ['scss', 'webpack', 'watch']) +gulp.task('build', ['scss', 'webpack']) + +gulp.task('default', ['scss', 'webpack-watch', 'watch']) diff --git a/web/webpack.config.js b/web/webpack.config.js index b05c7c2d0174f212c0eede88c72fc5c129944b17..aaafcbae3afb2d745a59718f42c3276133372ebb 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -14,7 +14,6 @@ if(process.env.NODE_ENV === 'production') { } module.exports = { - watch: true, plugins: plugins, entry: pkg.paths.src.js + '/app.js', output: { diff --git a/web/webpack.config.watch.js b/web/webpack.config.watch.js new file mode 100644 index 0000000000000000000000000000000000000000..b05c7c2d0174f212c0eede88c72fc5c129944b17 --- /dev/null +++ b/web/webpack.config.watch.js @@ -0,0 +1,32 @@ +const pkg = require('./package.json'); + +var path = require('path'), + webpack = require('webpack'), + loaders = require('./node_modules/vtk.js/Utilities/config/webpack.loaders.js'), + plugins = []; +if(process.env.NODE_ENV === 'production') { + console.log('==> Production build'); + plugins.push(new webpack.DefinePlugin({ + "process.env": { + NODE_ENV: JSON.stringify("production"), + }, + })); +} + +module.exports = { + watch: true, + plugins: plugins, + entry: pkg.paths.src.js + '/app.js', + output: { + // path: pkg.paths.dist.js, // does not work with webpack-stream + filename: 'bundle.js', + }, + module: { + loaders: [ + { test: require.resolve("./src/js/app.js"), loader: "expose-loader?MyWebApp" }, + ].concat(loaders), + }, + postcss: [ + require('autoprefixer')({ browsers: ['last 2 versions'] }), + ], +};