chore: build changed clients script without scope option #3034
+2
−2
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.
Description
This change fixes a bug when changed client packages are sometimes not included in the client building scope.
Given the situation: The only changed package since last release is
middleware-sdk-ec2
.I expect the changed packages are
middleware-sdk-ec2
ANDclient-ec2
, because of dependency.And lerna returns the right result with
lerna changed --since
.However, if I scope the changed packages to be clients only(e.g.
lerna changed --since --scope '@aws-sdk/client-*'
), lerna won't return any packageBecause the lerna
--scope
filter is applied BEFORE detecting the changed packages. It won't detect the change inmiddleware-sdk-ec2
, and hence cannot load theclient-ec2
which contains this dependency.The current change uses command line operation to filter the changed clients and libs and set them as scope.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.