sforkowany z mirror/soapbox
				
			
		
			
				
	
	
		
			68 wiersze
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			68 wiersze
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
module.exports = (api) => {
 | 
						|
  const env = api.env();
 | 
						|
 | 
						|
  const envOptions = {
 | 
						|
    debug: false,
 | 
						|
    modules: false,
 | 
						|
    useBuiltIns: 'usage',
 | 
						|
    corejs: '3.15',
 | 
						|
  };
 | 
						|
 | 
						|
  const config = {
 | 
						|
    presets: [
 | 
						|
      '@babel/react',
 | 
						|
      '@babel/typescript',
 | 
						|
      ['@babel/env', envOptions],
 | 
						|
    ],
 | 
						|
    plugins: [
 | 
						|
      '@babel/syntax-dynamic-import',
 | 
						|
      ['@babel/proposal-object-rest-spread', { useBuiltIns: true }],
 | 
						|
      '@babel/proposal-class-properties',
 | 
						|
      ['react-intl', { messagesDir: './build/messages/' }],
 | 
						|
      'preval',
 | 
						|
    ],
 | 
						|
    'sourceType': 'unambiguous',
 | 
						|
  };
 | 
						|
 | 
						|
  switch (env) {
 | 
						|
    case 'production':
 | 
						|
      config.plugins.push(...[
 | 
						|
        'lodash',
 | 
						|
        [
 | 
						|
          'transform-react-remove-prop-types',
 | 
						|
          {
 | 
						|
            mode: 'remove',
 | 
						|
            removeImport: true,
 | 
						|
            additionalLibraries: [
 | 
						|
              'react-immutable-proptypes',
 | 
						|
            ],
 | 
						|
          },
 | 
						|
        ],
 | 
						|
        '@babel/transform-react-inline-elements',
 | 
						|
        [
 | 
						|
          '@babel/transform-runtime',
 | 
						|
          {
 | 
						|
            helpers: true,
 | 
						|
            regenerator: false,
 | 
						|
            useESModules: true,
 | 
						|
          },
 | 
						|
        ],
 | 
						|
      ]);
 | 
						|
      break;
 | 
						|
    case 'development':
 | 
						|
      config.plugins.push(...[
 | 
						|
        '@babel/transform-react-jsx-source',
 | 
						|
        '@babel/transform-react-jsx-self',
 | 
						|
      ]);
 | 
						|
      break;
 | 
						|
    case 'test':
 | 
						|
      config.plugins.push(...[
 | 
						|
        'transform-require-context',
 | 
						|
      ]);
 | 
						|
      envOptions.modules = 'commonjs';
 | 
						|
      break;
 | 
						|
  }
 | 
						|
 | 
						|
  return config;
 | 
						|
};
 |