From 957599ae01687d6b3d02a3c34fdbe2ac6bd920f9 Mon Sep 17 00:00:00 2001 From: Anike Arni Date: Thu, 16 Feb 2017 18:51:26 -0200 Subject: [#907] Bundles login static files separately Due to conflicts with public and protected urls, login and interstitial files have to be on a different public url from inbox and resources that require login. Therefore, here, we delegate that logic to webpack. Now we have a '/public' url and a '/assets' url for those static assets. --- web-ui/webpack.config.js | 63 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 19 deletions(-) (limited to 'web-ui/webpack.config.js') diff --git a/web-ui/webpack.config.js b/web-ui/webpack.config.js index 946189bb..6a44e4a1 100644 --- a/web-ui/webpack.config.js +++ b/web-ui/webpack.config.js @@ -1,22 +1,12 @@ var path = require('path'); var webpack = require('webpack'); -var copyWebpack = require('./config/copy-webpack'); +var publicAssetsWebpack = require('./config/public-assets-webpack'); +var protectedAssetsWebpack = require('./config/protected-assets-webpack'); var loaders = require('./config/loaders-webpack'); var aliases = require('./config/alias-webpack'); -module.exports = { - entry: { - app: './app/js/index.js', - backup_account: './src/backup_account/backup_account.js', - login: './src/login/login.js', - sandbox: './app/js/sandbox.js' - }, +var commonConfiguration = { node: { fs: 'empty' }, - output: { - path: path.join(__dirname, 'dist'), - filename: '[name].js', - publicPath: '/assets/' - }, devtool: 'source-map', resolve: { alias: aliases, @@ -25,10 +15,45 @@ module.exports = { module: { loaders: loaders }, - plugins: [copyWebpack, new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: JSON.stringify('development') - } - })], postcss: {} -} +}; + +var publicAssets = Object.assign({}, commonConfiguration, { + entry: { + 'login': './src/login/login.js', + }, + output: { + path: path.join(__dirname, 'dist/public'), + filename: '[name].js', + publicPath: '/assets/' + }, + plugins: [ + publicAssetsWebpack, + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('development') + } + })] +}); + +var protectedAssets = Object.assign({}, commonConfiguration, { + entry: { + 'app': './app/js/index.js', + 'backup_account': './src/backup_account/backup_account.js', + 'sandbox': './app/js/sandbox.js' + }, + output: { + path: path.join(__dirname, 'dist/protected'), + filename: '[name].js', + publicPath: '/assets/' + }, + plugins: [ + protectedAssetsWebpack, + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('development') + } + })] +}); + +module.exports = [publicAssets, protectedAssets]; -- cgit v1.2.3