forked from vovietanh/incognito-chain-wallet-client-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbabel.config.js
51 lines (47 loc) · 1.29 KB
/
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const commonPlugins = [
'@babel/plugin-proposal-optional-catch-binding',
['transform-class-properties', { spec: true }],
'@babel/plugin-proposal-optional-chaining',
'transform-function-bind',
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/plugin-proposal-throw-expressions',
[
'module-resolver',
{
alias: {
'@src': './src',
'@models': './src/models',
'@services': './src/services',
'@utils':'./src/utils',
'@assets':'./src/assets',
'@components': './src/components',
'@screens': './src/screens',
'@routers':'./src/router'
}
}
],
];
const commonPresets = [
'module:metro-react-native-babel-preset',
'@babel/preset-flow',
'module:react-native-dotenv'
];
module.exports = function(api) {
const isDev = api.env('development');
const config = {
presets: [...commonPresets],
plugins: [...commonPlugins],
};
if (!isDev) {
config.plugins = [
...config.plugins,
// minify
['babel-plugin-transform-remove-console', { 'exclude': [ 'debug' ] }],
'babel-plugin-transform-remove-debugger',
'babel-plugin-transform-remove-undefined'
];
}
return config;
};