<p dir="auto">node v8.10.0<br>
npm 5.6.0<br>
os mac<br>
webpack 4.6.0</p>
<p dir="auto">Originally posted this issue on webpack-dev-server's repo, but was told nearly all of HMR is handled by Webpack itself, so I am moving that issue over here.</p>
<ul dir="auto">
<li>Operating System: Mac OS High Sierra</li>
<li>Node Version: 8.10.0</li>
<li>NPM Version: 5.6.0</li>
<li>webpack Version: 4.1.1</li>
<li>webpack-dev-server Version: 3.1.1</li>
</ul>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> This is a <strong>bug</strong></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> This is a <strong>modification</strong> request</li>
</ul>
<h3 dir="auto">Code</h3>
<p dir="auto">Note that the webpack file I posted isn't exactly what we have, but anything removed was just company info, me merging a common webpack file with our dev one to produce a single code snippet, and removing some unrelated/redundant info (e.g. multiple templates with similar content).</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="  // webpack.config.js
const webpack = require('webpack');
const merge = require('webpack-merge');
const config = require('./webpack.common.config.js');
const Jarvis = require('webpack-jarvis');

module.exports = merge(config, {
  mode: 'development',
  devtool: 'cheap-module-eval-source-map',
  output: {
    publicPath: '/',
    filename: '[name]-[hash].js',
    crossOriginLoading: 'anonymous',
    chunkFilename: '[name]-[hash].js'
  },
  optimization: {
    noEmitOnErrors: true,
    namedModules: true,
  },
  plugins: [
    new CopyWebpackPlugin([{
      from: 'app/assets/images/favicon/',
      to: 'favicon/',
    }]),
    new CopyWebpackPlugin([{
      from: 'app/assets/images/square/logo.png',
      to: 'logo.png',
    }]),
    new ExtractTextPlugin({
      filename: '[name]-styles-[contenthash].css',
      allChunks: true,
    }),
    new DeterministicHash(),
    new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
    new HtmlWebpackPlugin({
      template: 'templates/index.ejs',
      filename: 'index.html',
      inject: false,
      chunks: ['common', 'main'],
      appleTouchIconSizes: [57, 72, 114, 120, 144, 152],
    }),
    new Jarvis({port: 7003}),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.DefinePlugin({
      _DEVELOPMENT_: true,
    })
  ],
  module: {
    rules: [
      {
        test: /\.(otf|ttf|woff|woff2|png|jpg|svg|mp3|wav|aff|dic)$/,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: 'assets/[name]-[sha1:hash:hex:8].[ext]'
            },
          },
        ]
      },
      {
        test: /\.s?css$/,
        use: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: [
            'css-loader',
            {
              loader: 'postcss-loader',
              options: {
                plugins: () =&gt; [
                  require('precss'),
                  require('autoprefixer'),
                ]
              }
            },
            'sass-loader'
          ]
        }),
      },
      {
        test: /\.jsx?$/,
        use: ['babel-loader'],
      },
    ]
  },
  entry: {
    main: [
      'babel-polyfill',
      'react-hot-loader/patch',
      'webpack/hot/only-dev-server',
      'webpack-dev-server/client?https://0.0.0.0:7001',
      './app/main.js',
    ],
  }
});
"><pre class="notranslate">  <span class="pl-c">// webpack.config.js</span>
<span class="pl-k">const</span> <span class="pl-s1">webpack</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'webpack'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">merge</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'webpack-merge'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">config</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'./webpack.common.config.js'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-v">Jarvis</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'webpack-jarvis'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-smi">module</span><span class="pl-kos">.</span><span class="pl-c1">exports</span> <span class="pl-c1">=</span> <span class="pl-s1">merge</span><span class="pl-kos">(</span><span class="pl-s1">config</span><span class="pl-kos">,</span> <span class="pl-kos">{</span>
  <span class="pl-c1">mode</span>: <span class="pl-s">'development'</span><span class="pl-kos">,</span>
  <span class="pl-c1">devtool</span>: <span class="pl-s">'cheap-module-eval-source-map'</span><span class="pl-kos">,</span>
  <span class="pl-c1">output</span>: <span class="pl-kos">{</span>
    <span class="pl-c1">publicPath</span>: <span class="pl-s">'/'</span><span class="pl-kos">,</span>
    <span class="pl-c1">filename</span>: <span class="pl-s">'[name]-[hash].js'</span><span class="pl-kos">,</span>
    <span class="pl-c1">crossOriginLoading</span>: <span class="pl-s">'anonymous'</span><span class="pl-kos">,</span>
    <span class="pl-c1">chunkFilename</span>: <span class="pl-s">'[name]-[hash].js'</span>
  <span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-c1">optimization</span>: <span class="pl-kos">{</span>
    <span class="pl-c1">noEmitOnErrors</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-c1">namedModules</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-c1">plugins</span>: <span class="pl-kos">[</span>
    <span class="pl-k">new</span> <span class="pl-v">CopyWebpackPlugin</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-kos">{</span>
      <span class="pl-c1">from</span>: <span class="pl-s">'app/assets/images/favicon/'</span><span class="pl-kos">,</span>
      <span class="pl-c1">to</span>: <span class="pl-s">'favicon/'</span><span class="pl-kos">,</span>
    <span class="pl-kos">}</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-v">CopyWebpackPlugin</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-kos">{</span>
      <span class="pl-c1">from</span>: <span class="pl-s">'app/assets/images/square/logo.png'</span><span class="pl-kos">,</span>
      <span class="pl-c1">to</span>: <span class="pl-s">'logo.png'</span><span class="pl-kos">,</span>
    <span class="pl-kos">}</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-v">ExtractTextPlugin</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
      <span class="pl-c1">filename</span>: <span class="pl-s">'[name]-styles-[contenthash].css'</span><span class="pl-kos">,</span>
      <span class="pl-c1">allChunks</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-v">DeterministicHash</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-s1">webpack</span><span class="pl-kos">.</span><span class="pl-c1">IgnorePlugin</span><span class="pl-kos">(</span><span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">^</span><span class="pl-cce">\.</span><span class="pl-cce">\/</span>locale<span class="pl-cce">$</span><span class="pl-c1">/</span></span><span class="pl-kos">,</span> <span class="pl-pds"><span class="pl-c1">/</span>moment<span class="pl-cce">$</span><span class="pl-c1">/</span></span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-v">HtmlWebpackPlugin</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
      <span class="pl-c1">template</span>: <span class="pl-s">'templates/index.ejs'</span><span class="pl-kos">,</span>
      <span class="pl-c1">filename</span>: <span class="pl-s">'index.html'</span><span class="pl-kos">,</span>
      <span class="pl-c1">inject</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
      <span class="pl-c1">chunks</span>: <span class="pl-kos">[</span><span class="pl-s">'common'</span><span class="pl-kos">,</span> <span class="pl-s">'main'</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
      <span class="pl-c1">appleTouchIconSizes</span>: <span class="pl-kos">[</span><span class="pl-c1">57</span><span class="pl-kos">,</span> <span class="pl-c1">72</span><span class="pl-kos">,</span> <span class="pl-c1">114</span><span class="pl-kos">,</span> <span class="pl-c1">120</span><span class="pl-kos">,</span> <span class="pl-c1">144</span><span class="pl-kos">,</span> <span class="pl-c1">152</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-v">Jarvis</span><span class="pl-kos">(</span><span class="pl-kos">{</span><span class="pl-c1">port</span>: <span class="pl-c1">7003</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-s1">webpack</span><span class="pl-kos">.</span><span class="pl-c1">HotModuleReplacementPlugin</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
    <span class="pl-k">new</span> <span class="pl-s1">webpack</span><span class="pl-kos">.</span><span class="pl-c1">DefinePlugin</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
      <span class="pl-c1">_DEVELOPMENT_</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span>
  <span class="pl-kos">]</span><span class="pl-kos">,</span>
  <span class="pl-c1">module</span>: <span class="pl-kos">{</span>
    <span class="pl-c1">rules</span>: <span class="pl-kos">[</span>
      <span class="pl-kos">{</span>
        <span class="pl-c1">test</span>: <span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">\.</span><span class="pl-kos">(</span>otf<span class="pl-c1">|</span>ttf<span class="pl-c1">|</span>woff<span class="pl-c1">|</span>woff2<span class="pl-c1">|</span>png<span class="pl-c1">|</span>jpg<span class="pl-c1">|</span>svg<span class="pl-c1">|</span>mp3<span class="pl-c1">|</span>wav<span class="pl-c1">|</span>aff<span class="pl-c1">|</span>dic<span class="pl-kos">)</span><span class="pl-cce">$</span><span class="pl-c1">/</span></span><span class="pl-kos">,</span>
        <span class="pl-c1">use</span>: <span class="pl-kos">[</span>
          <span class="pl-kos">{</span>
            <span class="pl-c1">loader</span>: <span class="pl-s">'file-loader'</span><span class="pl-kos">,</span>
            <span class="pl-c1">options</span>: <span class="pl-kos">{</span>
              <span class="pl-c1">name</span>: <span class="pl-s">'assets/[name]-[sha1:hash:hex:8].[ext]'</span>
            <span class="pl-kos">}</span><span class="pl-kos">,</span>
          <span class="pl-kos">}</span><span class="pl-kos">,</span>
        <span class="pl-kos">]</span>
      <span class="pl-kos">}</span><span class="pl-kos">,</span>
      <span class="pl-kos">{</span>
        <span class="pl-c1">test</span>: <span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">\.</span>s?css<span class="pl-cce">$</span><span class="pl-c1">/</span></span><span class="pl-kos">,</span>
        <span class="pl-c1">use</span>: <span class="pl-v">ExtractTextPlugin</span><span class="pl-kos">.</span><span class="pl-en">extract</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
          <span class="pl-c1">fallback</span>: <span class="pl-s">'style-loader'</span><span class="pl-kos">,</span>
          <span class="pl-c1">use</span>: <span class="pl-kos">[</span>
            <span class="pl-s">'css-loader'</span><span class="pl-kos">,</span>
            <span class="pl-kos">{</span>
              <span class="pl-c1">loader</span>: <span class="pl-s">'postcss-loader'</span><span class="pl-kos">,</span>
              <span class="pl-c1">options</span>: <span class="pl-kos">{</span>
                <span class="pl-en">plugins</span>: <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">[</span>
                  <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'precss'</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
                  <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'autoprefixer'</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
                <span class="pl-kos">]</span>
              <span class="pl-kos">}</span>
            <span class="pl-kos">}</span><span class="pl-kos">,</span>
            <span class="pl-s">'sass-loader'</span>
          <span class="pl-kos">]</span>
        <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
      <span class="pl-kos">}</span><span class="pl-kos">,</span>
      <span class="pl-kos">{</span>
        <span class="pl-c1">test</span>: <span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">\.</span>jsx?<span class="pl-cce">$</span><span class="pl-c1">/</span></span><span class="pl-kos">,</span>
        <span class="pl-c1">use</span>: <span class="pl-kos">[</span><span class="pl-s">'babel-loader'</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
      <span class="pl-kos">}</span><span class="pl-kos">,</span>
    <span class="pl-kos">]</span>
  <span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-c1">entry</span>: <span class="pl-kos">{</span>
    <span class="pl-c1">main</span>: <span class="pl-kos">[</span>
      <span class="pl-s">'babel-polyfill'</span><span class="pl-kos">,</span>
      <span class="pl-s">'react-hot-loader/patch'</span><span class="pl-kos">,</span>
      <span class="pl-s">'webpack/hot/only-dev-server'</span><span class="pl-kos">,</span>
      <span class="pl-s">'webpack-dev-server/client?https://0.0.0.0:7001'</span><span class="pl-kos">,</span>
      <span class="pl-s">'./app/main.js'</span><span class="pl-kos">,</span>
    <span class="pl-kos">]</span><span class="pl-kos">,</span>
  <span class="pl-kos">}</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="  // dev-server.js
const path = require('path');
const fs = require('fs');
const webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const config = require('./webpack.devconfig');
const ssl = require('./devssl');

new WebpackDevServer(webpack(config), {
  publicPath: config.output.publicPath,
  headers: {'Access-Control-Allow-Origin': '*'},
  hot: true,
  https: true,
  clientLogLevel: 'error',
  cert: ssl.cert,
  overlay: true,
  key: ssl.key,
  historyApiFallback: true,
  disableHostCheck: true,
  watchOptions: {
    ignored: /\/node_modules\/.*/,
  },
  stats: {
    assets: false,
    cached: false,
    cachedAssets: false,
    children: false,
    chunks: false,
    chunkModules: false,
    chunkOrigins: false,
    colors: true,
    depth: false,
    entrypoints: true,
    excludeAssets: /app\/assets/,
    hash: false,
    maxModules: 15,
    modules: false,
    performance: true,
    reasons: false,
    source: false,
    timings: true,
    version: false,
    warnings: true,
  },
}).listen(7001, '0.0.0.0', function(err, result) {
  console.log(`Serving chunks at path ${config.output.publicPath}`);
});"><pre class="notranslate">  <span class="pl-c">// dev-server.js</span>
<span class="pl-k">const</span> <span class="pl-s1">path</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'path'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">fs</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'fs'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">webpack</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'webpack'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-v">WebpackDevServer</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'webpack-dev-server'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">config</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'./webpack.devconfig'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">ssl</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'./devssl'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-k">new</span> <span class="pl-v">WebpackDevServer</span><span class="pl-kos">(</span><span class="pl-s1">webpack</span><span class="pl-kos">(</span><span class="pl-s1">config</span><span class="pl-kos">)</span><span class="pl-kos">,</span> <span class="pl-kos">{</span>
  <span class="pl-c1">publicPath</span>: <span class="pl-s1">config</span><span class="pl-kos">.</span><span class="pl-c1">output</span><span class="pl-kos">.</span><span class="pl-c1">publicPath</span><span class="pl-kos">,</span>
  <span class="pl-c1">headers</span>: <span class="pl-kos">{</span><span class="pl-s">'Access-Control-Allow-Origin'</span>: <span class="pl-s">'*'</span><span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-c1">hot</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-c1">https</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-c1">clientLogLevel</span>: <span class="pl-s">'error'</span><span class="pl-kos">,</span>
  <span class="pl-c1">cert</span>: <span class="pl-s1">ssl</span><span class="pl-kos">.</span><span class="pl-c1">cert</span><span class="pl-kos">,</span>
  <span class="pl-c1">overlay</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-c1">key</span>: <span class="pl-s1">ssl</span><span class="pl-kos">.</span><span class="pl-c1">key</span><span class="pl-kos">,</span>
  <span class="pl-c1">historyApiFallback</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-c1">disableHostCheck</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-c1">watchOptions</span>: <span class="pl-kos">{</span>
    <span class="pl-c1">ignored</span>: <span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">\/</span>node_modules<span class="pl-cce">\/</span>.<span class="pl-c1">*</span><span class="pl-c1">/</span></span><span class="pl-kos">,</span>
  <span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-c1">stats</span>: <span class="pl-kos">{</span>
    <span class="pl-c1">assets</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">cached</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">cachedAssets</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">children</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">chunks</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">chunkModules</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">chunkOrigins</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">colors</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-c1">depth</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">entrypoints</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-c1">excludeAssets</span>: <span class="pl-pds"><span class="pl-c1">/</span>app<span class="pl-cce">\/</span>assets<span class="pl-c1">/</span></span><span class="pl-kos">,</span>
    <span class="pl-c1">hash</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">maxModules</span>: <span class="pl-c1">15</span><span class="pl-kos">,</span>
    <span class="pl-c1">modules</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">performance</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-c1">reasons</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">source</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">timings</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
    <span class="pl-c1">version</span>: <span class="pl-c1">false</span><span class="pl-kos">,</span>
    <span class="pl-c1">warnings</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
  <span class="pl-kos">}</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">listen</span><span class="pl-kos">(</span><span class="pl-c1">7001</span><span class="pl-kos">,</span> <span class="pl-s">'0.0.0.0'</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">err</span><span class="pl-kos">,</span> <span class="pl-s1">result</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
  <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">`Serving chunks at path <span class="pl-s1"><span class="pl-kos">${</span><span class="pl-s1">config</span><span class="pl-kos">.</span><span class="pl-c1">output</span><span class="pl-kos">.</span><span class="pl-c1">publicPath</span><span class="pl-kos">}</span></span>`</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto">Similar, if not faster HMR</p>
<h3 dir="auto">Actual Behavior</h3>
<p dir="auto">Hot reload time increased from ~5s to ~10s when upgrading from Webpack 3 to Webpack 4.</p>
<h3 dir="auto">For Bugs; How can we reproduce the behavior?</h3>
<p dir="auto">Unsure if it reproduces in every case, but in our case we have a large webapp that spits out multiple entry points, with sass processing, along with a lot of other webpack features.</p>