@@ -25,8 +25,6 @@ module.exports = function create(_api, _opts, env) {
2525 // Set the corejs version we are using to avoid warnings in console
2626 // This will need to change once we upgrade to corejs@3
2727 corejs : 3 ,
28- // Do not transform modules to CJS
29- modules : false ,
3028 // Exclude transforms that make all code slower
3129 exclude : [ 'transform-typeof-symbol' ] ,
3230 targets : '> 0.25%, not dead, not op_mini all' ,
@@ -41,8 +39,6 @@ module.exports = function create(_api, _opts, env) {
4139 // Set the corejs version we are using to avoid warnings in console
4240 // This will need to change once we upgrade to corejs@3
4341 corejs : 3 ,
44- // Do not transform modules to CJS
45- modules : false ,
4642 // Exclude transforms that make all code slower
4743 exclude : [ 'transform-typeof-symbol' ] ,
4844 } ,
@@ -63,23 +59,42 @@ module.exports = function create(_api, _opts, env) {
6359 require ( '@babel/preset-typescript' ) ,
6460 ] . filter ( Boolean ) ,
6561 plugins : [
62+ // 支持可选链操作符,规范见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining
6663 require ( '@babel/plugin-proposal-optional-chaining' ) ,
64+ // 支持空值合并运算符,规范见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
6765 require ( '@babel/plugin-proposal-nullish-coalescing-operator' ) ,
66+ // 优化 styled-components 打包和开发体验
6867 ! isEnvTest && require ( 'babel-plugin-styled-components' ) ,
68+ // babel 支持从 tsconfig.json 文件中读取`paths`,作为自定义的模块路径映射
6969 require ( 'babel-plugin-module-resolver' ) ,
70+ // 支持宏编程
7071 require ( 'babel-plugin-macros' ) ,
7172 require ( 'babel-plugin-annotate-pure-calls' ) ,
7273 require ( 'babel-plugin-dev-expression' ) ,
7374 [ require ( 'babel-plugin-transform-rename-import' ) , { replacements } ] ,
7475 // 添加装饰器语法支持(typescript支持的语法)
7576 [ require ( '@babel/plugin-proposal-decorators' ) . default , false ] ,
76- // 添加类属性语法支持(typescript支持的语法)
77+ // 启用 loose 模式
7778 [
7879 require ( '@babel/plugin-proposal-class-properties' ) . default ,
7980 {
8081 loose : true ,
8182 } ,
8283 ] ,
84+ [
85+ require ( '@babel/plugin-proposal-private-methods' ) . default ,
86+ {
87+ loose : true ,
88+ } ,
89+ ] ,
90+ [
91+ require ( '@babel/plugin-proposal-private-property-in-object' ) . default ,
92+ {
93+ loose : true ,
94+ } ,
95+ ] ,
96+ // 支持数字分隔符,规范:https://github.com/tc39/proposal-numeric-separator
97+ require ( '@babel/plugin-proposal-numeric-separator' ) . default ,
8398 // 添加一些babel、async/await的helpers
8499 [
85100 require ( '@babel/plugin-transform-runtime' ) . default ,
@@ -88,6 +103,7 @@ module.exports = function create(_api, _opts, env) {
88103 helpers : true ,
89104 regenerator : true ,
90105 useESModules : false ,
106+ version : require ( '@babel/runtime/package.json' ) . version ,
91107 } ,
92108 ] ,
93109 // 添加import()语法支持
0 commit comments