You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2020/08/14 10:44:33 UTC

[incubator-echarts] branch next updated: chore(.d.ts): fix import type not supported in lower ts version.

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

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


The following commit(s) were added to refs/heads/next by this push:
     new e98ef6f  chore(.d.ts): fix import type not supported in lower ts version.
e98ef6f is described below

commit e98ef6f9b43cc7e83c432007ce55a55d26d1f8da
Author: pissang <bm...@gmail.com>
AuthorDate: Fri Aug 14 18:43:52 2020 +0800

    chore(.d.ts): fix import type not supported in lower ts version.
---
 build/pre-publish.js | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/build/pre-publish.js b/build/pre-publish.js
index ca6b9cc..efc9e39 100644
--- a/build/pre-publish.js
+++ b/build/pre-publish.js
@@ -110,7 +110,7 @@ const compileWorkList = [
             transformRootFolderInEntry(nodePath.resolve(ecDir, 'index.common.js'), 'lib');
             transformRootFolderInEntry(nodePath.resolve(ecDir, 'index.simple.js'), 'lib');
 
-            transformZRRootFolder(nodePath.resolve(ecDir, 'lib'), 'lib');
+            transformDistributionFiles(nodePath.resolve(ecDir, 'lib'), 'lib');
 
             fsExtra.removeSync(tmpDir);
         }
@@ -151,8 +151,8 @@ const compileWorkList = [
             transformRootFolderInEntry(nodePath.resolve(ecDir, 'echarts.common.js'), 'esm');
             transformRootFolderInEntry(nodePath.resolve(ecDir, 'echarts.simple.js'), 'esm');
 
-            await transformZRRootFolder(nodePath.resolve(ecDir, 'esm'), 'esm');
-            await transformZRRootFolder(nodePath.resolve(ecDir, 'types'), 'esm');
+            await transformDistributionFiles(nodePath.resolve(ecDir, 'esm'), 'esm');
+            await transformDistributionFiles(nodePath.resolve(ecDir, 'types'), 'esm');
 
             fsExtra.removeSync(tmpDir);
         }
@@ -174,7 +174,7 @@ const compileWorkList = [
             fsExtra.removeSync(extensionCJSDir);
         },
         after: async function () {
-            await transformZRRootFolder(extensionCJSDir, 'lib');
+            await transformDistributionFiles(extensionCJSDir, 'lib');
         }
     },
     {
@@ -194,7 +194,7 @@ const compileWorkList = [
             fsExtra.removeSync(extensionESMDir);
         },
         after: async function () {
-            await transformZRRootFolder(extensionESMDir, 'esm');
+            await transformDistributionFiles(extensionESMDir, 'esm');
         }
     }
 ];
@@ -298,7 +298,7 @@ function transformRootFolderInEntry(entryFile, replacement) {
 /**
  * Transform `zrender/src` to `zrender/esm` in all files
  */
-async function transformZRRootFolder(rooltFolder, replacement) {
+async function transformDistributionFiles(rooltFolder, replacement) {
     const files = await globby([
         rooltFolder + '/**/*.js',
         rooltFolder + '/**/*.d.ts',
@@ -307,7 +307,13 @@ async function transformZRRootFolder(rooltFolder, replacement) {
     // TODO More robust way?
     for (let fileName of files) {
         let code = fs.readFileSync(fileName, 'utf-8');
-        fs.writeFileSync(fileName, singleTransformZRRootFolder(code, replacement), 'utf-8');
+        code = singleTransformZRRootFolder(code, replacement);
+        // For lower ts version, not use import type
+        // TODO Use https://github.com/sandersn/downlevel-dts ?
+        if (fileName.endsWith('.d.ts')) {
+            code = singleTransformImportType(code);
+        }
+        fs.writeFileSync(fileName, code, 'utf-8');
     }
 }
 
@@ -315,6 +321,10 @@ function singleTransformZRRootFolder(code, replacement) {
     return code.replace(/([\"\'])zrender\/src\//g, `$1zrender/${replacement}/`);
 }
 
+function singleTransformImportType(code) {
+    return code.replace(/import\s+type\s+/g, 'import ');
+}
+
 /**
  * @param {Object} transformOptions
  * @param {Object} transformOptions.filesGlobby {patterns: string[], cwd: string}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org