0
0
Fork 0

Improve Babel configuration and automatically load polyfills (#27333)

This commit is contained in:
Renaud Chaput 2023-10-31 11:55:13 +01:00 committed by GitHub
parent 9c8891b39a
commit 0e3401bc1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 30 additions and 126 deletions

View file

@ -7,8 +7,8 @@ module.exports = (api) => {
};
const envOptions = {
loose: true,
modules: false,
useBuiltIns: "usage",
corejs: { version: "3.30" },
debug: false,
include: [
'transform-numeric-separator',
@ -18,29 +18,14 @@ module.exports = (api) => {
],
};
const config = {
presets: [
'@babel/preset-typescript',
['@babel/react', reactOptions],
['@babel/env', envOptions],
],
plugins: [
['formatjs'],
'preval',
],
overrides: [
{
test: /tesseract\.js/,
presets: [
['@babel/env', { ...envOptions, modules: 'commonjs' }],
],
},
],
};
const plugins = [
['formatjs'],
'preval',
];
switch (env) {
case 'production':
config.plugins.push(...[
plugins.push(...[
'lodash',
[
'transform-react-remove-prop-types',
@ -63,14 +48,29 @@ module.exports = (api) => {
],
]);
break;
case 'development':
reactOptions.development = true;
envOptions.debug = true;
break;
case 'test':
envOptions.modules = 'commonjs';
break;
}
const config = {
presets: [
'@babel/preset-typescript',
['@babel/react', reactOptions],
['@babel/env', envOptions],
],
plugins,
overrides: [
{
test: /tesseract\.js/,
presets: [
['@babel/env', { ...envOptions, modules: 'commonjs' }],
],
},
],
};
return config;
};