aws / aws/aws-cdk

(aws-cdk-lib): Reduce module size via new bundling strategy

Open
#16,442 1 comment 3 reactions 0 assignees View on GitHub
aws-cdk-lib effort/large feature-request p1
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.