forked from serlo/serlo.org-legacy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
babel.config.js
41 lines (38 loc) · 1.23 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
module.exports = api => {
const isProduction = () => process.env.NODE_ENV === 'production'
api.cache(isProduction)
const presets = [
'@babel/preset-env',
'@babel/preset-typescript',
'@babel/preset-react'
]
const plugins = [
'@babel/plugin-transform-runtime',
'@babel/plugin-proposal-function-sent',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-proposal-numeric-separator',
'@babel/plugin-proposal-throw-expressions',
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-syntax-import-meta',
['@babel/plugin-proposal-class-properties', { loose: false }],
'@babel/plugin-proposal-json-strings',
...(api.env(['development', 'test'])
? [
[
'babel-plugin-module-resolver',
{
alias: {
'@serlo/editor-helpers': '@serlo/editor-helpers/src',
'@serlo/edtr-io': '@serlo/edtr-io/src',
'@serlo/legacy-editor-to-editor':
'@serlo/legacy-editor-to-editor/src',
'@serlo/markdown': '@serlo/markdown/src',
'@serlo/mathjax': '@serlo/mathjax/src'
}
}
]
]
: [])
]
return { plugins, presets }
}