Skip to content
Snippets Groups Projects
webpack.client.prod.js 945 B
Newer Older
esikkala's avatar
esikkala committed
const webpack = require('webpack')
esikkala's avatar
esikkala committed
const { merge } = require('webpack-merge')
esikkala's avatar
esikkala committed
const CopyPlugin = require('copy-webpack-plugin')
const CompressionPlugin = require('compression-webpack-plugin')
esikkala's avatar
esikkala committed
const common = require('./webpack.client.common.js')
Esko Ikkala's avatar
Esko Ikkala committed

module.exports = merge(common, {
  mode: 'production',
  // devtool: 'source-map',
Esko Ikkala's avatar
Esko Ikkala committed
  plugins: [
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('production')
esikkala's avatar
esikkala committed
    }),
    new CopyPlugin({
      patterns: [
        /**
         * If there are pregenerated sitemap files, copy them
         * into output folder.
         */
        {
esikkala's avatar
esikkala committed
          from: 'src/server/sitemap_generator/sitemap_output',
esikkala's avatar
esikkala committed
          to: `${common.output.path}/sitemap`,
          noErrorOnMissing: true
esikkala's avatar
esikkala committed
        },
        {
          from: 'src/client/robots.txt',
          to: `${common.output.path}`
esikkala's avatar
esikkala committed
        }
      ]
    }),
    new CompressionPlugin({
      test: /\.js(\?.*)?$/i
Esko Ikkala's avatar
Esko Ikkala committed
    })
  ]
esikkala's avatar
esikkala committed
})