in packages/cli/lib/mdaa-cli-config-parser.ts [337:373]
private validateConfig() {
const namePattern = new RegExp(MdaaCliConfig.VALIDATE_NAME_REGEXP);
if (!namePattern.test(this.contents.organization)) {
throw new Error(
`Org name ${this.contents.organization} must match pattern ${MdaaCliConfig.VALIDATE_NAME_REGEXP}`,
);
}
Object.entries(this.contents.domains).forEach(domainEntry => {
if (!namePattern.test(domainEntry[0])) {
throw new Error(`Domain name ${domainEntry[0]} must match pattern ${MdaaCliConfig.VALIDATE_NAME_REGEXP}`);
}
Object.entries(domainEntry[1].environments).forEach(envEntry => {
if (!namePattern.test(envEntry[0])) {
throw new Error(`Env name ${envEntry[0]} must match pattern ${MdaaCliConfig.VALIDATE_NAME_REGEXP}`);
}
Object.entries(envEntry[1].modules || {}).forEach(moduleEntry => {
if (!namePattern.test(moduleEntry[0])) {
throw new Error(`Module name ${moduleEntry[0]} must match pattern ${MdaaCliConfig.VALIDATE_NAME_REGEXP}`);
}
});
});
Object.entries(domainEntry[1].env_templates || {}).forEach(envTemplateEntry => {
Object.entries(envTemplateEntry[1].modules || {}).forEach(moduleEntry => {
if (!namePattern.test(moduleEntry[0])) {
throw new Error(`Module name ${moduleEntry[0]} must match pattern ${MdaaCliConfig.VALIDATE_NAME_REGEXP}`);
}
});
});
});
Object.entries(this.contents.env_templates || {}).forEach(envTemplateEntry => {
Object.entries(envTemplateEntry[1].modules || {}).forEach(moduleEntry => {
if (!namePattern.test(moduleEntry[0])) {
throw new Error(`Module name ${moduleEntry[0]} must match pattern ${MdaaCliConfig.VALIDATE_NAME_REGEXP}`);
}
});
});
}