in packages/cli/lib/mdaa-cli.ts [815:843]
private computeModuleEffectiveConfig(
mdaaModuleName: string,
mdaaModule: MdaaModuleConfig,
envEffectiveConfig: EnvEffectiveConfig,
): ModuleEffectiveConfig {
const modulePath = mdaaModule.module_path ? mdaaModule.module_path : mdaaModule.cdk_app; //NOSONAR
if (!modulePath) {
throw new Error('One of cdp_app or module_path must be defined');
}
return {
...envEffectiveConfig,
moduleName: mdaaModuleName,
useBootstrap:
envEffectiveConfig.useBootstrap && (mdaaModule.use_bootstrap == undefined || mdaaModule.use_bootstrap),
moduleConfigFiles: [...(mdaaModule.app_configs || []), ...(mdaaModule.module_configs || [])], //NOSONAR
effectiveModuleConfig: { ...(mdaaModule.app_config_data || {}), ...(mdaaModule.module_config_data || {}) }, //NOSONAR
moduleType: mdaaModule.module_type ?? 'cdk',
modulePath: modulePath,
additionalAccounts: mdaaModule.additional_accounts,
mdaaCompliant: mdaaModule.mdaa_compliant,
effectiveContext: this.computeEffectiveContext(envEffectiveConfig, mdaaModule.context),
effectiveTagConfig: this.computeEffectiveTagConfig(envEffectiveConfig, mdaaModule.tag_config_data),
effectiveMdaaVersion: this.computeEffectiveMdaaVersion(envEffectiveConfig, mdaaModule.mdaa_version),
tagConfigFiles: this.computeEffectiveTagConfigFiles(envEffectiveConfig, mdaaModule.tag_configs),
customAspects: this.computeEffectiveCustomAspects(envEffectiveConfig, mdaaModule.custom_aspects),
customNaming: this.computeEffectiveCustomNaming(envEffectiveConfig, mdaaModule.custom_naming),
terraform: this.computeEffectiveTerraformConfig(envEffectiveConfig, mdaaModule.terraform),
};
}