What you are expressing is a natural progression and a realization a lot of people make when they start building libraries that share dependencies. Working with multiple repositories can be overwhelming and this is why monorepos and tools like Nx exist.
Nx will allow you to have multiple apps in the same repository and multiple libraries for the parts of the code you want to share. They will also share the dependencies tree so it will be less hectic to manage dependencies updates, versioning ... etc.
In my experience, Nx saved me a lot of time. I have seen people trying multiple repos, then tried git submodules and finally moved to monorepos. To answer your questions:
Yes you are right, monorepo like Nx can help you.
I wouldn't it a problem but it's a different way of doing things.
- You and your team will have to learn more about Nx and how to structure your applications in a modular way to gain the benefits of using monorepo.
- Your build scripts running in your CI/CD environment will be updated to detect which app got updated with the changes made to your code. You will not need to build 57 libraries and release them if only one library got affected by an update you made to your code. It's all explained in Nx docs, you will have to follow.