akh icon indicating copy to clipboard operation
akh copied to clipboard

Create a monorepo containing all of the Akh monads

Open b-gran opened this issue 8 years ago • 0 comments

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 lerna package 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), and lerna is 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

b-gran avatar Oct 09 '17 22:10 b-gran