-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbabel.config.js
75 lines (72 loc) · 2.33 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const { resolve } = require('path');
const ROOT_PATH = resolve(__dirname, 'src/scripts');
module.exports = function (api) {
const development = api.env('development');
const loose = true;
const legacy = true;
return {
presets: [
[
'@babel/preset-env',
{
loose: true,
modules: 'commonjs',
shippedProposals: true,
forceAllTransforms: true,
exclude: [
'transform-typeof-symbol',
'transform-regenerator',
'transform-async-to-generator',
'@babel/plugin-transform-regenerator',
'@babel/plugin-transform-async-to-generator',
],
targets: {
node: 'current',
},
},
],
['@babel/preset-typescript'],
],
plugins: [
[
'module-resolver',
{
root: [ROOT_PATH],
alias: {
'@libs': resolve(ROOT_PATH, 'libs'),
'@hooks': resolve(ROOT_PATH, 'hooks'),
'@utils': resolve(ROOT_PATH, 'utils'),
'@tools': resolve(ROOT_PATH, 'tools'),
'@types': resolve(ROOT_PATH, 'types'),
'@stores': resolve(ROOT_PATH, 'stores'),
'@configs': resolve(ROOT_PATH, 'configs'),
'@helpers': resolve(ROOT_PATH, 'helpers'),
'@services': resolve(ROOT_PATH, 'services'),
'@settings': resolve(ROOT_PATH, 'settings'),
'@constants': resolve(ROOT_PATH, 'constants'),
'@components': resolve(ROOT_PATH, 'components'),
},
},
],
['@babel/plugin-transform-runtime'],
['@babel/plugin-transform-async-to-generator'],
['@babel/plugin-transform-spread', { loose }],
['@babel/plugin-proposal-decorators', { legacy }],
['@babel/plugin-proposal-class-properties', { loose }],
['@babel/plugin-proposal-nullish-coalescing-operator'],
['@babel/plugin-proposal-optional-chaining', { loose }],
['@babel/plugin-transform-template-literals', { loose }],
['@babel/plugin-transform-object-assign'],
['@babel/plugin-transform-arrow-functions'],
['@babel/plugin-transform-typescript'],
[
'@babel/plugin-proposal-object-rest-spread',
{
useBuiltIns: 'usage',
loose: true,
},
],
],
comments: development,
};
};