generated from Nexusoft/react_redux_module_template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbabel.config.js
34 lines (29 loc) · 955 Bytes
/
babel.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const browserslistQuery = require('nexus-module').browserslistQuery;
const reactOptimizePreset = [
'@babel/plugin-transform-react-constant-elements',
'@babel/plugin-transform-react-inline-elements',
'babel-plugin-transform-react-remove-prop-types',
'babel-plugin-transform-react-pure-class-to-function',
];
const devPlugins = [];
const prodPlugins = ['babel-plugin-dev-expression', ...reactOptimizePreset];
module.exports = function (api) {
const development = process.env.NODE_ENV !== 'production';
api.cache(true);
return {
presets: [
['@babel/preset-env', { targets: browserslistQuery }],
['@babel/preset-react', { development, runtime: 'automatic' }],
],
plugins: [
[
'babel-plugin-module-resolver',
{
root: ['./src/'],
},
],
['@babel/plugin-proposal-optional-chaining', { loose: false }],
...(development ? devPlugins : prodPlugins),
],
};
};