akh
akh copied to clipboard
Create a monorepo containing all of the Akh monads
Proposal: move Akh to a monorepo
Why?
It's very hard to contribute across Akh monads:
- Changes to one monad may affect others (some tests depend on other monads)
- The main Akh package must manually keep versions of child packages up-to-date (this has caused bugs in the past)
- If one wants to add e.g. a new prototype method to all transformers (that can't go on
core.spec), they need to check out every repo (currently 11) plus the base repo to make the changes
How?
There are some great tools for managing monorepos (e.g. lerna).
Proposed migration with lerna:
- Each Akh monad is a
lernapackage within the base Akh package - Initially (and for backwards compatibility) each Akh monad is still published as its own package
- The versions of all Akh monads are bumped to the version of Akh (say
3.2.0), andlernais operated in Fixed mode
What do you think about moving to a monorepo? We're still able to publish individual packages for each monad (if this is something people are using).
I'm happy to help with the migration, or even open an initial PR myself -- just want to check with you before spending a lot of time on this