-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Monorepo? #442
Comments
tl;dr: I am generally pro-monorepo. Happy to try something. npm workspaces look nice. I have two experiences consolidating multiple repos: braintree-web, a work team project, and Helmet, a personal open source project. Both of these experiences were positive. It was a little difficult to get working but the benefits far outweighed the costs, in my opinion. I think there are several benefits to monorepos, but the biggest is improved development velocity. It speeds things up in a few ways:
These issues could totally have been solved another way. For example, we could reduce duplication with more dependencies. But I think monorepos are a more elegant solution to these problems. It may not work for us for some reason—every project is different—but I'm glad we're considering it. I'm also unsure which projects would be folded into a monorepo and which would be left out (if any). Should CoMapeo-mobile be part of the monorepo, for example? I don't know the best monorepo tool for 2024, but I'd evaluate npm workspaces and Lerna. npm workspaces seem pretty easy, at a glance. If this is something we're considering, I'm happy to do some proper investigation and write up a proposal. |
Agree that a monorepo would probably be to our benefit in this case (I don't have a ton experience with them personally). @EvanHahn thanks for the details! I'd be very interested in you taking the lead and proposing something. Personally would hope that npm workspaces work well enough for us, but again, no prior experience with it. Off the top of my head, the modules that should be part of a potential monorepo would be:
I'd be hesitant to include application repos like comapeo-mobile, but that's just a gut feeling. |
also just adding that https://nx.dev/ is the successor project to lerna, if that helps in any case. |
Does it make sense to switch this to a monorepo with related modules? In particular mapeo-schema, which is very closely tied to this? @EvanHahn maybe you have some experience with monorepo setups? My impression is that they are a lot of work to get all the tooling working.
The text was updated successfully, but these errors were encountered: