forked from WPMedia/engine-theme-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
babel.config.js
62 lines (60 loc) · 1.2 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
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
module.exports = (api) => {
const plugins = [
[
"@babel/plugin-proposal-class-properties",
{
loose: true,
},
],
"@babel/plugin-proposal-optional-chaining",
];
if (api.env("commonjs") || api.env("test")) {
plugins.push([
"@babel/plugin-transform-modules-commonjs",
{
loose: true,
},
]);
}
return {
presets: [
[
"@babel/preset-typescript",
{
isTSX: true,
allExtensions: true,
},
],
"@babel/preset-react",
],
plugins,
env: {
test: {
plugins: [
"babel-plugin-styled-components",
[
"@babel/plugin-proposal-decorators",
{
legacy: true,
},
],
[
"module-resolver",
{
alias: {
"fusion:themes": "./jest/mocks/themes.js",
"fusion:content": "./jest/mocks/content.js",
"fusion:context": "./jest/mocks/context.js",
"fusion:consumer": "./jest/mocks/consumer.js",
"fusion:environment": "./jest/mocks/environment.js",
"fusion:properties": "./jest/mocks/properties.js",
"fusion:static": "./jest/mocks/static.js",
},
},
],
],
},
},
};
};