[Feature Request][Help Offer] Get All References
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 1.9k
- Forks
- 121
- Avg merge
- 2m
- Merged PRs (30d)
- 1
Description
Hey all,
Gusto just recently open sources QueryPackwerk, which allows you to query packwerk violations in much the same way as you might query an ActiveRecord object. One of the key weaknesses of this gem is that it relies on Violations to run, and the ParsePackwerk gem to fuel them, meaning that if anything is added to a TODO it gets skipped.
Is there a way to potentially get all Packwerk references into a single list?
My hunch is yes, but I'm having a bit of trouble piecing together how to go about that. I think that using a Checker might be a path, and then trying to emulate a bit of how violations work today except trying to get rid of any exclusion clauses. Is that the right direction, or am I missing something? Currently trying to reconstitute this from the source code to see if I can cobble something together, but also wanted to check if something already exists or there's an easier way that I'm not seeing here.
TL;DR: I want to help create a way to get a list of all references in Packwerk, but could use a few pointers or some direction as this is not a documented path for the library.
If it does not exist I'd be up for helping to get it going, and adding it to tools like QueryPackwerk. I seem to remember a while ago I was chatting with Rafael about potentially even putting references into a SQLite3 DB of some sort to try and make tooling here even easier, but it's been a bit.
EDIT: I do see this PR looks to achieve what I'm looking for, could we consider merging it?
Contributor guide
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 by reviewing PR #397 and the Checker, Violations, and ParsePackwerk paths mentioned in the issue. Confirm whether the proposed approach returns all references, including those in TODOs, and whether it supports QueryPackwerk; done means an agreed implementation or mergeable follow-up.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100