From c5aeadadb2737d6f2523b7b147980e3eaaee3cf7 Mon Sep 17 00:00:00 2001 From: liyancheng2 Date: Fri, 22 Aug 2025 17:13:03 +0800 Subject: [PATCH] annotation cannot be used in the har where the compilation output is a js file Issue: https://gitee.com/openharmony/third_party_typescript/issues/ICU4O8 Signed-off-by: liyancheng2 Change-Id: I944ef8a59878d3da96e5235f68d99a6f35047eb0 --- compiler/src/ets_checker.ts | 8 +++++++- compiler/src/interop/src/ets_checker.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/compiler/src/ets_checker.ts b/compiler/src/ets_checker.ts index 716d75244..a56cd183d 100644 --- a/compiler/src/ets_checker.ts +++ b/compiler/src/ets_checker.ts @@ -210,7 +210,8 @@ function setCompilerOptions(resolveModulePaths: string[]): void { 'compatibleSdkVersionStage': projectConfig.compatibleSdkVersionStage, 'compatibleSdkVersion': projectConfig.compatibleSdkVersion, 'skipOhModulesLint': skipOhModulesLint, - 'mixCompile': mixCompile + 'mixCompile': mixCompile, + 'isCompileJsHar': isCompileJsHar(), }); if (projectConfig.compileMode === ESMODULE) { Object.assign(compilerOptions, { @@ -224,6 +225,11 @@ function setCompilerOptions(resolveModulePaths: string[]): void { readTsBuildInfoFileInCrementalMode(buildInfoPath, projectConfig); } +function isCompileJsHar(): boolean { + return projectConfig.compileHar && projectConfig.byteCodeHar === false && projectConfig.buildMode === 'Release' && + projectConfig.obfuscationOptions?.selfConfig.ruleOptions.enable && !projectConfig.useTsHar; +} + function checkArkTSVersion(): void { const etsCheckerLogger = fastBuildLogger || logger; if (getArkTSVersion() === ArkTSVersion.ArkTS_1_0 && tsImportSendable) { diff --git a/compiler/src/interop/src/ets_checker.ts b/compiler/src/interop/src/ets_checker.ts index e1d5381b3..cf94e3828 100644 --- a/compiler/src/interop/src/ets_checker.ts +++ b/compiler/src/interop/src/ets_checker.ts @@ -226,7 +226,8 @@ function setCompilerOptions(resolveModulePaths: string[]): void { 'compatibleSdkVersionStage': projectConfig.compatibleSdkVersionStage, 'compatibleSdkVersion': projectConfig.compatibleSdkVersion, 'skipOhModulesLint': skipOhModulesLint, - 'mixCompile': mixCompile + 'mixCompile': mixCompile, + 'isCompileJsHar': isCompileJsHar(), }); if (projectConfig.compileMode === ESMODULE) { Object.assign(compilerOptions, { @@ -240,6 +241,11 @@ function setCompilerOptions(resolveModulePaths: string[]): void { readTsBuildInfoFileInCrementalMode(buildInfoPath, projectConfig); } +function isCompileJsHar(): boolean { + return projectConfig.compileHar && projectConfig.byteCodeHar === false && projectConfig.buildMode === 'Release' && + projectConfig.obfuscationOptions?.selfConfig.ruleOptions.enable && !projectConfig.useTsHar; +} + function checkArkTSVersion(): void { const etsCheckerLogger = fastBuildLogger || logger; if (getArkTSVersion() === ArkTSVersion.ArkTS_1_0 && tsImportSendable) { -- Gitee