fix(cloudformation-diff): string.replace error on cdk context
(#2854)
#2870
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2854
@aws-sdk/cloudformation-diff
depended on version^2.1.1
of thestring-width
library inv0.28.0
ofaws-sdk
. Inv0.29.0
, the dependency was bumped to^4.1.0
, which inadvertently broke thecdk context
command as reported in: #2854.The current version of
string-width
executes a string replacement, which ends up failing when a non-string (such as theint
row numbers of thecdk context
values). This did not previously occur, as the typecheck forstring
would cause the function to return early and report zero-length.The easiest solution here is to cast these values to
string
, which has the beneficial side effect of ensuring that their character lengths are taken into consideration rather than being defaulted to0
as they had previously been.re: PR checklist, I would need some assistance with the Testing, as I don't have a fully provisioned local development environment for CDK available. Title and Description is all set, though, and Docs / Sensitive Modules are not applicable here.
Pull Request Checklist
design
folderBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.