text: const webpack = require('webpack');
  const path = require('path');
  const buildPath = path.resolve(__dirname, 'build');
  const nodeModulesPath = path.resolve(__dirname, 'node_modules');
  const TransferWebpackPlugin = require('transfer-webpack-plugin');
  const WebpackShellPlugin = require('webpack-shell-plugin');
  
  const config = {
    entry: [path.join(__dirname, '/src/app/app.js')],
    // Render source-map file for final build
    devtool: 'source-map',
    // output config
    output: {
      path: buildPath, // Path of output file
      filename: 'app.js', // Name of output file
    },
    plugins: [
      // Define production build to allow React to strip out unnecessary checks
      new webpack.DefinePlugin({
        'process.env':{
          'NODE_ENV': JSON.stringify('production')
        }
      }),
      // Minify the bundle
      new webpack.optimize.UglifyJsPlugin({
        compress: {
          // suppresses warnings, usually from module minification
          warnings: false,
        },
      }),
      // Allows error warnings but does not stop compiling.
      new webpack.NoErrorsPlugin(),
      // Transfer Files
      new TransferWebpackPlugin([
        {from: 'www'},
      ], path.resolve(__dirname, 'src')),
      new WebpackShellPlugin({
        onBuildStart: [],
        onBuildEnd: ['echo "end"']
      }),
    ],
    module: {
      loaders: [
        {
          test: /\.json$/,
          loader: 'json',
        }, {
          test: /\.js$/, // All .js files
          loaders: ['babel-loader'], // react-hot is like browser sync and babel loads jsx and es6-7
          exclude: [nodeModulesPath],
        }, {
          test: /\.scss$/, // All .scss files
          loaders: ['style', 'css', 'sass'],
        },
        { test: /\.(png|woff|woff2|eot|otf|svg)$/, loader: 'url-loader?limit=100000' }
      ],
    },
  };
  
  module.exports = config;
  