in packages/cli/lib/mdaa-cli.ts [297:324]
private testModuleEffectiveConfigForPipelines(moduleEffectiveConfig: ModuleEffectiveConfig) {
const pipelines = Object.entries(this.config.contents.devops?.pipelines || {})
.filter(pipelineEntry => {
const pipelineConfig = pipelineEntry[1];
return (
(pipelineConfig.domainFilter == undefined ||
pipelineConfig.domainFilter?.includes(moduleEffectiveConfig.domainName)) &&
(pipelineConfig.envFilter == undefined ||
pipelineConfig.envFilter?.includes(moduleEffectiveConfig.envName)) &&
(pipelineConfig.moduleFilter == undefined ||
pipelineConfig.moduleFilter?.includes(moduleEffectiveConfig.moduleName))
);
})
.map(entry => entry[0]);
if (pipelines.length == 1) {
console.log(
`Module ${moduleEffectiveConfig.domainName}/${moduleEffectiveConfig.envName}/${moduleEffectiveConfig.moduleName} will be deployed via pipeline ${pipelines[0]}`,
);
} else if (pipelines.length > 1) {
throw new Error(
`Module ${moduleEffectiveConfig.domainName}/${moduleEffectiveConfig.envName}/${moduleEffectiveConfig.moduleName} matches multiple pipeline filters: ${pipelines}`,
);
} else {
console.warn(
`WARNING: Module ${moduleEffectiveConfig.domainName}/${moduleEffectiveConfig.envName}/${moduleEffectiveConfig.moduleName} matches no pipeline filters`,
);
}
}