This is an automated email from the ASF dual-hosted git repository.

shenyi pushed a commit to branch next-npm-env
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git


The following commit(s) were added to refs/heads/next-npm-env by this push:
     new 1341f20  chore: fix release command.
1341f20 is described below

commit 1341f20cc86fcc74a8c0f478e85a8a2f10f094e2
Author: pissang <[email protected]>
AuthorDate: Mon Jul 27 22:27:36 2020 +0800

    chore: fix release command.
---
 build/build.js    |  54 +++++++++++--------
 build/config.js   |  49 ++++--------------
 echarts.common.ts |   2 +-
 package-lock.json | 151 ++----------------------------------------------------
 package.json      |   2 +-
 5 files changed, 49 insertions(+), 209 deletions(-)

diff --git a/build/build.js b/build/build.js
index 75254f2..509be95 100755
--- a/build/build.js
+++ b/build/build.js
@@ -29,7 +29,8 @@ const rollup = require('rollup');
 const ecLangPlugin = require('./ec-lang-rollup-plugin');
 const prePublish = require('./pre-publish');
 const recheckDEV = require('./remove-dev').recheckDEV;
-const assert = require('assert');
+const UglifyJS = require("uglify-js");
+const preamble = require('./preamble');
 
 
 async function run() {
@@ -162,37 +163,28 @@ async function run() {
     }
     else if (isRelease) {
         let configs = [];
-        let configForCheck;
 
         [
-            {min: false},
-            {min: true},
-            {min: false, lang: 'en'},
-            {min: true, lang: 'en'}
+            {},
+            {lang: 'en'},
+            {lang: 'en'}
         ].forEach(function (opt) {
-
             ['', 'simple', 'common'].forEach(function (type) {
-                let singleOpt = Object.assign({type}, opt);
+                let singleOpt = Object.assign({type, clean: true}, opt);
                 normalizeParams(singleOpt);
                 let singleConfig = config.createECharts(singleOpt);
                 configs.push(singleConfig);
-
-                if (singleOpt.min && singleOpt.type === '') {
-                    configForCheck = singleConfig;
-                }
             });
         });
 
         configs.push(
-            config.createBMap(false),
-            config.createBMap(true),
-            config.createDataTool(false),
-            config.createDataTool(true)
+            config.createBMap(),
+            config.createDataTool()
         );
 
         await build(configs);
 
-        checkBundleCode(configForCheck);
+        checkBundleCode();
 
         await prePublish();
     }
@@ -215,11 +207,12 @@ function normalizeParams(opt) {
     }
 }
 
-function checkBundleCode(singleConfig) {
+function checkBundleCode() {
+    const fullBundleDistPath = path.join(__dirname, '../dist/echarts.min.js');
     // Make sure __DEV__ is eliminated.
-    let code = fs.readFileSync(singleConfig.output.file, {encoding: 'utf-8'});
+    let code = fs.readFileSync(fullBundleDistPath, {encoding: 'utf-8'});
     if (!code) {
-        throw new Error(`${singleConfig.output.file} is empty`);
+        throw new Error(`${fullBundleDistPath} is empty`);
     }
     recheckDEV(code);
     console.log(chalk.green.dim('Check code: correct.'));
@@ -288,11 +281,32 @@ async function build(configs) {
 
         await bundle.write(singleConfig.output);
 
+        console.time('Minify');
+        const fileMinPath = singleConfig.output.file.replace(/.js$/, 
'.min.js');
+        const code = fs.readFileSync(singleConfig.output.file, 'utf-8');
+        const result = UglifyJS.minify(code, {
+            output: {
+                preamble: preamble.js
+            }
+        });
+        if (result.error) {
+            throw new Error(result.error);
+        }
+        fs.writeFileSync(fileMinPath, result.code, 'utf-8');
+
+        console.timeEnd('Minify');
+
         console.log(
             chalk.green.dim('Created '),
             chalk.green(singleConfig.output.file),
             chalk.green.dim(' successfully.')
         );
+
+        console.log(
+            chalk.green.dim('Created '),
+            chalk.green(fileMinPath),
+            chalk.green.dim(' successfully.')
+        );
     }
 
     // ensureZRenderCode.clear();
diff --git a/build/config.js b/build/config.js
index 1f1da3f..f5a6479 100644
--- a/build/config.js
+++ b/build/config.js
@@ -19,18 +19,16 @@
 
 const assert = require('assert');
 const nodeResolvePlugin = require('rollup-plugin-node-resolve');
-const uglifyPlugin = require('rollup-plugin-uglify');
 const ecRemoveDevPlugin = require('./remove-dev-rollup-plugin');
 const ecLangPlugin = require('./ec-lang-rollup-plugin');
 const nodePath = require('path');
-const preamble = require('./preamble');
 const ecDir = nodePath.resolve(__dirname, '..');
 const typescriptPlugin = require('rollup-plugin-typescript2');
 const fs = require('fs');
 const progress = require('./progress');
 
 function preparePlugins(
-    {min, lang, sourcemap, removeDev, addBundleVersion, totalFiles, clean},
+    {lang, sourcemap, removeDev, addBundleVersion, totalFiles, clean},
     {include, exclude}
 ) {
     assert(include);
@@ -81,29 +79,12 @@ function preparePlugins(
         }
     });
 
-    min && plugins.push(uglifyPlugin({
-        compress: {
-            // Eliminate __DEV__ code.
-            // Currently, in uglify:
-            // `var vx; if(vx) {...}` can not be removed.
-            // `if (__DEV__) {...}` can be removed if `__DEV__` is defined as 
`false` in `global_defs`.
-            // 'global_defs': {
-            //     __DEV__: false
-            // },
-            'dead_code': true
-        },
-        output: {
-            preamble: preamble.js
-        }
-    }));
-
     return plugins;
 }
 
 /**
  * @param {Object} [opt]
  * @param {string} [opt.type=''] '' or 'simple' or 'common'
- * @param {boolean} [opt.min=false]
  * @param {string} [opt.lang=undefined] null/undefined/'' or 'en' or 'fi' or a 
file path.
  * @param {string} [opt.input=undefined] If set, `opt.output` is required too, 
and `opt.type` is ignored.
  * @param {string} [opt.output=undefined] If set, `opt.input` is required too, 
and `opt.type` is ignored.
@@ -114,10 +95,8 @@ function preparePlugins(
  * @param {Object} [opt.totalFiles] Total files to bundle
  */
 exports.createECharts = function (opt = {}) {
-    let min = opt.min;
     let srcType = opt.type ? '.' + opt.type : '.all';
     let postfixType = opt.type ? '.' + opt.type : '';
-    let postfixMin = min ? '.min' : '';
     let postfixLang = opt.lang ? '-' + opt.lang.toLowerCase() : '';
     let input = opt.input;
     let output = opt.output;
@@ -131,7 +110,7 @@ exports.createECharts = function (opt = {}) {
     }
     else {
         input = nodePath.resolve(ecDir, `echarts${srcType}.ts`);
-        output = nodePath.resolve(ecDir, 
`dist/echarts${postfixLang}${postfixType}${postfixMin}.js`);
+        output = nodePath.resolve(ecDir, 
`dist/echarts${postfixLang}${postfixType}.js`);
     }
 
     const include = [
@@ -182,15 +161,11 @@ exports.createECharts = function (opt = {}) {
     };
 };
 
-/**
- * @param {boolean} [min=false]
- */
-exports.createBMap = function (min) {
-    let postfix = min ? '.min' : '';
+exports.createBMap = function () {
     let input = nodePath.resolve(ecDir, `extension-src/bmap/bmap.ts`);
 
     return {
-        plugins: preparePlugins({min}, {
+        plugins: preparePlugins({}, {
             include: [
                 nodePath.resolve(ecDir, 'extension-src/bmap/**/*.ts')
             ]
@@ -201,13 +176,13 @@ exports.createBMap = function (min) {
         output: {
             name: 'bmap',
             format: 'umd',
-            sourcemap: !min,
+            sourcemap: true,
             legacy: true, // Must be declared both in inputOptions and 
outputOptions.
             globals: {
                 // For UMD `global.echarts`
                 echarts: 'echarts'
             },
-            file: nodePath.resolve(ecDir, `dist/extension/bmap${postfix}.js`)
+            file: nodePath.resolve(ecDir, `dist/extension/bmap.js`)
         },
         watch: {
             include: [nodePath.resolve(ecDir, 'extension-src/bmap/**')]
@@ -215,15 +190,11 @@ exports.createBMap = function (min) {
     };
 };
 
-/**
- * @param {boolean} [min=false]
- */
-exports.createDataTool = function (min) {
-    let postfix = min ? '.min' : '';
+exports.createDataTool = function () {
     let input = nodePath.resolve(ecDir, `extension-src/dataTool/index.ts`);
 
     return {
-        plugins: preparePlugins({min}, {
+        plugins: preparePlugins({}, {
             include: [
                 nodePath.resolve(ecDir, 'extension-src/dataTool/**/*.ts')
             ]
@@ -234,13 +205,13 @@ exports.createDataTool = function (min) {
         output: {
             name: 'dataTool',
             format: 'umd',
-            sourcemap: !min,
+            sourcemap: true,
             legacy: true, // Must be declared both in inputOptions and 
outputOptions.
             globals: {
                 // For UMD `global.echarts`
                 echarts: 'echarts'
             },
-            file: nodePath.resolve(ecDir, 
`dist/extension/dataTool${postfix}.js`)
+            file: nodePath.resolve(ecDir, `dist/extension/dataTool.js`)
         },
         watch: {
             include: [nodePath.resolve(ecDir, 'extension-src/dataTool/**')]
diff --git a/echarts.common.ts b/echarts.common.ts
index 224b026..760c9f5 100644
--- a/echarts.common.ts
+++ b/echarts.common.ts
@@ -40,5 +40,5 @@ import './src/component/markArea';
 import './src/component/dataZoom';
 import './src/component/toolbox';
 
-import 'zrender/src/vml/vml';
+// import 'zrender/src/vml/vml';
 import 'zrender/src/svg/svg';
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 597b5e4..8e43d9a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -174,46 +174,12 @@
         }
       }
     },
-    "@babel/helper-module-imports": {
-      "version": "7.0.0-beta.31",
-      "resolved": 
"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.31.tgz";,
-      "integrity": 
"sha512-T9msmkkMkNMY6mCjGXsVCF1ew4xuoNC0O4IPL++/Iahi/Gro7h7snDN7XQOr6iyhEptbsDBVxHE96vLAMYT/+g==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "7.0.0-beta.31",
-        "lodash": "^4.2.0"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.0.0-beta.31",
-      "resolved": 
"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.31.tgz";,
-      "integrity": 
"sha512-9CMeI+BKFZkOAhgbOPq+ocPC4Aanqfc/JoA7tWhPtmfFAcNcIAT/sg019DHaWmXL4FQcwaeDoi0Sg4ucur6SSQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "7.0.0-beta.31",
-        "@babel/helper-simple-access": "7.0.0-beta.31",
-        "@babel/template": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31",
-        "lodash": "^4.2.0"
-      }
-    },
     "@babel/helper-plugin-utils": {
       "version": "7.0.0",
       "resolved": 
"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";,
       "integrity": 
"sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
       "dev": true
     },
-    "@babel/helper-simple-access": {
-      "version": "7.0.0-beta.31",
-      "resolved": 
"https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.31.tgz";,
-      "integrity": 
"sha512-Py1V9txNLbr6ShlTprHmFMFNO55F5V2UxqyYT9jGczuoVrVET2v4unhiaEfcShxPQhZqabVsEttxUYrbfUbigg==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31",
-        "lodash": "^4.2.0"
-      }
-    },
     "@babel/helper-split-export-declaration": {
       "version": "7.4.4",
       "resolved": 
"https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";,
@@ -325,57 +291,6 @@
         "@babel/helper-plugin-utils": "^7.0.0"
       }
     },
-    "@babel/template": {
-      "version": "7.0.0-beta.31",
-      "resolved": 
"https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.31.tgz";,
-      "integrity": 
"sha512-97IRmLvoDhIDSQkqklVt3UCxJsv0LUEVb/0DzXWtc8Lgiyxj567qZkmTG9aR21CmcJVVIvq2Y/moZj4oEpl5AA==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31",
-        "babylon": "7.0.0-beta.31",
-        "lodash": "^4.2.0"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.0.0-beta.31",
-          "resolved": 
"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz";,
-          "integrity": 
"sha512-yd7CkUughvHQoEahQqcMdrZw6o/6PwUxiRkfZuVDVHCDe77mysD/suoNyk5mK6phTnRW1kyIbPHyCJgxw++LXg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^3.0.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";,
-          "integrity": 
"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": 
"https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz";,
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";,
-          "integrity": 
"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
     "@babel/traverse": {
       "version": "7.6.0",
       "resolved": 
"https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz";,
@@ -412,17 +327,6 @@
         }
       }
     },
-    "@babel/types": {
-      "version": "7.0.0-beta.31",
-      "resolved": 
"https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.31.tgz";,
-      "integrity": 
"sha512-exAHB+NeFGxkfQ5dSUD03xl3zYGneeSk2Mw2ldTt/nTvYxuDiuSp3DlxgUBgzbdTFG4fbwPk0WtKWOoTXCmNGg==",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2",
-        "lodash": "^4.2.0",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
     "@cnakazawa/watch": {
       "version": "1.0.3",
       "resolved": 
"https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz";,
@@ -1519,12 +1423,6 @@
         "babel-plugin-jest-hoist": "^24.9.0"
       }
     },
-    "babylon": {
-      "version": "7.0.0-beta.31",
-      "resolved": 
"https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz";,
-      "integrity": 
"sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==",
-      "dev": true
-    },
     "backo2": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz";,
@@ -7157,18 +7055,6 @@
         }
       }
     },
-    "rollup-plugin-uglify": {
-      "version": "6.0.4",
-      "resolved": 
"https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz";,
-      "integrity": 
"sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "jest-worker": "^24.0.0",
-        "serialize-javascript": "^2.1.2",
-        "uglify-js": "^3.4.9"
-      }
-    },
     "rollup-pluginutils": {
       "version": "2.8.1",
       "resolved": 
"https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz";,
@@ -7281,12 +7167,6 @@
       "integrity": 
"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
       "dev": true
     },
-    "serialize-javascript": {
-      "version": "2.1.2",
-      "resolved": 
"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz";,
-      "integrity": 
"sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
-      "dev": true
-    },
     "serve-handler": {
       "version": "6.1.1",
       "resolved": 
"https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.1.tgz";,
@@ -7626,12 +7506,6 @@
         }
       }
     },
-    "source-map": {
-      "version": "0.7.3",
-      "resolved": 
"https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz";,
-      "integrity": 
"sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true
-    },
     "source-map-resolve": {
       "version": "0.5.2",
       "resolved": 
"https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";,
@@ -8141,28 +8015,9 @@
       "dev": true
     },
     "uglify-js": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";,
-      "integrity": 
"sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
-      "dev": true,
-      "requires": {
-        "commander": "~2.20.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.20.0",
-          "resolved": 
"https://registry.npmjs.org/commander/-/commander-2.20.0.tgz";,
-          "integrity": 
"sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": 
"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";,
-          "integrity": 
"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
+      "version": "3.10.0",
+      "resolved": 
"https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz";,
+      "integrity": 
"sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA=="
     },
     "union-value": {
       "version": "1.0.1",
diff --git a/package.json b/package.json
index 3b42938..f5bc23c 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
     "zrender": "4.3.1"
   },
   "devDependencies": {
+    "uglify-js": "^3.10.0",
     "@babel/core": "7.3.4",
     "@microsoft/api-extractor": "7.7.2",
     "@typescript-eslint/eslint-plugin": "^2.15.0",
@@ -61,7 +62,6 @@
     "rollup-plugin-commonjs": "8.4.1",
     "rollup-plugin-node-resolve": "3.0.0",
     "rollup-plugin-typescript2": "0.25.3",
-    "rollup-plugin-uglify": "6.0.4",
     "seedrandom": "3.0.3",
     "semver": "6.3.0",
     "serve-handler": "6.1.1",


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to