old_contents: const path = require('path')
  const ExtractTextPlugin = require("extract-text-webpack-plugin")
  const HtmlWebpackPlugin = require('html-webpack-plugin')
  
  function resolve (dir) {
    return path.join(__dirname, '..', dir)
  }
  
  module.exports = {
    entry: resolve('src/index.js'),
    output: {
      path: resolve('dist'),
      filename: '[name].js'
    },
    resolve: {
      alias: {
        '@': resolve('src')
      }
    },
    module: {
      rules: [
        // general resolve
        {
          test: /\.js$/,
          use: 'babel-loader',
          include: resolve('src')
        },
        {
          test: /\.scss$/,
          use: ExtractTextPlugin.extract({
            fallback: 'style-loader',
            use: ['css-loader', 'sass-loader']
          }),
          include: resolve('src/assets')
        }
      ]
    },
    plugins: [
      // generate index.html based on src/index.html
      new HtmlWebpackPlugin({
        minify: {
          removeComments: true,
          collapseWhitespace: true,
          removeAttributeQuotes: true
        }
      })
    ]
  }
  
new_contents: const path = require('path')
  const ExtractTextPlugin = require("extract-text-webpack-plugin")
  const HtmlWebpackPlugin = require('html-webpack-plugin')
  
  function resolve (dir) {
    return path.join(__dirname, '..', dir)
  }
  
  module.exports = {
    entry: resolve('src/index.js'),
    output: {
      path: resolve('dist'),
      filename: '[name].js'
    },
    resolve: {
      alias: {
        '@': resolve('src')
      }
    },
    module: {
      rules: [
        // general resolve
        {
          test: /\.js$/,
          use: 'babel-loader',
          include: resolve('src')
        },
        {
          test: /\.scss$/,
          use: ExtractTextPlugin.extract({
            fallback: 'style-loader',
            use: ['css-loader', 'sass-loader']
          }),
          include: resolve('src/assets')
        }
      ]
    },
    plugins: [
      new HtmlWebpackPlugin({
        template: 'index.html',
        minify: {
          removeComments: true,
          collapseWhitespace: true,
          removeAttributeQuotes: true
        }
      })
    ]
  }
  
subject: Update HTML Webpack Plugin to use index.html as template