29 lines
871 B
JavaScript
29 lines
871 B
JavaScript
const { configureDevServer } = require('./webpack.parts');
|
|
const { HotAcceptPlugin } = require('hot-accept-webpack-plugin');
|
|
const webpack = require('webpack');
|
|
const { merge } = require("webpack-merge");
|
|
|
|
const devServerConfig = (serverAddress, publicPath, port, siteURL, entriesArray) => {
|
|
return {
|
|
devServer: configureDevServer(serverAddress, publicPath, port, siteURL),
|
|
plugins: [
|
|
new webpack.HotModuleReplacementPlugin(),
|
|
new HotAcceptPlugin({
|
|
test: [
|
|
...entriesArray.map(el => `${el}.js`)
|
|
]
|
|
})
|
|
],
|
|
optimization: {
|
|
runtimeChunk: 'single',
|
|
}
|
|
}
|
|
}
|
|
|
|
exports.developmentConfig = ({ port, publicPath, serverAddress, siteURL, entriesArray, devServer }) => merge(
|
|
{
|
|
devtool: "cheap-source-map",
|
|
},
|
|
devServer ? devServerConfig(serverAddress, publicPath, port, siteURL, entriesArray) : {},
|
|
);
|