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
commit 0f8fa84ddab2e951e850d6be61afc2183fb0f4b0 Author: pissang <[email protected]> AuthorDate: Mon Jul 27 20:27:57 2020 +0800 chore: fix prepublish to generate lib and esm --- .gitignore | 4 ++- build/build.js | 85 +--------------------------------------------------- build/pre-publish.js | 42 +++++--------------------- package.json | 6 +--- 4 files changed, 13 insertions(+), 124 deletions(-) diff --git a/.gitignore b/.gitignore index 320e95b..779d723 100644 --- a/.gitignore +++ b/.gitignore @@ -187,4 +187,6 @@ todo /index.js /index.simple.js /index.common.js -/index.blank.js \ No newline at end of file +/index.blank.js +/extension-esm +/extension \ No newline at end of file diff --git a/build/build.js b/build/build.js index f88d256..75254f2 100755 --- a/build/build.js +++ b/build/build.js @@ -92,7 +92,7 @@ async function run() { ) .option( '--removedev', - 'Remove __DEV__ code. If --min, __DEV__ always be removed.' + 'Transform __DEV__ code into process.env="production".' ) .option( '--min', @@ -123,10 +123,6 @@ async function run() { '--clean', 'If cleaning build without cache. Maybe useful if some unexpected happens.' ) - // .option( - // '--zrender <zrender>', - // 'Local zrender path. Used when you want to use develop version of zrender instead of npm version.' - // ) .parse(process.argv); let isWatch = !!commander.watch; @@ -373,83 +369,6 @@ function getTimeString() { } -// Symbol link do not work currently. So have to copy code manually. -// See: https://github.com/ezolenko/rollup-plugin-typescript2/issues/188 -var ensureZRenderCode = (function () { - - const nodeModulesZr = getPath('./node_modules/zrender'); - // const nodeModulesZrDirTmp = getPath('./node_modules/zrender-dir-tmp'); - const nodeModulesZrSymlinkTmp = getPath('./node_modules/zrender-symlink-tmp'); - const nodeModulesZrSrcDir = getPath('./node_modules/zrender/src'); - const zrSrcDir = getPath('../zrender/src') - - let stats = 'cleared'; - - function doClear() { - if (!fs.existsSync(nodeModulesZrSymlinkTmp) - || !fs.lstatSync(nodeModulesZrSymlinkTmp).isSymbolicLink() - ) { - return; - } - - if (fs.existsSync(nodeModulesZr) - && fs.lstatSync(nodeModulesZr).isDirectory() - ) { - console.log(chalk.blue(`rm -rf dir: ${nodeModulesZr}`)); - // ensure save for rm -rf. - assert(nodeModulesZr.includes('node_modules') && nodeModulesZr.includes('zrender')); - fsExtra.removeSync(nodeModulesZr); - } - - // recover the symbollink so that vs code can continue to visit the zrender source code. - console.log(chalk.blue(`mv symbol link: ${nodeModulesZrSymlinkTmp} => ${nodeModulesZr}`)); - fs.renameSync(nodeModulesZrSymlinkTmp, nodeModulesZr); - } - - return { - prepare: function () { - // Calling guard - assert(stats === 'cleared'); - stats = 'prepared'; - - console.time('ensure zr code cost'); - // In case that the last build terminated manually. - doClear(); - - if (!fs.existsSync(nodeModulesZr) - || !fs.lstatSync(nodeModulesZr).isSymbolicLink() - ) { - return; - } - - if (!fs.existsSync(zrSrcDir) - || !fs.lstatSync(zrSrcDir).isDirectory() - ) { - throw new Error(`${zrSrcDir} does not exist.`); - } - - console.log(chalk.blue(`mv symbol link: ${nodeModulesZr} => ${nodeModulesZrSymlinkTmp}`)); - fs.renameSync(nodeModulesZr, nodeModulesZrSymlinkTmp); - - fsExtra.ensureDirSync(nodeModulesZr); - fsExtra.copySync(zrSrcDir, nodeModulesZrSrcDir); - console.log(chalk.blue(`copied: ${nodeModulesZrSrcDir} => ${zrSrcDir}`)); - - console.timeEnd('ensure zr code cost'); - }, - - clear: function () { - // Calling guard - if (stats === 'cleared') { - return; - } - stats = 'cleared'; - doClear(); - } - } -})(); - - async function main() { try { await run(); @@ -473,8 +392,6 @@ async function main() { err.plugin != null && console.warn(chalk.red(`plugin: ${err.plugin}`)); } // console.log(err); - - // ensureZRenderCode.clear(); } } diff --git a/build/pre-publish.js b/build/pre-publish.js index 1d58395..7aa73b8 100644 --- a/build/pre-publish.js +++ b/build/pre-publish.js @@ -88,8 +88,7 @@ const compileWorkList = [ transformOptions: { filesGlobby: {patterns: ['**/*.js'], cwd: tmpDir}, preamble: preamble.js, - removeDEV: true, - cjsEntryCompat: cjsEntryCompat + removeDEV: true }, before: async function () { fsExtra.removeSync(tmpDir); @@ -142,7 +141,7 @@ const compileWorkList = [ }, { logLabel: 'extension ts -> js-cjs', - compilerOptions: { + compilerOptionsOverride: { module: 'CommonJS', rootDir: extensionSrcDir, outDir: extensionCJSDir @@ -151,8 +150,7 @@ const compileWorkList = [ transformOptions: { filesGlobby: {patterns: ['**/*.js'], cwd: extensionCJSDir}, preamble: preamble.js, - removeDEV: true, - cjsEntryCompat: cjsEntryCompat + removeDEV: true }, before: async function () { fsExtra.removeSync(extensionCJSDir); @@ -160,7 +158,7 @@ const compileWorkList = [ }, { logLabel: 'extension ts -> js-esm', - compilerOptions: { + compilerOptionsOverride: { module: 'ES2015', rootDir: extensionSrcDir, outDir: extensionESMDir @@ -208,7 +206,7 @@ module.exports = async function () { process.stdout.write(chalk.green.dim(` done \n`)); } - console.log(chalk.green.bright('All done.')); + console.log(chalk.green.dim('All done.')); }; async function tsCompile(compilerOptionsOverride, srcPathList) { @@ -256,18 +254,18 @@ async function tsCompile(compilerOptionsOverride, srcPathList) { } }); assert(!emitResult.emitSkipped, 'ts compile failed.'); + } /** * @param {Object} transformOptions * @param {Object} transformOptions.filesGlobby {patterns: string[], cwd: string} * @param {string} [transformOptions.preamble] See './preamble.js' - * @param {Function} [transformOptions.cjsEntryCompat] * @param {boolean} [transformOptions.removeDEV] */ -async function transformCode({filesGlobby, preamble, cjsEntryCompat, removeDEV}) { +async function transformCode({filesGlobby, preamble, removeDEV}) { - let filePaths = readFilePaths(filesGlobby); + let filePaths = await readFilePaths(filesGlobby); await Promise.all(filePaths.map(async filePath => { let code = await readFileAsync(filePath, {encoding: 'utf8'}); @@ -275,11 +273,6 @@ async function transformCode({filesGlobby, preamble, cjsEntryCompat, removeDEV}) if (removeDEV) { let result = removeDEVUtil.transform(code, false); code = result.code; - removeDEVPlugin.recheckDEV(code); - } - - if (cjsEntryCompat) { - code = cjsEntryCompat({code, filePath}); } code = autoGeneratedFileAlert + code; @@ -292,25 +285,6 @@ async function transformCode({filesGlobby, preamble, cjsEntryCompat, removeDEV}) })); } -function cjsEntryCompat({code, filePath}) { - if (filePath === nodePath.resolve(ecDir, 'src/echarts.js')) { - // For backward compat. - // Using `echarts/echarts.blank.js` to overwrite `echarts/lib/echarts.js` - // for including exports API. - code += ` -var ___ec_export = require("./export"); -(function () { -for (var key in ___ec_export) { - if (___ec_export.hasOwnProperty(key)) { - exports[key] = ___ec_export[key]; - } -} -})();`; - } - - return code; -} - async function readFilePaths({patterns, cwd}) { assert(patterns && cwd); return ( diff --git a/package.json b/package.json index 18b43e4..3b42938 100644 --- a/package.json +++ b/package.json @@ -33,10 +33,6 @@ }, "devDependencies": { "@babel/core": "7.3.4", - "@babel/helper-module-transforms": "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", "@microsoft/api-extractor": "7.7.2", "@typescript-eslint/eslint-plugin": "^2.15.0", "@typescript-eslint/parser": "^2.18.0", @@ -71,6 +67,6 @@ "serve-handler": "6.1.1", "slugify": "1.3.4", "socket.io": "2.2.0", - "typescript": "^3.8.3" + "typescript": "3.8.3" } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
