From 2891168a0faac4ffc947a0ff94eaac71036553af Mon Sep 17 00:00:00 2001
From: tangjinzhou <415800467@qq.com>
Date: Fri, 14 Aug 2020 22:58:13 +0800
Subject: [PATCH] chore: update webpack config

---
 antd-tools/getBabelCommonConfig.js | 18 ++++++++++++------
 antd-tools/getWebpackConfig.js     | 14 +++++++-------
 package.json                       |  3 ++-
 webpack.build.conf.js              |  3 +--
 4 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/antd-tools/getBabelCommonConfig.js b/antd-tools/getBabelCommonConfig.js
index dd17871a5..cd6b14caa 100644
--- a/antd-tools/getBabelCommonConfig.js
+++ b/antd-tools/getBabelCommonConfig.js
@@ -3,14 +3,20 @@
 module.exports = function(modules) {
   const plugins = [
     require.resolve('@ant-design-vue/babel-plugin-jsx'),
-    require.resolve('babel-plugin-inline-import-data-uri'),
-    require.resolve('@babel/plugin-transform-member-expression-literals'),
-    require.resolve('@babel/plugin-transform-property-literals'),
-    require.resolve('@babel/plugin-proposal-export-default-from'),
+    require.resolve('@babel/plugin-proposal-optional-chaining'),
     require.resolve('@babel/plugin-transform-object-assign'),
-    require.resolve('@babel/plugin-transform-template-literals'),
     require.resolve('@babel/plugin-proposal-object-rest-spread'),
+    require.resolve('@babel/plugin-proposal-export-default-from'),
     require.resolve('@babel/plugin-proposal-class-properties'),
+    require.resolve('@babel/plugin-syntax-dynamic-import'),
+    // require.resolve('babel-plugin-inline-import-data-uri'),
+    // require.resolve('@babel/plugin-transform-member-expression-literals'),
+    // require.resolve('@babel/plugin-transform-property-literals'),
+    // require.resolve('@babel/plugin-proposal-export-default-from'),
+    // require.resolve('@babel/plugin-transform-object-assign'),
+    // require.resolve('@babel/plugin-transform-template-literals'),
+    // require.resolve('@babel/plugin-proposal-object-rest-spread'),
+    // require.resolve('@babel/plugin-proposal-class-properties'),
   ];
   plugins.push([
     require.resolve('@babel/plugin-transform-runtime'),
@@ -29,7 +35,7 @@ module.exports = function(modules) {
               'last 2 versions',
               'Firefox ESR',
               '> 1%',
-              'ie >= 9',
+              'ie >= 11',
               'iOS >= 8',
               'Android >= 4',
             ],
diff --git a/antd-tools/getWebpackConfig.js b/antd-tools/getWebpackConfig.js
index b2f133d32..4efa0822a 100644
--- a/antd-tools/getWebpackConfig.js
+++ b/antd-tools/getWebpackConfig.js
@@ -8,6 +8,7 @@ const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
 const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
 const postcssConfig = require('./postcssConfig');
 const CleanUpStatsPlugin = require('./utils/CleanUpStatsPlugin');
+// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
 
 const distFileBaseName = 'antd';
 
@@ -25,13 +26,11 @@ function getWebpackConfig(modules) {
   const pkg = require(path.join(process.cwd(), 'package.json'));
   const babelConfig = require('./getBabelCommonConfig')(modules || false);
 
-  const pluginImportOptions = [
-    {
-      style: true,
-      libraryName: distFileBaseName,
-      libraryDirectory: 'components',
-    },
-  ];
+  const pluginImportOptions = {
+    style: true,
+    libraryName: distFileBaseName,
+    libraryDirectory: 'components',
+  };
   babelConfig.plugins.push([require.resolve('babel-plugin-import'), pluginImportOptions]);
 
   if (modules === false) {
@@ -157,6 +156,7 @@ function getWebpackConfig(modules) {
     },
 
     plugins: [
+      // new BundleAnalyzerPlugin(),
       new CaseSensitivePathsPlugin(),
       new webpack.BannerPlugin(`
 ${pkg.name} v${pkg.version}
diff --git a/package.json b/package.json
index 382d9e689..16ad36341 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "ant-design-vue",
-  "version": "1.6.4",
+  "version": "2.0.0-beta.2",
   "title": "Ant Design Vue",
   "description": "An enterprise-class UI design language and Vue-based implementation",
   "keywords": [
@@ -176,6 +176,7 @@
     "vue-virtual-scroller": "^1.0.0",
     "vuex": "^4.0.0-beta.2",
     "webpack": "^4.28.4",
+    "webpack-bundle-analyzer": "^3.8.0",
     "webpack-cli": "^3.2.1",
     "webpack-dev-server": "^3.1.14",
     "webpack-merge": "^4.1.1",
diff --git a/webpack.build.conf.js b/webpack.build.conf.js
index 27c2357dd..0a46bdef6 100644
--- a/webpack.build.conf.js
+++ b/webpack.build.conf.js
@@ -1,7 +1,6 @@
 // This config is for building dist files
-const webpack = require('webpack');
 const getWebpackConfig = require('./antd-tools/getWebpackConfig');
-
+const { webpack } = getWebpackConfig;
 // noParse still leave `require('./locale' + name)` in dist files
 // ignore is better
 // http://stackoverflow.com/q/25384360