'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)); }