text: const path = require('path')
  const webpack = require('webpack')
  const HtmlWebpackPlugin = require('html-webpack-plugin')
  const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  const TerserPlugin = require("terser-webpack-plugin");
  const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
  const WorkboxPlugin = require('workbox-webpack-plugin')
  
  module.exports = {
    entry: './src/client/index.js',
    mode: 'production',
    optimization: {
      minimizer: [new TerserPlugin({}), new OptimizeCssAssetsPlugin({})],
    },
    output: {
      libraryTarget: 'var',
      library: 'Client'
    },
    module: {
      rules: [
        {
          test: '/\.js$/',
          exclude: /node_modules/,
          loader: "babel-loader"
        },
        {
          test: /\.scss$/,
          use: [ 'style-loader', 'css-loader', 'sass-loader' ]
        },
        {
          test: /\.(svg|png)$/,
          use: [
            {
              loader: 'url-loader'
            }
          ]
        },
        {
          test: /\.scss$/,
          use: [ MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader' ],
        }
      ]
    },
    plugins: [
      new HtmlWebpackPlugin({
        template: './src/client/views/index.html',
        filename: './index.html'
      }),
      new MiniCssExtractPlugin({ filename: '[name].css' }),
      new WorkboxPlugin.GenerateSW()
    ]
  }