| 
									
										
										
										
											2021-08-24 10:36:38 +02:00
										 |  |  | const webpack = require('webpack'); | 
					
						
							|  |  |  | const path = require('path'); | 
					
						
							|  |  |  | const packageJson = require('./package.json'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const nodeModules = []; | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |   ...Object.keys(packageJson.dependencies), | 
					
						
							|  |  |  |   ...Object.keys(packageJson.peerDependencies), | 
					
						
							|  |  |  |   ...Object.keys(packageJson.devDependencies), | 
					
						
							|  |  |  | ].forEach(module => { | 
					
						
							|  |  |  |   nodeModules.push(new RegExp(`^${module}(/.+)?$`)); | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = { | 
					
						
							|  |  |  |   entry: `${__dirname}/lib/src/index.js`, | 
					
						
							|  |  |  |   externals: nodeModules, | 
					
						
							| 
									
										
										
										
											2021-09-07 14:50:34 +02:00
										 |  |  |   mode: process.env.NODE_ENV, | 
					
						
							| 
									
										
										
										
											2022-07-19 14:26:39 +02:00
										 |  |  |   devtool: process.env.NODE_ENV === 'production' ? false : 'eval-source-map', | 
					
						
							| 
									
										
										
										
											2021-08-24 10:36:38 +02:00
										 |  |  |   output: { | 
					
						
							|  |  |  |     path: `${__dirname}/build`, | 
					
						
							| 
									
										
										
										
											2021-09-07 14:50:34 +02:00
										 |  |  |     filename: `helper-plugin.${process.env.NODE_ENV}.js`, | 
					
						
							| 
									
										
										
										
											2021-08-24 10:36:38 +02:00
										 |  |  |     library: { | 
					
						
							|  |  |  |       name: 'helperPlugin', | 
					
						
							|  |  |  |       type: 'umd', | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     umdNamedDefine: true, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   module: { | 
					
						
							|  |  |  |     rules: [ | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         test: /\.js$/, | 
					
						
							|  |  |  |         include: path.resolve(__dirname, 'lib', 'src'), | 
					
						
							|  |  |  |         loader: 'babel-loader', | 
					
						
							|  |  |  |         exclude: /(node_modules)/, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         test: /\.(png|svg|jpg|gif)$/, | 
					
						
							| 
									
										
										
										
											2021-12-14 11:46:47 +01:00
										 |  |  |         type: 'asset', | 
					
						
							|  |  |  |         parser: { | 
					
						
							|  |  |  |           dataUrlCondition: { | 
					
						
							|  |  |  |             maxSize: 8192, | 
					
						
							|  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2021-08-24 10:36:38 +02:00
										 |  |  |         }, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   resolve: { | 
					
						
							|  |  |  |     extensions: ['*', '.js'], | 
					
						
							|  |  |  |     cacheWithContext: false, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   plugins: [ | 
					
						
							|  |  |  |     new webpack.EnvironmentPlugin({ | 
					
						
							|  |  |  |       NODE_ENV: 'production', | 
					
						
							|  |  |  |     }), | 
					
						
							|  |  |  |   ], | 
					
						
							|  |  |  | }; |