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:
		
							
								
								
									
										26
									
								
								config/webpack/configuration.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								config/webpack/configuration.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
// Common configuration for webpacker loaded from config/webpack/paths.yml
 | 
			
		||||
 | 
			
		||||
const { join, resolve } = require('path')
 | 
			
		||||
const { env } = require('process')
 | 
			
		||||
const { safeLoad } = require('js-yaml')
 | 
			
		||||
const { readFileSync } = require('fs')
 | 
			
		||||
 | 
			
		||||
const configPath = resolve('config', 'webpack')
 | 
			
		||||
const loadersDir = join(__dirname, 'loaders')
 | 
			
		||||
const paths = safeLoad(readFileSync(join(configPath, 'paths.yml'), 'utf8'))[env.NODE_ENV]
 | 
			
		||||
const devServer = safeLoad(readFileSync(join(configPath, 'development.server.yml'), 'utf8'))[env.NODE_ENV]
 | 
			
		||||
 | 
			
		||||
// Compute public path based on environment and CDN_HOST in production
 | 
			
		||||
const ifHasCDN = env.CDN_HOST !== undefined && env.NODE_ENV === 'production'
 | 
			
		||||
const devServerUrl = `http://${devServer.host}:${devServer.port}/${paths.entry}/`
 | 
			
		||||
const publicUrl = ifHasCDN ? `${env.CDN_HOST}/${paths.entry}/` : `/${paths.entry}/`
 | 
			
		||||
const publicPath = env.NODE_ENV !== 'production' ? devServerUrl : publicUrl
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  devServer,
 | 
			
		||||
  env,
 | 
			
		||||
  paths,
 | 
			
		||||
  loadersDir,
 | 
			
		||||
  publicUrl,
 | 
			
		||||
  publicPath
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user