forked from jestjs/jest
-
Notifications
You must be signed in to change notification settings - Fork 1
/
babel.config.js
56 lines (53 loc) · 1.57 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
/**
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const semver = require('semver');
const pkg = require('./package.json');
const supportedNodeVersion = semver.minVersion(pkg.engines.node).version;
module.exports = {
babelrcRoots: ['examples/*'],
// we don't wanna run the transforms in this file over react native
exclude: /react-native/,
overrides: [
{
plugins: [
'babel-plugin-replace-ts-export-assignment',
require.resolve(
'./scripts/babel-plugin-jest-replace-ts-require-assignment.js',
),
],
presets: [
[
'@babel/preset-typescript',
{
// will be the default in Babel 8, so let's just turn it on now
allowDeclareFields: true,
// will be default in the future, but we don't want to use it
allowNamespaces: false,
},
],
],
test: /\.tsx?$/,
},
],
plugins: [
['@babel/plugin-transform-modules-commonjs', {allowTopLevelThis: true}],
'@babel/plugin-proposal-class-properties',
require.resolve('./scripts/babel-plugin-jest-require-outside-vm'),
],
presets: [
[
'@babel/preset-env',
{
bugfixes: true,
// a runtime error is preferable, and we need a real `import`
exclude: ['@babel/plugin-proposal-dynamic-import'],
shippedProposals: true,
targets: {node: supportedNodeVersion},
},
],
],
};