feat: skip adding param if @placeholder@ already exists in template

This commit is contained in:
sokol
2026-02-18 17:34:27 +03:00
parent 5890745ed2
commit fb57cf6376

View File

@@ -63,6 +63,7 @@ export class Config {
/** /**
* Updates the template JSON by adding/updating params from the given environment. * Updates the template JSON by adding/updating params from the given environment.
* Params are added as "!!! paramName": "@paramName@" placeholder pairs. * Params are added as "!!! paramName": "@paramName@" placeholder pairs.
* If a param's @placeholder@ already exists in template, it won't be added.
* Existing template content is preserved. * Existing template content is preserved.
*/ */
updateTemplateFromEnv(env: Env) { updateTemplateFromEnv(env: Env) {
@@ -81,9 +82,15 @@ export class Config {
// Add/update params from the environment as placeholders // Add/update params from the environment as placeholders
for (const param of env.params) { for (const param of env.params) {
if (param.name && param.name.trim() !== "") { if (param.name && param.name.trim() !== "") {
const placeholderKey = `!!! ${param.name}`;
const placeholderValue = `@${param.name}@`; const placeholderValue = `@${param.name}@`;
templateObj[placeholderKey] = placeholderValue;
// Check if this placeholder already exists anywhere in the template
const placeholderAlreadyExists = this.template.content.includes(placeholderValue);
if (!placeholderAlreadyExists) {
const placeholderKey = `!!! ${param.name}`;
templateObj[placeholderKey] = placeholderValue;
}
} }
} }