Skip to content

Commit 38ad745

Browse files
Dave Steinbergredterrorgpoitch
authored
Use the merged template instead of the base one for parameters (#23)
* use the merged template instead of the base one for parameters * return json instead of re-reading from file * removing trying to read env from template params * always return something from template merging Co-authored-by: Dave Steinberg <dave@steinbergcomputing.com> Co-authored-by: gpoitch <garth22@gmail.com>
1 parent 5af60a9 commit 38ad745

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/commands/package.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,35 +40,35 @@ async function mergeEnvTemplate(baseTemplatePath, baseTemplateJson, environment)
4040
try {
4141
enviromentTemplateString = await readFileAsync(environmentTemplatePath, 'utf8')
4242
} catch (e) {
43-
return
43+
return [baseTemplatePath, baseTemplateJson]
4444
}
4545
log.info(`Merging ${environment} template (${environmentTemplatePath}) with base template (${baseTemplatePath})`)
4646
const enviromentTemplateJson = parseTemplate(enviromentTemplateString, templateExt)
4747
const mergedTemplateJson = deepmerge(baseTemplateJson, enviromentTemplateJson)
4848
const mergedTemplateString = serializeTemplate(mergedTemplateJson, templateExt)
4949
const mergedTemplatePath = filePathWithSuffix(baseTemplatePath, `-${environment}-merged`)
5050
await writeFileAsync(mergedTemplatePath, mergedTemplateString)
51-
return mergedTemplatePath
51+
return [mergedTemplatePath, mergedTemplateJson]
5252
}
5353

5454
module.exports = async function packageProject(input) {
5555
const templatePath = findTemplatePath(input)
5656
const templateString = await readFileAsync(templatePath, 'utf8')
5757
const templateExt = extname(templatePath)
5858
const templateJson = parseTemplate(templateString, templateExt)
59-
const parameters = templateJson.Parameters
60-
const environment = input.environment || (parameters.environment && parameters.environment.Default) || 'development'
59+
const environment = input.environment || 'development'
60+
const [templatePathEnvMerged, mergedTemplateJson] = await mergeEnvTemplate(templatePath, templateJson, environment)
61+
const templatePathPackaged = filePathWithSuffix(templatePath, '-packaged')
62+
const parameters = mergedTemplateJson.Parameters
6163
const stackName = input['stack-name'] || `${parameters.stackName && parameters.stackName.Default}-${environment}`
6264
const bucketName = input['s3-bucket'] || (parameters.bucketName && parameters.bucketName.Default)
6365
const s3Prefix =
6466
input['s3-prefix'] ||
6567
(parameters.s3Prefix && parameters.s3Prefix.Default) ||
6668
`${stackName}/${new Date().getFullYear()}`
67-
const templatePathEnvMerged = await mergeEnvTemplate(templatePath, templateJson, environment)
68-
const templatePathPackaged = filePathWithSuffix(templatePath, '-packaged')
6969
const command =
7070
`aws cloudformation package ` +
71-
`--template-file ${templatePathEnvMerged || templatePath} ` +
71+
`--template-file ${templatePathEnvMerged} ` +
7272
`--output-template-file ${templatePathPackaged} ` +
7373
`--s3-bucket ${bucketName}` +
7474
`${s3Prefix ? ' --s3-prefix ' + s3Prefix : ''}` +

0 commit comments

Comments
 (0)