diff --git a/gulpfile.js b/gulpfile.js index bc3e3afe99891828da4ca904e6d7e19a16654f84..6dc5fe4c9f64132b7bdbca1c3b0d553a026135c6 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -73,6 +73,7 @@ sass.compiler = require('sass'); // Load webpack config var webpackDev = () => require(options.theme.app + 'webpack.dev.config.js'); +var webpackStaticDev = () => require(options.theme.app + 'webpack.static.dev.config.js'); var webpackProd = () => require(options.theme.app + 'webpack.prod.config.js'); var webpackAnalyze = () => require(options.theme.app + 'webpack.analyze.config.js'); @@ -178,7 +179,7 @@ gulp.task('scripts:production', gulp.series('clean:js', function js () { // Build App. gulp.task('app', function() { return gulp.src(options.theme.app + 'src/') - .pipe(webpackStrm( webpackDev() )) + .pipe(webpackStrm( webpackStaticDev() )) .pipe(gulp.dest(options.theme.app_dest)); }) diff --git a/hypha/static_src/src/app/webpack.static.dev.config.js b/hypha/static_src/src/app/webpack.static.dev.config.js new file mode 100644 index 0000000000000000000000000000000000000000..f70897a75cf642629bc9e42c0edbdc1fada890cf --- /dev/null +++ b/hypha/static_src/src/app/webpack.static.dev.config.js @@ -0,0 +1,25 @@ +var webpack = require('webpack') +var BundleTracker = require('webpack-bundle-tracker') + +var config = require('./webpack.base.config.js') + +staticDevConfig = config('production') + +staticDevConfig.output.path = require('path').resolve('./assets/dist') + +staticDevConfig.plugins = staticDevConfig.plugins.concat([ + new BundleTracker({ filename: './hypha/static_compiled/app/webpack-stats.json' }), + new webpack.EnvironmentPlugin({ + NODE_ENV: 'production', + API_BASE_URL: null , + }), +]) + +staticDevConfig.optimization = {} + + +/** + * A webpack config similar to production, but produces development-oriented webpack-stats file. + * This makes it possible to use React application without Webpack Dev Server. + */ +module.exports = staticDevConfig