diff --git a/compiler/main.js b/compiler/main.js index 9831b280da59b82ab1e3598d3cfc0441ac2913ed..82a366de12e38bfde184fc440c3867a3097d6a30 100644 --- a/compiler/main.js +++ b/compiler/main.js @@ -69,11 +69,12 @@ function loadEntryObj(projectConfig) { initProjectConfig(projectConfig); if (process.env.aceManifestPath && aceCompileMode === 'page') { setEntryFile(projectConfig); - setFaTestRunnerFile(projectConfig); + setAbilityFileFA(projectConfig); + setFaTestRunnerFile(projectConfig); } if (process.env.aceModuleJsonPath) { - setAbilityPages(projectConfig) - setStageTestRunnerFile(projectConfig); + setAbilityPages(projectConfig); + setStageTestRunnerFile(projectConfig); } if(staticPreviewPage) { @@ -150,6 +151,20 @@ function setEntryFile(projectConfig) { projectConfig.entryObj[`./${entryFileName}`] = entryFilePath + '?entry'; } +function setAbilityFileFA(projectConfig) { + const index = projectConfig.projectPath.split(path.sep).join('/').lastIndexOf('\/'); + const lastPathName = projectConfig.projectPath.substring(index + 1, projectConfig.projectPath.length); + const projectAbilityPath = path.resolve(projectConfig.projectPath,`${lastPathName}.ts`); + abilityConfig.projectAbilityPath = path.basename(projectAbilityPath); + const AbilityStagePath = path.resolve(projectConfig.projectPath,`../AbilityStage.ts`); + if (fs.existsSync(projectAbilityPath)) { + projectConfig.entryObj[`./${lastPathName}`] = projectAbilityPath + '?entry'; + } + if (fs.existsSync(AbilityStagePath)) { + projectConfig.entryObj[`../AbilityStage`] = AbilityStagePath + '?entry'; + } +} + function setAbilityPages(projectConfig) { let abilityPages = []; if (projectConfig.aceModuleJsonPath && fs.existsSync(projectConfig.aceModuleJsonPath)) { diff --git a/compiler/src/result_process.ts b/compiler/src/result_process.ts index fe96bf2a04b217aaa0e9540ac2ae8797bdf3d8d7..b7d7d47ad60ad021ff31cc0e802af94b681de06f 100644 --- a/compiler/src/result_process.ts +++ b/compiler/src/result_process.ts @@ -14,6 +14,7 @@ */ import ts from 'typescript'; +import path from 'path'; import { BUILD_OFF } from './pre_define'; import { @@ -59,9 +60,11 @@ module.exports = function resultProcess(source: string, map: any): void { resetLog(); } } - if ([abilityConfig.abilityEntryFile].concat(abilityConfig.projectAbilityPath).concat(abilityConfig.testRunnerFile).includes(this.resourcePath)) { + + const configPath = [abilityConfig.abilityEntryFile, 'AbilityStage.ts'].concat(abilityConfig.projectAbilityPath) + .concat(abilityConfig.testRunnerFile); + if (configPath.includes(path.basename(this.resourcePath)) || configPath.includes(this.resourcePath)) { source = source.replace(/exports\.default/, 'globalThis.exports.default'); } - this.callback(null, source, map); };