Particularly in projects with extensive dependencies, it becomes increasingly challenging to manage and optimize these dependencies efficiently. Two specific problems frequently arise:
Duplicate dependencies: projects often accumulate duplicate dependencies over time. These can occur due to various reasons, such as different team members adding the same dependency for different features or through nested dependencies in package management. This duplication unnecessarily inflates bundle sizes, impacting application performance and load times.
Replaceable dependencies: as projects evolve, some dependencies may become obsolete or less efficient than newer alternatives. However, identifying these replaceable dependencies, evaluating alternatives, and understanding the impact of replacement on the project can be complex and time-consuming.
When I am reviewing my project's dependencies, I want to easily identify any duplicate dependencies and understand if there are more efficient alternatives to my current dependencies, so I can optimize my project's performance and maintainability by reducing bloat and ensuring the use of the most efficient libraries available.
my feeling is that this is better suited to a "bundle management" use case vs reporting and gating commits based on changes in overall bundle size or some deps
Problem to solve
Particularly in projects with extensive dependencies, it becomes increasingly challenging to manage and optimize these dependencies efficiently. Two specific problems frequently arise:
https://github.com/codecov/engineering-team/assets/87861036/49c18ca0-1819-4481-9693-3501f7695466
Discovery exploration