Replace sprockets/browserify with Webpack (#2617)
* Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in <UI /> * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time
This commit is contained in:
		
							
								
								
									
										44
									
								
								config/webpack/production.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								config/webpack/production.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
// Note: You must restart bin/webpack-dev-server for changes to take effect
 | 
			
		||||
 | 
			
		||||
/* eslint global-require: 0 */
 | 
			
		||||
 | 
			
		||||
const webpack = require('webpack')
 | 
			
		||||
const merge = require('webpack-merge')
 | 
			
		||||
const CompressionPlugin = require('compression-webpack-plugin')
 | 
			
		||||
const sharedConfig = require('./shared.js')
 | 
			
		||||
 | 
			
		||||
module.exports = merge(sharedConfig, {
 | 
			
		||||
  output: { filename: '[name]-[chunkhash].js' },
 | 
			
		||||
 | 
			
		||||
  plugins: [
 | 
			
		||||
    new webpack.optimize.UglifyJsPlugin({
 | 
			
		||||
      compress: {
 | 
			
		||||
        unused: true,
 | 
			
		||||
        evaluate: true,
 | 
			
		||||
        booleans: true,
 | 
			
		||||
        drop_debugger: true,
 | 
			
		||||
        dead_code: true,
 | 
			
		||||
        pure_getters: true,
 | 
			
		||||
        negate_iife: true,
 | 
			
		||||
        conditionals: true,
 | 
			
		||||
        loops: true,
 | 
			
		||||
        cascade: true,
 | 
			
		||||
        keep_fargs: false,
 | 
			
		||||
        warnings: true
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      mangle: false,
 | 
			
		||||
 | 
			
		||||
      output: {
 | 
			
		||||
        comments: false
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      sourceMap: false
 | 
			
		||||
    }),
 | 
			
		||||
    new CompressionPlugin({
 | 
			
		||||
      asset: '[path].gz[query]',
 | 
			
		||||
      algorithm: 'gzip',
 | 
			
		||||
      test: /\.(js|css|svg|eot|ttf|woff|woff2)$/
 | 
			
		||||
    })
 | 
			
		||||
  ]
 | 
			
		||||
})
 | 
			
		||||
		Reference in New Issue
	
	Block a user