@@ -28,6 +28,7 @@ import { tryRefactorStack } from './cfn-stack-refactor-updater';
2828import CfnOutputResolver from './resolvers/cfn-output-resolver' ;
2929import CfnDependencyResolver from './resolvers/cfn-dependency-resolver' ;
3030import CfnParameterResolver from './resolvers/cfn-parameter-resolver' ;
31+ import ora from 'ora' ;
3132
3233const CFN_RESOURCE_STACK_TYPE = 'AWS::CloudFormation::Stack' ;
3334const GEN2_AMPLIFY_AUTH_LOGICAL_ID_PREFIX = 'amplifyAuth' ;
@@ -242,21 +243,22 @@ class TemplateGenerator {
242243 categoryTemplateGenerator : CategoryTemplateGenerator < CFN_CATEGORY_TYPE > ,
243244 sourceCategoryStackId : string ,
244245 ) : Promise < CFNTemplate | undefined > {
246+ let updatingGen1CategoryStack ;
245247 try {
246248 const { newTemplate, parameters : gen1StackParameters } = await categoryTemplateGenerator . generateGen1PreProcessTemplate ( ) ;
247249
248250 assert ( gen1StackParameters ) ;
249- console . log ( `Updating Gen1 ${ category } stack...` ) ;
251+ updatingGen1CategoryStack = ora ( `Updating Gen1 ${ category } stack...` ) . start ( ) ;
250252
251253 const gen1StackUpdateStatus = await tryUpdateStack ( this . cfnClient , sourceCategoryStackId , gen1StackParameters , newTemplate ) ;
252254
253255 assert ( gen1StackUpdateStatus === CFNStackStatus . UPDATE_COMPLETE ) ;
254- console . log ( `Updated Gen1 ${ category } stack successfully` ) ;
256+ updatingGen1CategoryStack . succeed ( `Updated Gen1 ${ category } stack successfully` ) ;
255257
256258 return newTemplate ;
257259 } catch ( e ) {
258260 if ( this . isNoResourcesError ( e ) ) {
259- console . log ( e . message ) ;
261+ updatingGen1CategoryStack ?. succeed ( `No resources found to move in Gen1 ${ category } stack. Skipping update.` ) ;
260262 return undefined ;
261263 }
262264 throw e ;
@@ -274,12 +276,12 @@ class TemplateGenerator {
274276 } > {
275277 const { newTemplate, oldTemplate, parameters } = await categoryTemplateGenerator . generateGen2ResourceRemovalTemplate ( ) ;
276278
277- console . log ( `Updating Gen2 ${ category } stack...` ) ;
279+ const updatingGen2CategoryStack = ora ( `Updating Gen2 ${ category } stack...` ) . start ( ) ;
278280
279281 const gen2StackUpdateStatus = await tryUpdateStack ( this . cfnClient , destinationCategoryStackId , parameters ?? [ ] , newTemplate ) ;
280282
281283 assert ( gen2StackUpdateStatus === CFNStackStatus . UPDATE_COMPLETE ) ;
282- console . log ( `Updated Gen2 ${ category } stack successfully` ) ;
284+ updatingGen2CategoryStack . succeed ( `Updated Gen2 ${ category } stack successfully` ) ;
283285
284286 return { newTemplate, oldTemplate, parameters } ;
285287 }
@@ -369,7 +371,6 @@ class TemplateGenerator {
369371 logicalIdMappingForRefactor = logicalIdMapping ;
370372 } catch ( e ) {
371373 if ( typeof e === 'object' && 'message' in e && e . message . includes ( NO_RESOURCES_TO_MOVE_ERROR ) ) {
372- console . log ( e . message ) ;
373374 continue ;
374375 }
375376 throw e ;
@@ -378,6 +379,7 @@ class TemplateGenerator {
378379
379380 assert ( newSourceTemplate ) ;
380381 assert ( newDestinationTemplate ) ;
382+ const refactorResources = ora ( `Moving ${ category } resources from ${ this . getSourceToDestinationMessage ( isRevert ) } stack...` ) . start ( ) ;
381383 const { success, failedRefactorMetadata } = await this . refactorResources (
382384 logicalIdMappingForRefactor ,
383385 sourceCategoryStackId ,
@@ -388,7 +390,7 @@ class TemplateGenerator {
388390 destinationTemplateForRefactor ,
389391 ) ;
390392 if ( ! success ) {
391- console . log (
393+ refactorResources . fail (
392394 `Moving ${ category } resources from ${ this . getSourceToDestinationMessage ( isRevert ) } stack failed. Reason: ${
393395 failedRefactorMetadata ?. reason
394396 } . Status: ${ failedRefactorMetadata ?. status } . RefactorId: ${ failedRefactorMetadata ?. stackRefactorId } .`,
@@ -399,7 +401,7 @@ class TemplateGenerator {
399401 }
400402 return false ;
401403 } else {
402- console . log ( `Moved ${ category } resources from ${ this . getSourceToDestinationMessage ( isRevert ) } stack successfully` ) ;
404+ refactorResources . succeed ( `Moved ${ category } resources from ${ this . getSourceToDestinationMessage ( isRevert ) } stack successfully` ) ;
403405 }
404406 }
405407 if ( ! isRevert ) {
@@ -435,7 +437,6 @@ class TemplateGenerator {
435437 } ,
436438 } ) ;
437439 }
438- console . log ( `Moving ${ category } resources from ${ this . getSourceToDestinationMessage ( isRevert ) } stack...` ) ;
439440 const [ success , failedRefactorMetadata ] = await tryRefactorStack ( this . cfnClient , {
440441 StackDefinitions : [
441442 {
@@ -458,10 +459,10 @@ class TemplateGenerator {
458459 gen2StackParameters : Parameter [ ] | undefined ,
459460 oldGen2Template : CFNTemplate ,
460461 ) {
461- console . log ( `Rolling back Gen2 ${ category } stack...` ) ;
462+ const rollingBackGen2Stack = ora ( `Rolling back Gen2 ${ category } stack...` ) . start ( ) ;
462463 const gen2StackUpdateStatus = await tryUpdateStack ( this . cfnClient , gen2CategoryStackId , gen2StackParameters ?? [ ] , oldGen2Template ) ;
463464 assert ( gen2StackUpdateStatus === CFNStackStatus . UPDATE_COMPLETE , `Gen2 Stack in a failed state: ${ gen2StackUpdateStatus } .` ) ;
464- console . log ( `Rolled back Gen2 ${ category } stack successfully` ) ;
465+ rollingBackGen2Stack . succeed ( `Rolled back Gen2 ${ category } stack successfully` ) ;
465466 }
466467
467468 private async generateRefactorTemplatesForRevert (
0 commit comments