107ac75b1Sopenharmony_ci/* 207ac75b1Sopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd. 307ac75b1Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 407ac75b1Sopenharmony_ci * you may not use this file except in compliance with the License. 507ac75b1Sopenharmony_ci * You may obtain a copy of the License at 607ac75b1Sopenharmony_ci * 707ac75b1Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 807ac75b1Sopenharmony_ci * 907ac75b1Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1007ac75b1Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1107ac75b1Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1207ac75b1Sopenharmony_ci * See the License for the specific language governing permissions and 1307ac75b1Sopenharmony_ci * limitations under the License. 1407ac75b1Sopenharmony_ci */ 1507ac75b1Sopenharmony_ci 1607ac75b1Sopenharmony_ciimport { BUILD_OFF, ESMODULE, JSBUNDLE } from './pre_define'; 1707ac75b1Sopenharmony_ciimport { 1807ac75b1Sopenharmony_ci resetLog, 1907ac75b1Sopenharmony_ci transformLog 2007ac75b1Sopenharmony_ci} from './process_ui_syntax'; 2107ac75b1Sopenharmony_ciimport { 2207ac75b1Sopenharmony_ci propertyCollection, 2307ac75b1Sopenharmony_ci linkCollection, 2407ac75b1Sopenharmony_ci processSystemApi 2507ac75b1Sopenharmony_ci} from './validate_ui_syntax'; 2607ac75b1Sopenharmony_ciimport { 2707ac75b1Sopenharmony_ci emitLogInfo, 2807ac75b1Sopenharmony_ci componentInfo, 2907ac75b1Sopenharmony_ci generateSourceFilesInHar, 3007ac75b1Sopenharmony_ci getTransformLog 3107ac75b1Sopenharmony_ci} from './utils'; 3207ac75b1Sopenharmony_ciimport { generateSourceFilesToTemporary } from './ark_utils'; 3307ac75b1Sopenharmony_ciimport { resetComponentCollection } from './validate_ui_syntax'; 3407ac75b1Sopenharmony_ciimport { abilityConfig, projectConfig } from '../main'; 3507ac75b1Sopenharmony_ciimport { logger } from './compile_info'; 3607ac75b1Sopenharmony_ciimport processStructComponentV2 from './process_struct_componentV2'; 3707ac75b1Sopenharmony_ci 3807ac75b1Sopenharmony_cimodule.exports = function resultProcess(source: string, map: any): void { 3907ac75b1Sopenharmony_ci process.env.compiler = BUILD_OFF; 4007ac75b1Sopenharmony_ci source = processSystemApi(source, true, this.resourcePath); 4107ac75b1Sopenharmony_ci if (/\.(ets|ts)$/.test(this.resourcePath)) { 4207ac75b1Sopenharmony_ci componentInfo.id = 0; 4307ac75b1Sopenharmony_ci propertyCollection.clear(); 4407ac75b1Sopenharmony_ci linkCollection.clear(); 4507ac75b1Sopenharmony_ci resetComponentCollection(); 4607ac75b1Sopenharmony_ci processStructComponentV2.resetStructMapInEts(); 4707ac75b1Sopenharmony_ci if (transformLog && transformLog.errors.length) { 4807ac75b1Sopenharmony_ci emitLogInfo(this, getTransformLog(transformLog)); 4907ac75b1Sopenharmony_ci resetLog(); 5007ac75b1Sopenharmony_ci } 5107ac75b1Sopenharmony_ci } 5207ac75b1Sopenharmony_ci if (projectConfig.compileMode === JSBUNDLE && 5307ac75b1Sopenharmony_ci [abilityConfig.abilityEntryFile].concat(abilityConfig.projectAbilityPath).concat(abilityConfig.testRunnerFile).includes(this.resourcePath)) { 5407ac75b1Sopenharmony_ci source = source.replace(/exports\.default/, 'globalThis.exports.default'); 5507ac75b1Sopenharmony_ci } 5607ac75b1Sopenharmony_ci 5707ac75b1Sopenharmony_ci if (projectConfig.compileMode === ESMODULE && projectConfig.processTs === false && 5807ac75b1Sopenharmony_ci process.env.compilerType && process.env.compilerType === 'ark' && !projectConfig.compileHar) { 5907ac75b1Sopenharmony_ci generateSourceFilesToTemporary(this.resourcePath, source, map, projectConfig, logger); 6007ac75b1Sopenharmony_ci } 6107ac75b1Sopenharmony_ci 6207ac75b1Sopenharmony_ci if (projectConfig.compileHar) { 6307ac75b1Sopenharmony_ci generateSourceFilesInHar(this.resourcePath, source, '.js', projectConfig); 6407ac75b1Sopenharmony_ci } 6507ac75b1Sopenharmony_ci 6607ac75b1Sopenharmony_ci this.callback(null, source, map); 6707ac75b1Sopenharmony_ci}; 68