descriptinc / descriptinc/dependicus

Let a grouping put one dependency under several values

Open Beginner friendly
#112 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
11
Forks
1
Avg merge
3d 12h
Merged PRs (30d)
5

Description

GroupingConfig.getValue returns one value per dependency, so toGroupingPages files each dependency under exactly one group. That works for a partition (a compliance tier, a policy) but not for a dimension where membership overlaps.

I group dependencies by the team that owns the code using them. Most dependencies here have several owners: four apps across three teams use @apollo/client. A single grouping has to pick one of those teams, and the other two lose the dependency from their page.

The workaround is a grouping per team, each returning its own label or undefined. It does give every team a page with everything it depends on, and a nav link, which is what I wanted. Two things come out wrong though:

  • Every grouping has exactly one value, so each detail page is titled {label}: {value}, which renders as "Growth: Growth".
  • Each grouping's index page lists a single entry, so there's a redundant hop from the nav to the page you wanted.

If getValue could return string | readonly string[] | undefined, one grouping keyed on team would cover it: the index lists every team with its counts, each team's detail page has all of its dependencies including shared ones, and the title reads "Team: Growth". The bucketing loop is the only place that needs to change, and a single string keeps working.


🧑‍🦲 I'll send a PR for this soon

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at GroupingConfig.getValue and the toGroupingPages bucketing loop. Trace how grouping values become index entries and detail-page titles; done means accepting multiple labels while preserving single-string behavior, including shared dependencies on each relevant team page without redundant index or title output.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.