-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Expand file tree
/
Copy pathbabel-preset.js
More file actions
23 lines (22 loc) · 669 Bytes
/
babel-preset.js
File metadata and controls
23 lines (22 loc) · 669 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const { BABEL_ENV, NODE_ENV } = process.env;
const modules = BABEL_ENV === 'cjs' || NODE_ENV === 'test' ? 'commonjs' : false;
module.exports = () => ({
presets: [
[
'@babel/preset-env',
{
targets: NODE_ENV === 'test' ? { node: 'current' } : undefined,
loose: true,
modules,
},
],
'@babel/preset-react',
'@babel/preset-typescript',
],
plugins: [
'@babel/plugin-transform-flow-strip-types',
['@babel/plugin-proposal-object-rest-spread', { loose: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
modules === 'commonjs' && 'add-module-exports',
].filter(Boolean),
});