2020-03-27 19:35:00 -05:00
|
|
|
module.exports = (api) => {
|
|
|
|
const env = api.env();
|
|
|
|
|
|
|
|
const envOptions = {
|
|
|
|
debug: false,
|
|
|
|
modules: false,
|
2021-07-09 20:47:35 -05:00
|
|
|
useBuiltIns: 'usage',
|
2023-01-23 15:22:10 -06:00
|
|
|
corejs: '3.27',
|
2020-03-27 19:35:00 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
const config = {
|
|
|
|
presets: [
|
|
|
|
'@babel/react',
|
2022-02-27 00:13:35 +00:00
|
|
|
'@babel/typescript',
|
2020-03-27 19:35:00 -05:00
|
|
|
['@babel/env', envOptions],
|
|
|
|
],
|
|
|
|
plugins: [
|
2023-10-11 14:33:53 -05:00
|
|
|
'formatjs',
|
2020-03-27 19:35:00 -05:00
|
|
|
'preval',
|
|
|
|
],
|
2020-05-17 18:14:52 -05:00
|
|
|
'sourceType': 'unambiguous',
|
2020-03-27 19:35:00 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
switch (env) {
|
2022-05-11 16:06:35 -05:00
|
|
|
case 'production':
|
|
|
|
config.plugins.push(...[
|
|
|
|
'@babel/transform-react-inline-elements',
|
|
|
|
[
|
|
|
|
'@babel/transform-runtime',
|
|
|
|
{
|
|
|
|
helpers: true,
|
|
|
|
regenerator: false,
|
|
|
|
useESModules: true,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
]);
|
|
|
|
break;
|
|
|
|
case 'test':
|
|
|
|
config.plugins.push(...[
|
|
|
|
'transform-require-context',
|
|
|
|
]);
|
|
|
|
envOptions.modules = 'commonjs';
|
|
|
|
break;
|
2020-03-27 19:35:00 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
return config;
|
|
|
|
};
|