43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // eslint-disable-next-line no-process-env
 | |
| const mode = process.env.WEBPACK_SERVE ? 'development' : 'production';
 | |
| 
 | |
| const config = {
 | |
|   presets: [
 | |
|     ['@babel/preset-env', {
 | |
|       targets: "> 0.25%, not dead",
 | |
|       modules: false,
 | |
|       useBuiltIns: "entry",
 | |
|       corejs: "3.32",
 | |
|       debug: false,
 | |
|       // useBuiltIns: 'usage',
 | |
|       shippedProposals: true,
 | |
|     }],
 | |
|     ['@babel/preset-react', {
 | |
|       useBuiltIns: true,
 | |
|     }],
 | |
|     ['@babel/typescript', {
 | |
|       allExtensions: true,
 | |
|       isTSX: true,
 | |
|     }],
 | |
|   ],
 | |
|   plugins: [
 | |
|     '@babel/plugin-proposal-class-properties',
 | |
|     '@babel/plugin-syntax-dynamic-import',
 | |
|     '@babel/proposal-object-rest-spread',
 | |
|     '@babel/plugin-proposal-optional-chaining',
 | |
|     'babel-plugin-typescript-to-proptypes',
 | |
|     mode !== 'production' && require.resolve('react-refresh/babel'),
 | |
|   ].filter(Boolean),
 | |
| };
 | |
| 
 | |
| // Jest needs module transformation
 | |
| config.env = {
 | |
|   test: {
 | |
|     presets: config.presets,
 | |
|     plugins: config.plugins,
 | |
|   },
 | |
| };
 | |
| config.env.test.presets[0][1].modules = 'auto';
 | |
| 
 | |
| module.exports = config;
 |