chore(aws-cdk-lib): extract experimental L2s from aws-cdk-lib #14135
Merged
mergify[bot] merged 25 commits intomasterfrom Apr 19, 2021
Merged
chore(aws-cdk-lib): extract experimental L2s from aws-cdk-lib #14135mergify[bot] merged 25 commits intomasterfrom
mergify[bot] merged 25 commits intomasterfrom
Conversation
NetaNir
commented
Apr 13, 2021
packages/aws-cdk/test/integ/uberpackage/uberpackage.integtest.ts
Outdated
Show resolved
Hide resolved
NetaNir
commented
Apr 13, 2021
iliapolo
reviewed
Apr 14, 2021
nija-at
suggested changes
Apr 14, 2021
f0df306 to
d29a2a2
Compare
a0357d3 to
b32dd03
Compare
nija-at
approved these changes
Apr 19, 2021
Co-authored-by: Niranjan Jayakar <nija@amazon.com>
Co-authored-by: Niranjan Jayakar <nija@amazon.com>
Contributor
|
Thank you for contributing! Your pull request will be updated from master and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Contributor
|
Thank you for contributing! Your pull request will be updated from master and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Collaborator
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
hollanddd
pushed a commit
to hollanddd/aws-cdk
that referenced
this pull request
Aug 26, 2021
) This PR adds logic to extract the L2 of experimental modules from `aws-cdk-lib`. The reason for keeping the L1s of experimental modules is twofold: 1. Removing the L1 means that modules with an experimental L2 are in a disadvantage in comparison to modules that does not have an L2. 2. `CfnInclude` requires the L1. The main logic was added in `ubergen`. If the monolithic package includes the key `ubergen.stripExperimental` in its `package.json` file, experimental modules source files will not be copied, instead we execute `cfn2ts` to regenerate the L1. #### Testing 1. Added a post-package script -`verify-stripped-exp.js`, to `aws-cdk-lib`. The script will install the tarball and verify that only L1 files are includes in experimental modules. 2. verified that the generated tarball can be used with a consumer application, and that experimental modules are working properly. adding `do-not-merege` as some stable modules still depends on experimental modules, the work to remove these dependencies is in progress. #### Unrelated callout We found a bug in a util function copied from `ubergen`, this PR adds a fix to both code path, but clearly this copy-pasta is not a great mechanism. This kind of copied util scripts is prevalent across our repo and we don't yet have a mechnisam to share sure common runtime functionally between modules. Not sure what is the right solution here but wanted to call it out, in case someone has a fix/methodology I have missed. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds logic to extract the L2 of experimental modules from
aws-cdk-lib. The reason for keeping the L1s of experimental modules is twofold:CfnIncluderequires the L1.The main logic was added in
ubergen. If the monolithic package includes the keyubergen.stripExperimentalin itspackage.jsonfile, experimental modules source files will not be copied, instead we executecfn2tsto regenerate the L1.Testing
Added a post-package script -
verify-stripped-exp.js, toaws-cdk-lib. The script will install the tarball and verify that only L1 files are includes in experimental modules.verified that the generated tarball can be used with a consumer application, and that experimental modules are working properly.
adding
do-not-meregeas some stable modules still depends on experimental modules, the work to remove these dependencies is in progress.Unrelated callout
We found a bug in a util function copied from
ubergen, this PR adds a fix to both code path, but clearly this copy-pasta is not a great mechanism. This kind of copied util scripts is prevalent across our repo and we don't yet have a mechnisam to share sure common runtime functionally between modules. Not sure what is the right solution here but wanted to call it out, in case someone has a fix/methodology I have missed.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license