-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbabel.config.js
More file actions
32 lines (28 loc) · 1019 Bytes
/
Copy pathbabel.config.js
File metadata and controls
32 lines (28 loc) · 1019 Bytes
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
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/
// babelrc doesn't respect NODE_PATH anymore but using require does.
// Alternative to install them locally in node_modules
module.exports = function (api) {
const isTest = api.env("test");
// Common plugins for all environments
const commonPlugins = [require("@babel/plugin-proposal-nullish-coalescing-operator")];
// Test-specific configuration
if (isTest) {
return {
presets: [require("@babel/preset-env"), require("@babel/preset-react"), require("@babel/preset-typescript")],
plugins: [
[require("@babel/plugin-transform-runtime"), { regenerator: true }],
require("@babel/plugin-transform-class-properties"),
require("@babel/plugin-transform-object-rest-spread"),
[require("@babel/plugin-transform-modules-commonjs"), { allowTopLevelThis: true }],
...commonPlugins,
],
};
}
// Build/dev configuration
return {
plugins: commonPlugins,
};
};