I am building a big project for Deno/Node (compatible with both) and the project has different parts I would like to split into their own repos. I have never built a project as complex as this (nowhere near alpha release but 10K LOC as of right now). It is a passion and learning project of mine.
I'm looking for a way to split the monorepo into "packages" so that it's easier to work on one area at a time, and also allows other devs in the future to work on it without having to git clone the whole repo.
I would also like to know if there's a magic way to keep releases, version tags and such in sync between all the repos, so in the end it looks like a monorepo but allows for better modularity.
Turning it into a modular codebase is kind of important, because the project is able self-update modules (it has its own small package manager separate from NPM that downloads and installs tarballs)
What is your approach to the mono/multirepo problem? Any advice, personal experiences or nice blog posts you can share? Better to use git subtree or submodule?
Thanks in advance, fellow hackers!