text: const webpack = require('webpack');
  const path = require('path');
  const merge = require('webpack-merge');
  const webpackCommon = require('./../../../.webpack/webpack.commonjs.js');
  //
  const { CleanWebpackPlugin } = require('clean-webpack-plugin');
  const fontsToJavaScriptRule = require('./rules/fontsToJavaScript.js');
  const HtmlWebpackPlugin = require('html-webpack-plugin');
  // const
  const SRC_DIR = path.join(__dirname, '../src');
  const DIST_DIR = path.join(__dirname, '../dist');
  const PUBLIC_DIR = path.join(__dirname, '../public');
  // ~~ Env Vars
  const HTML_TEMPLATE = process.env.HTML_TEMPLATE || 'script-tag.html';
  const PUBLIC_URL = process.env.PUBLIC_URL || '/';
  
  module.exports = (env, argv) => {
    const commonConfig = webpackCommon(env, argv, { SRC_DIR, DIST_DIR });
  
    return merge(commonConfig, {
      entry: {
        app: `${SRC_DIR}/index-umd.js`,
      },
      devtool: 'source-map',
      stats: {
        colors: true,
        hash: true,
        timings: true,
        assets: true,
        chunks: false,
        chunkModules: false,
        modules: false,
        children: false,
        warnings: true,
      },
      optimization: {
        minimize: true,
        sideEffects: true,
      },
      output: {
        path: DIST_DIR,
        library: 'OHIFViewer',
        libraryTarget: 'umd',
        filename: 'index.umd.js',
      },
      module: {
        rules: [fontsToJavaScriptRule],
      },
      plugins: [
        // Clean output.path
        new CleanWebpackPlugin(),
        // Generate "index.html" w/ correct includes/imports
        new HtmlWebpackPlugin({
          inject: false,
          template: `${PUBLIC_DIR}/html-templates/${HTML_TEMPLATE}`,
          filename: 'index.html',
        }),
        new webpack.optimize.LimitChunkCountPlugin({
             maxChunks: 1
         })
      ],
    });
  };
  