From 6bbe7c9ba3d23578d8f0593beb9dc52d008cf237 Mon Sep 17 00:00:00 2001
From: xiaoiver <yuqi.pyq@antfin.com>
Date: Mon, 2 Dec 2019 15:19:19 +0800
Subject: [PATCH] build(babel): transpile according to browserslist, add
 `core-js` (#113)

fix #112
---
 babel.config.js |  6 +-----
 package.json    |  5 +++++
 yarn.lock       | 15 ++++++---------
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/babel.config.js b/babel.config.js
index 3d7893aa9b..cae969d36f 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -42,10 +42,7 @@ module.exports = api => {
       [
         '@babel/env',
         {
-          targets: {
-            browsers: 'Last 2 Chrome versions, Firefox ESR',
-            node: 'current'
-          },
+          useBuiltIns: isCDNBundle ? 'usage' : false,
           // set `modules: false` when building CDN bundle, let rollup do commonjs works
           // @see https://github.com/rollup/rollup-plugin-babel#modules
           modules: (isCDNBundle || isESModule) ? false : 'auto'
@@ -80,7 +77,6 @@ module.exports = api => {
       // let rollup do commonjs works
       // @see https://github.com/rollup/rollup-plugin-babel#modules
       (isCDNBundle || isESModule) ? {} : '@babel/plugin-transform-modules-commonjs',
-      // '@babel/plugin-transform-modules-commonjs',
       // 开发模式下以原始文本引入,便于调试
       isCDNBundle ? {} : [
         // import glsl as raw text
diff --git a/package.json b/package.json
index eaf5f9966b..3a924ac8c4 100644
--- a/package.json
+++ b/package.json
@@ -50,6 +50,7 @@
     "clean-webpack-plugin": "^0.1.19",
     "commitizen": "^4.0.3",
     "copy-webpack-plugin": "^4.5.2",
+    "core-js": "3",
     "coveralls": "^3.0.7",
     "cross-env": "^6.0.3",
     "css-loader": "^3.2.0",
@@ -159,6 +160,10 @@
       "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
     }
   },
+  "browserslist": [
+    "last 2 version",
+    "Firefox ESR"
+  ],
   "config": {
     "commitizen": {
       "path": "cz-conventional-changelog"
diff --git a/yarn.lock b/yarn.lock
index f2d9da05b4..51360f860f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -613,15 +613,7 @@
     "@babel/helper-plugin-utils" "^7.0.0"
     "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
 
-"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.2", "@babel/plugin-proposal-object-rest-spread@^7.5.5":
-  version "7.7.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71"
-  integrity sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.0.0"
-    "@babel/plugin-syntax-object-rest-spread" "^7.7.4"
-
-"@babel/plugin-proposal-object-rest-spread@^7.7.4":
+"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.2", "@babel/plugin-proposal-object-rest-spread@^7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.7.4":
   version "7.7.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71"
   integrity sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==
@@ -7504,6 +7496,11 @@ core-js-pure@^3.0.1:
   resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.4.2.tgz#ffd4ea4dc1f8517f75d4a929986a214629477417"
   integrity sha512-6+iSif/3zO0bSkhjVY9o4MTdv36X+rO6rqs/UxQ+uxBevmC4fsfwyQwFVdZXXONmLlKVLiXCG8PDvQ2Gn/iteA==
 
+core-js@3:
+  version "3.4.5"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.4.5.tgz#3dda65611d95699b5eb7742ea451ea052d37aa65"
+  integrity sha512-OuvejWH6vIaUo59Ndlh89purNm4DCIy/v3QoYlcGnn+PkYI8BhNHfCuAESrWX+ZPfq9JccVJ+XXgOMy77PJexg==
+
 core-js@^1.0.0:
   version "1.2.7"
   resolved "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"