Move all stuff to monorepo? #3170
Replies: 3 comments
-
Short answer: been there, done that, no thanks. Haraka used to be a monorepo. Although some things were better in a monorepo, many things were not. Things that I find worse in a monorepo:
|
Beta Was this translation helpful? Give feedback.
-
This is a point I want to push back against. It's actually substantially easier now to maintain Haraka packages. We have shared CI workflows that most every repo uses. (Exceptions tend to be things like plugins that require Redis and won't successfully test on Windows, and stuff like that). Separating out those edge cases into lower modules where they're affected means the main Haraka repo doesn't have 413 workarounds for every type of issue that arises somewhere in our code base. Having a pile of haraka libraries nudged me to spend the time to automate the release process. It wouldn't have ever happened in the monorepo, because releases were much less frequent. Now releasing is something that's done often. (Yes, we did look at a dozens of already baked release workflows, but all depended on particular workflows that the history in our main repo didn't adhere to, or required that every developer adhere to things like Conventional Commits. Fine by me, but I won't make that a hurdle everyone else must jump. |
Beta Was this translation helpful? Give feedback.
-
Cache available +
You can also do this with workspaces ("monorepo" != "move all js to one directory").
You can use |
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem? Please describe.
Feature request
Describe the solution you'd like
haraka/Haraka
depends on many otherharaka/*
packages (plugins, core...). Its not easy to maintain all of them (and packages deps).I thinks that monorepo can help with that. Using this solution plugins will be easy to debug and develop.
Describe alternatives you've considered
Additional context
For example: I try to make PoC (I use
master
for allharaka/*
packages):Beta Was this translation helpful? Give feedback.
All reactions