@@ -16,21 +16,30 @@ const plugins = [
16
16
// The following two plugins use Object.assign directly, instead of Babel's
17
17
// extends helper. Note that this assumes `Object.assign` is available.
18
18
// { ...todo, completed: true }
19
- [ require . resolve ( 'babel-plugin-transform-object-rest-spread' ) , {
20
- useBuiltIns : true
21
- } ] ,
19
+ [
20
+ require . resolve ( 'babel-plugin-transform-object-rest-spread' ) ,
21
+ {
22
+ useBuiltIns : true ,
23
+ } ,
24
+ ] ,
22
25
// Transforms JSX
23
- [ require . resolve ( 'babel-plugin-transform-react-jsx' ) , {
24
- useBuiltIns : true
25
- } ] ,
26
+ [
27
+ require . resolve ( 'babel-plugin-transform-react-jsx' ) ,
28
+ {
29
+ useBuiltIns : true ,
30
+ } ,
31
+ ] ,
26
32
// Polyfills the runtime needed for async/await and generators
27
- [ require . resolve ( 'babel-plugin-transform-runtime' ) , {
28
- helpers : false ,
29
- polyfill : false ,
30
- regenerator : true ,
31
- // Resolve the Babel runtime relative to the config.
32
- moduleName : path . dirname ( require . resolve ( 'babel-runtime/package' ) )
33
- } ]
33
+ [
34
+ require . resolve ( 'babel-plugin-transform-runtime' ) ,
35
+ {
36
+ helpers : false ,
37
+ polyfill : false ,
38
+ regenerator : true ,
39
+ // Resolve the Babel runtime relative to the config.
40
+ moduleName : path . dirname ( require . resolve ( 'babel-runtime/package' ) ) ,
41
+ } ,
42
+ ] ,
34
43
] ;
35
44
36
45
// This is similar to how `env` works in Babel:
@@ -42,9 +51,11 @@ const plugins = [
42
51
var env = process . env . BABEL_ENV || process . env . NODE_ENV ;
43
52
if ( env !== 'development' && env !== 'test' && env !== 'production' ) {
44
53
throw new Error (
45
- 'Using `babel-preset-react-app` requires that you specify `NODE_ENV` or ' +
46
- '`BABEL_ENV` environment variables. Valid values are "development", ' +
47
- '"test", and "production". Instead, received: ' + JSON . stringify ( env ) + '.'
54
+ 'Using `babel-preset-react-app` requires that you specify `NODE_ENV` or ' +
55
+ '`BABEL_ENV` environment variables. Valid values are "development", ' +
56
+ '"test", and "production". Instead, received: ' +
57
+ JSON . stringify ( env ) +
58
+ '.'
48
59
) ;
49
60
}
50
61
@@ -59,54 +70,63 @@ if (env === 'development' || env === 'test') {
59
70
// Adds component stack to warning messages
60
71
require . resolve ( 'babel-plugin-transform-react-jsx-source' ) ,
61
72
// Adds __self attribute to JSX which React will use for some warnings
62
- require . resolve ( 'babel-plugin-transform-react-jsx-self' )
73
+ require . resolve ( 'babel-plugin-transform-react-jsx-self' ) ,
63
74
] ) ;
64
75
}
65
76
66
77
if ( env === 'test' ) {
67
78
module . exports = {
68
79
presets : [
69
80
// ES features necessary for user's Node version
70
- [ require ( 'babel-preset-env' ) . default , {
71
- targets : {
72
- node : 'current' ,
81
+ [
82
+ require ( 'babel-preset-env' ) . default ,
83
+ {
84
+ targets : {
85
+ node : 'current' ,
86
+ } ,
73
87
} ,
74
- } ] ,
88
+ ] ,
75
89
// JSX, Flow
76
- require . resolve ( 'babel-preset-react' )
90
+ require . resolve ( 'babel-preset-react' ) ,
77
91
] ,
78
92
plugins : plugins . concat ( [
79
93
// Compiles import() to a deferred require()
80
- require . resolve ( 'babel-plugin-dynamic-import-node' )
81
- ] )
94
+ require . resolve ( 'babel-plugin-dynamic-import-node' ) ,
95
+ ] ) ,
82
96
} ;
83
97
} else {
84
98
module . exports = {
85
99
presets : [
86
100
// Latest stable ECMAScript features
87
- [ require . resolve ( 'babel-preset-env' ) , {
88
- targets : {
89
- // React parses on ie 9, so we should too
90
- ie : 9 ,
91
- // We currently minify with uglify
92
- // Remove after https://github.com/mishoo/UglifyJS2/issues/448
93
- uglify : true
101
+ [
102
+ require . resolve ( 'babel-preset-env' ) ,
103
+ {
104
+ targets : {
105
+ // React parses on ie 9, so we should too
106
+ ie : 9 ,
107
+ // We currently minify with uglify
108
+ // Remove after https://github.com/mishoo/UglifyJS2/issues/448
109
+ uglify : true ,
110
+ } ,
111
+ // Disable polyfill transforms
112
+ useBuiltIns : false ,
94
113
} ,
95
- // Disable polyfill transforms
96
- useBuiltIns : false
97
- } ] ,
114
+ ] ,
98
115
// JSX, Flow
99
- require . resolve ( 'babel-preset-react' )
116
+ require . resolve ( 'babel-preset-react' ) ,
100
117
] ,
101
118
plugins : plugins . concat ( [
102
119
// function* () { yield 42; yield 43; }
103
- [ require . resolve ( 'babel-plugin-transform-regenerator' ) , {
104
- // Async functions are converted to generators by babel-preset-latest
105
- async : false
106
- } ] ,
120
+ [
121
+ require . resolve ( 'babel-plugin-transform-regenerator' ) ,
122
+ {
123
+ // Async functions are converted to generators by babel-preset-latest
124
+ async : false ,
125
+ } ,
126
+ ] ,
107
127
// Adds syntax support for import()
108
128
require . resolve ( 'babel-plugin-syntax-dynamic-import' ) ,
109
- ] )
129
+ ] ) ,
110
130
} ;
111
131
112
132
if ( env === 'production' ) {
0 commit comments