@@ -40,35 +40,35 @@ async function mergeEnvTemplate(baseTemplatePath, baseTemplateJson, environment)
40
40
try {
41
41
enviromentTemplateString = await readFileAsync ( environmentTemplatePath , 'utf8' )
42
42
} catch ( e ) {
43
- return
43
+ return [ baseTemplatePath , baseTemplateJson ]
44
44
}
45
45
log . info ( `Merging ${ environment } template (${ environmentTemplatePath } ) with base template (${ baseTemplatePath } )` )
46
46
const enviromentTemplateJson = parseTemplate ( enviromentTemplateString , templateExt )
47
47
const mergedTemplateJson = deepmerge ( baseTemplateJson , enviromentTemplateJson )
48
48
const mergedTemplateString = serializeTemplate ( mergedTemplateJson , templateExt )
49
49
const mergedTemplatePath = filePathWithSuffix ( baseTemplatePath , `-${ environment } -merged` )
50
50
await writeFileAsync ( mergedTemplatePath , mergedTemplateString )
51
- return mergedTemplatePath
51
+ return [ mergedTemplatePath , mergedTemplateJson ]
52
52
}
53
53
54
54
module . exports = async function packageProject ( input ) {
55
55
const templatePath = findTemplatePath ( input )
56
56
const templateString = await readFileAsync ( templatePath , 'utf8' )
57
57
const templateExt = extname ( templatePath )
58
58
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
61
63
const stackName = input [ 'stack-name' ] || `${ parameters . stackName && parameters . stackName . Default } -${ environment } `
62
64
const bucketName = input [ 's3-bucket' ] || ( parameters . bucketName && parameters . bucketName . Default )
63
65
const s3Prefix =
64
66
input [ 's3-prefix' ] ||
65
67
( parameters . s3Prefix && parameters . s3Prefix . Default ) ||
66
68
`${ stackName } /${ new Date ( ) . getFullYear ( ) } `
67
- const templatePathEnvMerged = await mergeEnvTemplate ( templatePath , templateJson , environment )
68
- const templatePathPackaged = filePathWithSuffix ( templatePath , '-packaged' )
69
69
const command =
70
70
`aws cloudformation package ` +
71
- `--template-file ${ templatePathEnvMerged || templatePath } ` +
71
+ `--template-file ${ templatePathEnvMerged } ` +
72
72
`--output-template-file ${ templatePathPackaged } ` +
73
73
`--s3-bucket ${ bucketName } ` +
74
74
`${ s3Prefix ? ' --s3-prefix ' + s3Prefix : '' } ` +
0 commit comments