diff --git a/client/build/index.html b/client/build/index.html index 17d2608ee..e4431f72d 100644 --- a/client/build/index.html +++ b/client/build/index.html @@ -14,6 +14,7 @@
+ diff --git a/client/build/terminal.html b/client/build/terminal.html index 1e6133f0c..f4846dec4 100644 --- a/client/build/terminal.html +++ b/client/build/terminal.html @@ -14,6 +14,7 @@
+ diff --git a/client/package.json b/client/package.json index e28cf3723..435b617d4 100644 --- a/client/package.json +++ b/client/package.json @@ -58,7 +58,7 @@ "webpack-dev-server": "~1.12.1" }, "scripts": { - "build": "webpack -p --config webpack.production.config.js", + "build": "webpack --config webpack.production.config.js", "start": "node server.js", "start-production": "NODE_ENV=production node server.js", "test": "jest", diff --git a/client/server.js b/client/server.js index eec4c239b..2bc6d768b 100644 --- a/client/server.js +++ b/client/server.js @@ -19,7 +19,7 @@ var app = express(); // Serve application file depending on environment -app.get(/(app|terminal-app).js/, function(req, res) { +app.get(/(app|terminal-app|vendors).js/, function(req, res) { var filename = req.originalUrl; if (process.env.NODE_ENV === 'production') { res.sendFile(__dirname + '/build' + filename); diff --git a/client/webpack.local.config.js b/client/webpack.local.config.js index 17a5effc6..19416e1f5 100644 --- a/client/webpack.local.config.js +++ b/client/webpack.local.config.js @@ -32,7 +32,9 @@ module.exports = { './app/scripts/terminal-main', 'webpack-dev-server/client?http://localhost:4041', 'webpack/hot/only-dev-server' - ] + ], + vendors: ['classnames', 'd3', 'dagre', 'flux', 'immutable', + 'lodash', 'page', 'react', 'react-dom', 'react-motion'] }, // This will not actually create a app.js file in ./build. It is used @@ -45,12 +47,17 @@ module.exports = { // Necessary plugins for hot load plugins: [ + new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'), new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin() ], // Transform source code using Babel and React Hot Loader module: { + include: [ + path.resolve(__dirname, 'app/scripts') + ], + preLoaders: [ { test: /\.js$/, diff --git a/client/webpack.production.config.js b/client/webpack.production.config.js index 61c27fbda..a8a4d6576 100644 --- a/client/webpack.production.config.js +++ b/client/webpack.production.config.js @@ -14,9 +14,13 @@ module.exports = { // fail on first error when building release bail: true, + cache: {}, + entry: { app: './app/scripts/main', - 'terminal-app': './app/scripts/terminal-main' + 'terminal-app': './app/scripts/terminal-main', + vendors: ['classnames', 'd3', 'dagre', 'flux', 'immutable', + 'lodash', 'page', 'react', 'react-dom', 'react-motion'] }, output: { @@ -25,6 +29,9 @@ module.exports = { }, module: { + include: [ + path.resolve(__dirname, 'app/scripts') + ], preLoaders: [ { test: /\.js$/, @@ -65,7 +72,10 @@ module.exports = { plugins: [ new webpack.DefinePlugin(GLOBALS), + new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'), + new webpack.optimize.OccurenceOrderPlugin(true), new webpack.optimize.UglifyJsPlugin({ + sourceMap: false, compress: { warnings: false }