UNPKG

@hadss/hmrouter-plugin

Version:

HMRouter Compiler Plugin

54 lines (53 loc) 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigUpdateProcessor = void 0; const framework_1 = require("../../framework"); const constants_1 = require("../constants"); class ConfigUpdateProcessor { constructor(context) { this.moduleContext = context.moduleContext; this.routerMap = context.routerMap; this.nodeName = context.node.getNodeName(); } execute() { framework_1.Logger.debug(this.nodeName, `Start to update module.json and build profile...`); this.updateModuleJson(); this.updateBuildProfile(); } updateModuleJson() { const moduleJsonOpt = this.moduleContext.getModuleJsonOpt(); moduleJsonOpt.module.routerMap = constants_1.RouterMapConstants.MODULE_ROUTER_MAP_NAME; this.moduleContext.setModuleJsonOpt(moduleJsonOpt); framework_1.Logger.info(this.nodeName, `Update module.json5 routerMap successfully, current routerMap: ${this.moduleContext.getModuleJsonOpt().module.routerMap}`); } updateBuildProfile() { const buildProfileOpt = this.moduleContext.getBuildProfileOpt(); let sources = framework_1.ObjectUtils.ensureNestedObject(buildProfileOpt, [ 'buildOption', 'arkOptions', 'runtimeOnly', 'sources', ]); if (!Array.isArray(sources)) { buildProfileOpt.buildOption.arkOptions.runtimeOnly.sources = []; } this.pushRouterInfo(buildProfileOpt, this.routerMap); this.moduleContext.setBuildProfileOpt(buildProfileOpt); framework_1.Logger.info(this.nodeName, `Update build profile successfully, current sources: ${this.moduleContext.getBuildProfileOpt()?.buildOption?.arkOptions?.runtimeOnly?.sources}`); } pushRouterInfo(buildProfileOpt, routerMap) { let sources = buildProfileOpt.buildOption.arkOptions.runtimeOnly.sources; routerMap.forEach((item) => { const name = item.name; if (name.includes(constants_1.PrefixConstants.LIFECYCLE_PREFIX) || name.includes(constants_1.PrefixConstants.INTERCEPTOR_PREFIX) || name.includes(constants_1.PrefixConstants.ANIMATOR_PREFIX) || name.includes(constants_1.PrefixConstants.SERVICE_PREFIX) || name.includes(constants_1.PrefixConstants.SERVICE_PROVIDE_PREFIX)) { sources.push(constants_1.FilePathConstants.CURRENT_DELIMITER + item.pageSourceFile); } }); sources = [...new Set(sources)]; } } exports.ConfigUpdateProcessor = ConfigUpdateProcessor;