diff options
Diffstat (limited to 'catalog-ui/webpack.config.js')
-rw-r--r-- | catalog-ui/webpack.config.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/catalog-ui/webpack.config.js b/catalog-ui/webpack.config.js new file mode 100644 index 0000000000..71fc3ab9f7 --- /dev/null +++ b/catalog-ui/webpack.config.js @@ -0,0 +1,71 @@ +'use strict'; + +const path = require('path'); +const merge = require('webpack-merge'); +const webpack = require('webpack'); +const ServerConfig = require('./webpack.server'); +const webpackCommonConfig = require('./webpack.common'); +const {BaseHrefWebpackPlugin} = require('@angular/cli/plugins/webpack'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); + +// Print server configuration +//process.stdout.write('webpack.server: ' + JSON.stringify(ServerConfig) + '\n'); +//process.stdout.write('webpack.common: ' + JSON.stringify(webpackCommonConfig) + '\n'); +var currentTime = new Date().getTime(); + +const params = { + // entryPoints: [ + // '/scripts/inline', + // '/scripts/polyfills', + // '/scripts/vendor', + // '/scripts/main', + // '/scripts/sw-register', + // '/scripts/scripts', + // '/scripts/styles' + // ] +}; + +module.exports = function (env) { + + const webpackDevConfig = { + devtool: "source-map", + devServer: ServerConfig(env), + module: { + rules: [ + {test: /\.(eot|svg)$/, loader: "file-loader?name=scripts/fonts/[name].[hash:20].[ext]"}, + { + test: /\.(jpg|png|gif|otf|ttf|woff|woff2|cur|ani)$/, + loader: "url-loader?name=scripts/images/[name].[hash:20].[ext]&limit=10000" + } + ] + }, + output: { + path: path.join(process.cwd(), "dist"), + filename: "[name]." + currentTime + ".bundle.js", + chunkFilename: "[id].chunk.js" + //publicPath: "/" + }, + plugins: [ + + // Replace /sdc1 inside index.html with '' (because /sdc1 is used only in production). + new CopyWebpackPlugin([ + { + from: './src/index.html', transform: function (content, path) { + content = (content + '').replace(/\/sdc1/g, ''); + content = (content + '').replace(/\.bundle/g, '.' + currentTime + '.bundle'); + return content; + } + } + ]), + new webpack.DefinePlugin({ + __DEBUG__: JSON.stringify(true), + __ENV__: JSON.stringify('dev'), + __HMR__: JSON.stringify('HMR') + }), + new webpack.HotModuleReplacementPlugin() + ] + + }; + + return merge(webpackDevConfig, webpackCommonConfig(params)); +} |