Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DISCOVERY: Identifying and Managing Unnecessary or Duplicated Dependencies #1420

Open
Tracked by #1115
codecovdesign opened this issue Mar 14, 2024 · 2 comments
Open
Tracked by #1115
Labels
in discovery The design, product, and specifications require refinement

Comments

@codecovdesign
Copy link
Contributor

codecovdesign commented Mar 14, 2024

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:

  • 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.

GH-1420.mp4

Discovery exploration

  • Dependency Analysis: implement a feature that scans the project's dependencies to identify any duplicates or dependencies that are no longer used.
  • Impact estimation: offer insights into how each dependency (or its removal) impacts the bundle size.
  • Optimization suggestions: provide actionable recommendations for removing or consolidating dependencies without sacrificing functionality.
@codecovdesign codecovdesign changed the title INSIGHT: help user identify duplicate assets/components DISCOVERY: identifying and Managing Unnecessary or Duplicated Dependencies Mar 14, 2024
@codecovdesign codecovdesign changed the title DISCOVERY: identifying and Managing Unnecessary or Duplicated Dependencies DISCOVERY: Identifying and Managing Unnecessary or Duplicated Dependencies Mar 14, 2024
@codecovdesign codecovdesign added Dev-Ready This means the UX is reviewed and ready for prioritization scheduling. in discovery The design, product, and specifications require refinement and removed Dev-Ready This means the UX is reviewed and ready for prioritization scheduling. labels Mar 14, 2024
@rohan-at-sentry
Copy link

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

@codecovdesign
Copy link
Contributor Author

codecovdesign commented Aug 7, 2024

related feedback to consider from slack @armen G.:

I think it's even more important to show it when we know dependency trees are changed. Customers may be adding a ton load of code when adding a single package

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in discovery The design, product, and specifications require refinement
Projects
None yet
Development

No branches or pull requests

2 participants