| 
									
										
										
										
											2018-04-06 14:51:52 +01:00
										 |  |  | const path = require('path'); | 
					
						
							| 
									
										
										
										
											2019-01-17 02:49:03 +03:00
										 |  |  | const CopyWebpackPlugin = require('copy-webpack-plugin'); | 
					
						
							| 
									
										
										
										
											2018-04-06 14:51:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-12 11:41:27 +03:00
										 |  |  | module.exports = (env = {}) => { | 
					
						
							|  |  |  |   const __DEV__ = env.production !== true; | 
					
						
							|  |  |  |   return { | 
					
						
							|  |  |  |     mode: __DEV__ ? 'development' : 'production', | 
					
						
							| 
									
										
										
										
											2018-11-11 16:49:20 +03:00
										 |  |  |     entry: { | 
					
						
							|  |  |  |       'frame-runner': './src/client/frame-runner.js', | 
					
						
							| 
									
										
										
										
											2018-11-26 02:17:38 +03:00
										 |  |  |       'sass-compile': './src/client/workers/sass-compile.js', | 
					
						
							|  |  |  |       'test-evaluator': './src/client/workers/test-evaluator.js' | 
					
						
							| 
									
										
										
										
											2018-11-11 16:49:20 +03:00
										 |  |  |     }, | 
					
						
							| 
									
										
										
										
											2018-09-12 11:41:27 +03:00
										 |  |  |     devtool: __DEV__ ? 'inline-source-map' : 'source-map', | 
					
						
							|  |  |  |     output: { | 
					
						
							| 
									
										
										
										
											2019-01-12 03:41:45 +03:00
										 |  |  |       publicPath: '/js/', | 
					
						
							|  |  |  |       chunkFilename: '[name].js', | 
					
						
							| 
									
										
										
										
											2018-09-12 11:41:27 +03:00
										 |  |  |       path: path.join(__dirname, './static/js') | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     stats: { | 
					
						
							|  |  |  |       // Display bailout reasons
 | 
					
						
							|  |  |  |       optimizationBailout: true | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     module: { | 
					
						
							| 
									
										
										
										
											2018-09-30 11:37:19 +01:00
										 |  |  |       rules: [ | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           test: /\.jsx?$/, | 
					
						
							|  |  |  |           include: [path.join(__dirname, 'src/client/')], | 
					
						
							|  |  |  |           use: { | 
					
						
							|  |  |  |             loader: 'babel-loader', | 
					
						
							|  |  |  |             options: { | 
					
						
							|  |  |  |               babelrc: false, | 
					
						
							|  |  |  |               presets: [ | 
					
						
							|  |  |  |                 [ | 
					
						
							|  |  |  |                   '@babel/preset-env', | 
					
						
							|  |  |  |                   { modules: false, targets: '> 0.25%, not dead' } | 
					
						
							|  |  |  |                 ] | 
					
						
							|  |  |  |               ], | 
					
						
							| 
									
										
										
										
											2019-01-12 03:41:45 +03:00
										 |  |  |               plugins: [ | 
					
						
							|  |  |  |                 '@babel/plugin-transform-runtime', | 
					
						
							|  |  |  |                 '@babel/plugin-syntax-dynamic-import' | 
					
						
							|  |  |  |               ] | 
					
						
							| 
									
										
										
										
											2018-09-30 11:37:19 +01:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2018-09-12 11:41:27 +03:00
										 |  |  |           } | 
					
						
							| 
									
										
										
										
											2018-04-06 14:51:52 +01:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2018-09-30 11:37:19 +01:00
										 |  |  |       ] | 
					
						
							| 
									
										
										
										
											2018-12-28 10:49:53 +03:00
										 |  |  |     }, | 
					
						
							| 
									
										
										
										
											2019-01-17 02:49:03 +03:00
										 |  |  |     plugins: [ | 
					
						
							|  |  |  |       new CopyWebpackPlugin([ | 
					
						
							|  |  |  |         { from: 'node_modules/sass.js/dist/sass.sync.js' } | 
					
						
							|  |  |  |       ]) | 
					
						
							|  |  |  |     ] | 
					
						
							| 
									
										
										
										
											2018-09-12 11:41:27 +03:00
										 |  |  |   }; | 
					
						
							| 
									
										
										
										
											2018-04-06 14:51:52 +01:00
										 |  |  | }; |