提交 e98ef6f9 编写于 作者: P pissang

chore(.d.ts): fix import type not supported in lower ts version.

上级 11890ca3
...@@ -110,7 +110,7 @@ const compileWorkList = [ ...@@ -110,7 +110,7 @@ const compileWorkList = [
transformRootFolderInEntry(nodePath.resolve(ecDir, 'index.common.js'), 'lib'); transformRootFolderInEntry(nodePath.resolve(ecDir, 'index.common.js'), 'lib');
transformRootFolderInEntry(nodePath.resolve(ecDir, 'index.simple.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); fsExtra.removeSync(tmpDir);
} }
...@@ -151,8 +151,8 @@ const compileWorkList = [ ...@@ -151,8 +151,8 @@ const compileWorkList = [
transformRootFolderInEntry(nodePath.resolve(ecDir, 'echarts.common.js'), 'esm'); transformRootFolderInEntry(nodePath.resolve(ecDir, 'echarts.common.js'), 'esm');
transformRootFolderInEntry(nodePath.resolve(ecDir, 'echarts.simple.js'), 'esm'); transformRootFolderInEntry(nodePath.resolve(ecDir, 'echarts.simple.js'), 'esm');
await transformZRRootFolder(nodePath.resolve(ecDir, 'esm'), 'esm'); await transformDistributionFiles(nodePath.resolve(ecDir, 'esm'), 'esm');
await transformZRRootFolder(nodePath.resolve(ecDir, 'types'), 'esm'); await transformDistributionFiles(nodePath.resolve(ecDir, 'types'), 'esm');
fsExtra.removeSync(tmpDir); fsExtra.removeSync(tmpDir);
} }
...@@ -174,7 +174,7 @@ const compileWorkList = [ ...@@ -174,7 +174,7 @@ const compileWorkList = [
fsExtra.removeSync(extensionCJSDir); fsExtra.removeSync(extensionCJSDir);
}, },
after: async function () { after: async function () {
await transformZRRootFolder(extensionCJSDir, 'lib'); await transformDistributionFiles(extensionCJSDir, 'lib');
} }
}, },
{ {
...@@ -194,7 +194,7 @@ const compileWorkList = [ ...@@ -194,7 +194,7 @@ const compileWorkList = [
fsExtra.removeSync(extensionESMDir); fsExtra.removeSync(extensionESMDir);
}, },
after: async function () { after: async function () {
await transformZRRootFolder(extensionESMDir, 'esm'); await transformDistributionFiles(extensionESMDir, 'esm');
} }
} }
]; ];
...@@ -298,7 +298,7 @@ function transformRootFolderInEntry(entryFile, replacement) { ...@@ -298,7 +298,7 @@ function transformRootFolderInEntry(entryFile, replacement) {
/** /**
* Transform `zrender/src` to `zrender/esm` in all files * Transform `zrender/src` to `zrender/esm` in all files
*/ */
async function transformZRRootFolder(rooltFolder, replacement) { async function transformDistributionFiles(rooltFolder, replacement) {
const files = await globby([ const files = await globby([
rooltFolder + '/**/*.js', rooltFolder + '/**/*.js',
rooltFolder + '/**/*.d.ts', rooltFolder + '/**/*.d.ts',
...@@ -307,7 +307,13 @@ async function transformZRRootFolder(rooltFolder, replacement) { ...@@ -307,7 +307,13 @@ async function transformZRRootFolder(rooltFolder, replacement) {
// TODO More robust way? // TODO More robust way?
for (let fileName of files) { for (let fileName of files) {
let code = fs.readFileSync(fileName, 'utf-8'); 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) { ...@@ -315,6 +321,10 @@ function singleTransformZRRootFolder(code, replacement) {
return code.replace(/([\"\'])zrender\/src\//g, `$1zrender/${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
* @param {Object} transformOptions.filesGlobby {patterns: string[], cwd: string} * @param {Object} transformOptions.filesGlobby {patterns: string[], cwd: string}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册