lambdaisland / lambdaisland/kaocha
Extract more of the plumbing around entry points for reuse
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 860
- Forks
- 81
- PR merge metrics
- No merged PRs in 30d
Description
While working on polylith-kaocha I noticed that kaocha's 3 entry points (cli, -x, repl) seemingly reimplement common functionality with some subtle differences (like cloverage not being usable from repl/run). Because I wanted to support cloverage in p-k I had to again reimplement some of the stuff that -x does.
It would be great from the perspective of other tooling calling kaocha in-process to have more of this common functionality available for reuse without having to be aware of internals. I imagine most of the benefits of this work would only be towards tooling authors mind you.
Apart from the wrappers around the main process with all hooks, one area that could be helpful is exposing the parsing of -m-style command line args so other command-line tooling calling kaocha could pass them through without calling -m or having to understand it.
Potentially related issue: #305
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
Compare Kaocha's three entry points—cli, -x, and repl—and read the linked polylith_kaocha/kaocha_wrapper/runner.clj lines 31-67 for an example of duplicated behavior. Identify which hooks and -m-style argument parsing can be exposed for in-process tooling; done means callers can reuse that functionality without depending on internals and the entry points behave consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- testing, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100