text: // Common client-side webpack configuration used by webpack.hot.config and webpack.rails.config.
  
  const webpack = require('webpack');
  const path = require('path');
  const autoprefixer = require('autoprefixer');
  
  const devBuild = process.env.NODE_ENV !== 'production';
  const nodeEnv = devBuild ? 'development' : 'production';
  
  module.exports = {
  
    // the project dir
    context: __dirname,
    entry: {
  
      // See use of 'vendor' in the CommonsChunkPlugin inclusion below.
      vendor: [
        'babel-polyfill',
        'jquery',
      ],
  
      // This will contain the app entry points defined by webpack.hot.config and webpack.rails.config
      app: [
        './app/bundles/comments/startup/clientRegistration',
      ],
    },
    resolve: {
      extensions: ['', '.js', '.jsx'],
      alias: {
        libs: path.join(process.cwd(), 'app', 'libs'),
        react: path.resolve('./node_modules/react'),
        'react-dom': path.resolve('./node_modules/react-dom'),
      },
    },
  
    plugins: [
      new webpack.DefinePlugin({
        'process.env': {
          NODE_ENV: JSON.stringify(nodeEnv),
        },
        TRACE_TURBOLINKS: devBuild,
      }),
  
      // https://webpack.github.io/docs/list-of-plugins.html#2-explicit-vendor-chunk
      new webpack.optimize.CommonsChunkPlugin({
  
        // This name 'vendor' ties into the entry definition
        name: 'vendor',
  
        // We don't want the default vendor.js name
        filename: 'vendor-bundle.js',
  
        // Passing Infinity just creates the commons chunk, but moves no modules into it.
        // In other words, we only put what's in the vendor entry definition in vendor-bundle.js
        minChunks: Infinity,
      }),
    ],
    module: {
      loaders: [
        { test: /\.(woff2?|svg)$/, loader: 'url?limit=10000' },
        { test: /\.(ttf|eot)$/, loader: 'file' },
        { test: /\.(jpe?g|png|gif|svg|ico)$/, loader: 'url?limit=10000' },
  
        { test: require.resolve('jquery'), loader: 'expose?jQuery' },
        { test: require.resolve('jquery'), loader: 'expose?$' },
  
        // Use one of these to serve jQuery for Bootstrap scripts:
  
        // Bootstrap 3
        { test: /bootstrap-sass\/assets\/javascripts\//, loader: 'imports?jQuery=jquery' },
  
        // Bootstrap 4
        { test: /bootstrap\/dist\/js\/umd\//, loader: 'imports?jQuery=jquery' },
      ],
    },
  
    // Place here all postCSS plugins here, so postcss-loader will apply them
    postcss: [autoprefixer],
  
    // Place here all SASS files with variables, mixins etc.
    // And sass-resources-loader will load them in every CSS Module (SASS file) for you
    // (so don't need to @import them explicitly)
    // https://github.com/shakacode/sass-resources-loader
    sassResources: ['./app/assets/styles/app-variables.scss'],
  
  };
  