(aws-cdk-lib): Reduce module size via new bundling strategy
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
As of September 2021, the current unpacked size of `aws-cdk-lib` is 161 MB. This is largely due to bundled dependencies, including the entire AWS CLI, and Lambda layers which include `kubectl`, `helm`, etc. To further complicate matters, there is an upcoming need to be able to reference multiple versions of each of the above, which will balloon the size of `aws-cdk-lib` to massive proportions.
We need to come up with a more clever and robust strategy for these dependencies. One such mechanism has been proposed -- at a high level -- in https://github.com/aws/aws-cdk-rfcs/issues/39. This is the tracking task for the implementation that follows either the above RFC or an alternative, equally clever, solution. See also https://github.com/aws/aws-cdk/issues/13993#issuecomment-871259375.
Contributor guide
Research direction
Start by reading RFC #39 and the discussion linked from issue #13993, then compare their proposed dependency strategies with the current aws-cdk-lib contents. Done means adopting and implementing a robust strategy that reduces the package size while supporting multiple versions of bundled dependencies; no implementation files or tests are named here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, helm, typescript
- Domain
- build-system, cloud, infrastructure
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100