Upgrade Babel to version 7.0.0 (#5925)
parent
64a5561b5a
commit
0ddbccf7e6
@ -1,66 +0,0 @@ |
||||
{ |
||||
"presets": [ |
||||
"react", |
||||
[ |
||||
"env", |
||||
{ |
||||
"exclude": ["transform-async-to-generator", "transform-regenerator"], |
||||
"loose": true, |
||||
"modules": false, |
||||
"targets": { |
||||
"browsers": ["last 2 versions", "IE >= 11", "iOS >= 9"] |
||||
} |
||||
} |
||||
] |
||||
], |
||||
"plugins": [ |
||||
"syntax-dynamic-import", |
||||
["transform-object-rest-spread", { "useBuiltIns": true }], |
||||
"transform-decorators-legacy", |
||||
"transform-class-properties", |
||||
[ |
||||
"react-intl", |
||||
{ |
||||
"messagesDir": "./build/messages" |
||||
} |
||||
], |
||||
"preval" |
||||
], |
||||
"env": { |
||||
"development": { |
||||
"plugins": [ |
||||
"transform-react-jsx-source", |
||||
"transform-react-jsx-self" |
||||
] |
||||
}, |
||||
"production": { |
||||
"plugins": [ |
||||
"lodash", |
||||
[ |
||||
"transform-react-remove-prop-types", |
||||
{ |
||||
"mode": "remove", |
||||
"removeImport": true, |
||||
"additionalLibraries": [ |
||||
"react-immutable-proptypes" |
||||
] |
||||
} |
||||
], |
||||
"transform-react-inline-elements", |
||||
[ |
||||
"transform-runtime", |
||||
{ |
||||
"helpers": true, |
||||
"polyfill": false, |
||||
"regenerator": false |
||||
} |
||||
] |
||||
] |
||||
}, |
||||
"test": { |
||||
"plugins": [ |
||||
"transform-es2015-modules-commonjs" |
||||
] |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,65 @@ |
||||
module.exports = (api) => { |
||||
const env = api.env(); |
||||
|
||||
const envOptions = { |
||||
debug: false, |
||||
loose: true, |
||||
modules: false, |
||||
}; |
||||
|
||||
const config = { |
||||
presets: [ |
||||
'@babel/react', |
||||
['@babel/env', envOptions], |
||||
], |
||||
plugins: [ |
||||
'@babel/syntax-dynamic-import', |
||||
['@babel/proposal-object-rest-spread', { useBuiltIns: true }], |
||||
['@babel/proposal-decorators', { legacy: true }], |
||||
'@babel/proposal-class-properties', |
||||
['react-intl', { messagesDir: './build/messages' }], |
||||
'preval', |
||||
], |
||||
}; |
||||
|
||||
switch (env) { |
||||
case 'production': |
||||
envOptions.debug = false; |
||||
config.plugins.push(...[ |
||||
'lodash', |
||||
[ |
||||
'transform-react-remove-prop-types', |
||||
{ |
||||
mode: 'remove', |
||||
removeImport: true, |
||||
additionalLibraries: [ |
||||
'react-immutable-proptypes', |
||||
], |
||||
}, |
||||
], |
||||
'@babel/transform-react-inline-elements', |
||||
[ |
||||
'@babel/transform-runtime', |
||||
{ |
||||
helpers: true, |
||||
regenerator: false, |
||||
useESModules: true, |
||||
}, |
||||
], |
||||
]); |
||||
break; |
||||
case 'development': |
||||
envOptions.debug = true; |
||||
config.plugins.push(...[ |
||||
'@babel/transform-react-jsx-source', |
||||
'@babel/transform-react-jsx-self', |
||||
]); |
||||
break; |
||||
case 'test': |
||||
envOptions.modules = 'commonjs'; |
||||
break; |
||||
} |
||||
|
||||
return config; |
||||
}; |
||||
|
Loading…
Reference in new issue