function formatResourceChanges()

in src/helpers/whatif.ts [214:237]


function formatResourceChanges(
  builder: ColorStringBuilder,
  resourceChanges: WhatIfChange[],
): void {
  if (!resourceChanges.length) return;

  const numScopes = new Set(resourceChanges.map(getScopeUppercase)).size;
  const resourceChangesByScope = groupBy(
    resourceChanges.sort((a, b) =>
      getScopeUppercase(a).localeCompare(getScopeUppercase(b)),
    ),
    getScopeUppercase,
  );

  builder.appendLine();
  builder.appendLine(
    `The deployment will update the following ${numScopes === 1 ? "scope:" : "scopes:"}`,
  );

  for (const [, resourceChangesInScope] of entries(resourceChangesByScope)) {
    const scope = getScope(resourceChangesInScope[0]);
    formatResourceChangesInScope(builder, scope, resourceChangesInScope);
  }
}