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]