forked from pubkey/rxdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
babel.config.js
91 lines (85 loc) · 2.44 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const plugins = [
'@babel/plugin-transform-typescript',
'transform-class-properties',
['@babel/transform-template-literals', {
'loose': true
}],
'@babel/transform-literals',
'@babel/transform-function-name',
'@babel/transform-arrow-functions',
'@babel/transform-block-scoped-functions',
['@babel/plugin-transform-classes', {
'loose': true
}],
'@babel/transform-object-super',
'@babel/transform-shorthand-properties',
['@babel/transform-computed-properties', {
'loose': true
}],
['@babel/transform-for-of', {
'loose': true
}],
'@babel/transform-sticky-regex',
'@babel/transform-unicode-regex',
['@babel/transform-spread', {
'loose': true
}],
'@babel/transform-parameters', ['@babel/transform-destructuring', {
'loose': true
}],
'@babel/transform-block-scoping',
'@babel/plugin-transform-member-expression-literals',
'@babel/transform-property-literals',
/**
* Transpile async/await to promises instead of generators.
* This has shown to be 10% smaller build size and also be a bit faster.
*
*/
['babel-plugin-transform-async-to-promises', {
/**
* TODO use externalHelpers instead of inlineHelpers,
* but we have to wait for this bug to be fixed:
* @link https://github.com/rpetrich/babel-plugin-transform-async-to-promises/issues/62
* @link https://github.com/rpetrich/babel-plugin-transform-async-to-promises/issues/78
*/
externalHelpers: false,
inlineHelpers: true
}],
['@babel/transform-runtime', {
'regenerator': true
}],
'@babel/proposal-class-properties',
'@babel/proposal-object-rest-spread'
];
let presets = [
[
'@babel/typescript',
{
loose: true,
modules: false
}
]
];
// console.log('babel: NODE_ENV: ' + process.env['NODE_ENV']);
if (process.env['NODE_ENV'] === 'es5') {
presets = [
[
'@babel/typescript',
{
loose: true,
targets: {
edge: '17',
firefox: '60',
chrome: '67',
safari: '11.1',
ie: '11'
},
useBuiltIns: false
}]
];
plugins.unshift('@babel/plugin-transform-modules-commonjs');
}
module.exports = {
presets,
plugins
};