diff options
author | Anike Arni <aarni@thoughtworks.com> | 2017-02-16 18:51:26 -0200 |
---|---|---|
committer | Anike Arni <aarni@thoughtworks.com> | 2017-02-16 18:51:26 -0200 |
commit | 957599ae01687d6b3d02a3c34fdbe2ac6bd920f9 (patch) | |
tree | 7612fa7cfd33bd9657bce0eb9e8db47b076cedcc /web-ui/webpack.config.js | |
parent | 64780114ae90bb890d3ffa0a9aebe4686c6b74d3 (diff) |
[#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.
Diffstat (limited to 'web-ui/webpack.config.js')
-rw-r--r-- | web-ui/webpack.config.js | 63 |
1 files changed, 44 insertions, 19 deletions
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]; |