descriptinc / descriptinc/dependicus
Let a grouping put one dependency under several values
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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