diff --git a/ets2panda/driver/build_system/src/build/base_mode.ts b/ets2panda/driver/build_system/src/build/base_mode.ts index 5796c8a413e86cc30091445b14261ce76340750c..69c6a81a46016a486df536c0dc5b54c159952941 100644 --- a/ets2panda/driver/build_system/src/build/base_mode.ts +++ b/ets2panda/driver/build_system/src/build/base_mode.ts @@ -70,6 +70,7 @@ import { import { ArkTSConfigGenerator } from './generate_arktsconfig'; import { SetupClusterOptions } from '../types'; import { KitImportTransformer } from '../plugins/KitImportTransformer'; + export abstract class BaseMode { public buildConfig: BuildConfig; public entryFiles: Set; @@ -244,7 +245,8 @@ export abstract class BaseMode { if (this.buildConfig.aliasConfig?.size > 0) { // if aliasConfig is set, transform aliasName@kit.xxx to default@ohos.xxx through the plugin this.logger.printInfo('Transforming import statements with alias config'); - let transformAst = new KitImportTransformer(arkts, arktsGlobal.compilerContext.program, this.buildConfig.buildSdkPath,this.buildConfig.aliasConfig).transform(ast); + let transformAst = new KitImportTransformer(arkts, arktsGlobal.compilerContext.program, + this.buildConfig.buildSdkPath,this.buildConfig.aliasConfig).transform(ast); PluginDriver.getInstance().getPluginContext().setArkTSAst(transformAst); } else { PluginDriver.getInstance().getPluginContext().setArkTSAst(ast); diff --git a/ets2panda/driver/build_system/src/build/compile_thread_worker.ts b/ets2panda/driver/build_system/src/build/compile_thread_worker.ts index 987221aaf951d381efc064cfe746c66f09d3e27e..49644a1a6db1d0c9e2c79a468765f33728b6982d 100644 --- a/ets2panda/driver/build_system/src/build/compile_thread_worker.ts +++ b/ets2panda/driver/build_system/src/build/compile_thread_worker.ts @@ -76,7 +76,8 @@ function compileAbc(jobInfo: JobInfo): void { if (config.aliasConfig?.size > 0) { // if aliasConfig is set, transform aliasName@kit.xxx to default@ohos.xxx through the plugin let ast = arkts.EtsScript.fromContext(); - let transformAst = new KitImportTransformer(arkts, arktsGlobal.compilerContext.program, config.buildSdkPath, config.aliasConfig).transform(ast); + let transformAst = new KitImportTransformer(arkts, arktsGlobal.compilerContext.program, + config.buildSdkPath, config.aliasConfig).transform(ast); PluginDriver.getInstance().getPluginContext().setArkTSAst(transformAst); } PluginDriver.getInstance().runPluginHook(PluginHook.PARSED); diff --git a/ets2panda/driver/build_system/src/build/compile_worker.ts b/ets2panda/driver/build_system/src/build/compile_worker.ts index d6eb4dcad3bf37e519eb4c7411e23b66f8e9bef2..9e4218cbd80ae1c60d01a543d0421fa783575a0e 100644 --- a/ets2panda/driver/build_system/src/build/compile_worker.ts +++ b/ets2panda/driver/build_system/src/build/compile_worker.ts @@ -52,7 +52,7 @@ process.on('message', (message: { PluginDriver.getInstance().initPlugins(buildConfig); const koalaWrapperPath = process.env.KOALA_WRAPPER_PATH ?? path.resolve(buildConfig.buildSdkPath, KOALA_WRAPPER_PATH_FROM_SDK); let { arkts, arktsGlobal } = require(koalaWrapperPath); - const { KitImportTransformer } = require("../plugins/KitImportTransformer"); + const { KitImportTransformer } = require('../plugins/KitImportTransformer'); for (const fileInfo of taskList) { let errorStatus = false; @@ -80,7 +80,8 @@ process.on('message', (message: { if (buildConfig.aliasConfig?.size > 0) { // if aliasConfig is set, transform aliasName@kit.xxx to default@ohos.xxx through the plugin let ast = arkts.EtsScript.fromContext(); - let transformAst = new KitImportTransformer(arkts, arktsGlobal.compilerContext.program, buildConfig.buildSdkPath, buildConfig.aliasConfig).transform(ast); + let transformAst = new KitImportTransformer(arkts, arktsGlobal.compilerContext.program, + buildConfig.buildSdkPath, buildConfig.aliasConfig).transform(ast); PluginDriver.getInstance().getPluginContext().setArkTSAst(transformAst); } PluginDriver.getInstance().runPluginHook(PluginHook.PARSED); diff --git a/ets2panda/driver/build_system/src/plugins/KitImportTransformer.ts b/ets2panda/driver/build_system/src/plugins/KitImportTransformer.ts index 0f0f1ad0773339df5128ec9615b41bc5bdf4c3be..6d6f19b6af8ff9860e10d338a9731e558e686d82 100644 --- a/ets2panda/driver/build_system/src/plugins/KitImportTransformer.ts +++ b/ets2panda/driver/build_system/src/plugins/KitImportTransformer.ts @@ -27,7 +27,7 @@ import { KIT_CONFIGS_PATH_FROM_SDK } from '../pre_define'; export class KitImportTransformer { private arkts: ArkTS; - private extraImports: ArkTS["ETSImportDeclaration"][] = []; + private extraImports: ArkTS['ETSImportDeclaration'][] = []; private sdkAliasConfig: Map>; private buildSdkPath: string; private program: object; @@ -41,12 +41,12 @@ export class KitImportTransformer { this.logger = Logger.getInstance(); } - public transform(astNode: ArkTS["AstNode"]): ArkTS["AstNode"] { + public transform(astNode: ArkTS['AstNode']): ArkTS['AstNode'] { if (!this.arkts.isEtsScript(astNode)) { return astNode; } - const newStatements: ArkTS["AstNode"][] = []; + const newStatements: ArkTS['AstNode'][] = []; const dynamicAliasNames = new Set(this.getDynamicAliasNames()); if (astNode.statements.length === 0) { return astNode; @@ -64,7 +64,7 @@ export class KitImportTransformer { return this.arkts.factory.updateEtsScript(astNode, finalStatements); } - private splitKitImport(importNode: ArkTS["ETSImportDeclaration"]): void { + private splitKitImport(importNode: ArkTS['ETSImportDeclaration']): void { const kitName = importNode.source.str; const symbolsJson = this.loadKitSymbolsJson(kitName); if (!symbolsJson) { @@ -75,7 +75,7 @@ export class KitImportTransformer { this.generateSplitImportDeclarations(groupedSymbols); } - private loadKitSymbolsJson(kitName: string): any | null { + private loadKitSymbolsJson(kitName: string): unknown | null { let jsonFileName: string = this.getOriginalNameByAlias(kitName); if (jsonFileName === '') { this.logger.printError(LogDataFactory.newInstance( @@ -107,7 +107,7 @@ export class KitImportTransformer { } } - private groupImportSpecifiersBySource(importNode: ArkTS["ETSImportDeclaration"], symbolsJson: any, kitName: string): Map { + private groupImportSpecifiersBySource(importNode: ArkTS['ETSImportDeclaration'], symbolsJson: unknown, kitName: string): Map { const grouped = new Map(); for (const specifier of importNode.specifiers) { @@ -120,13 +120,14 @@ export class KitImportTransformer { continue; } - const symbolEntry = symbolsJson.symbols?.[symbolName]; + const typedSymbols = (symbolsJson as { symbols: Record }); + const symbolEntry = typedSymbols.symbols?.[symbolName]; if (!symbolEntry?.source) { this.logger.printWarn(`Symbol '${symbolName}' not found in ${kitName}.json`); continue; } - const sourcePath = "default" + symbolEntry.source.replace(/\.d\.ts$/, ''); + const sourcePath = 'default' + symbolEntry.source.replace(/\.d\.ts$/, ''); if (!grouped.has(sourcePath)) { grouped.set(sourcePath, []); } diff --git a/ets2panda/driver/build_system/src/types.ts b/ets2panda/driver/build_system/src/types.ts index 05901f176c831538c611776309e7f6ef2c20cb74..de932b89359973f12ae63cceb51529eb128c3bde 100644 --- a/ets2panda/driver/build_system/src/types.ts +++ b/ets2panda/driver/build_system/src/types.ts @@ -282,4 +282,4 @@ export enum Es2pandaImportKinds { export enum Es2pandaImportFlags { IMPORT_FLAGS_NONE, -} \ No newline at end of file +}