@@ -68,6 +68,29 @@ async function handleOpts(opts) {
68
68
69
69
function createBabelOptions ( opts ) {
70
70
opts . presets = opts . presets || [ ] ;
71
+ if ( opts . presetEnv !== false ) {
72
+ opts . presets . push ( [ require . resolve ( 'babel-preset-env' ) , {
73
+ targets : opts . targets || {
74
+ browsers : opts . browsers || [
75
+ 'last 2 versions' ,
76
+ 'IE >= 9'
77
+ ] ,
78
+ uglify : utils . isNull ( opts . uglify ) ? true : opts . uglify
79
+ } ,
80
+ loose : opts . loose !== false ,
81
+ modules : opts . modules || 'commonjs' ,
82
+ useBuiltIns : utils . isNull ( opts . useBuiltIns ) ?
83
+ 'usage' : opts . useBuiltIns
84
+ } ] ) ;
85
+ } else {
86
+ opts . presets . push ( [
87
+ require . resolve ( 'babel-preset-es2015' ) , {
88
+ loose : opts . loose !== false ,
89
+ modules : opts . modules || 'commonjs' ,
90
+ spec : opts . spec || false
91
+ }
92
+ ] ) ;
93
+ }
71
94
if ( opts . react !== false ) {
72
95
opts . presets . push ( require . resolve ( 'babel-preset-react' ) ) ;
73
96
}
@@ -76,21 +99,8 @@ function createBabelOptions(opts) {
76
99
babelrc : true ,
77
100
cacheDirectory : true ,
78
101
presets : [
79
- [ require . resolve ( 'babel-preset-env' ) , {
80
- targets : opts . targets || {
81
- browsers : opts . browsers || [
82
- 'last 2 versions' ,
83
- 'IE >= 9'
84
- ] ,
85
- uglify : utils . isNull ( opts . uglify ) ? true : opts . uglify
86
- } ,
87
- loose : opts . loose !== false ,
88
- modules : opts . modules || 'commonjs' ,
89
- useBuiltIns : utils . isNull ( opts . useBuiltIns ) ?
90
- 'usage' : opts . useBuiltIns
91
- } ] ,
92
- require . resolve ( 'babel-preset-stage-0' ) ,
93
- ...opts . presets
102
+ ...opts . presets ,
103
+ require . resolve ( 'babel-preset-stage-0' )
94
104
] ,
95
105
plugins : [
96
106
require . resolve ( 'babel-plugin-transform-runtime' ) ,
0 commit comments