Looking for recommendations on managing a fullstack monorepo serving multiple teams and domains with a unified design system. Should we avoid private npm packages or try git submodules instead?
Based on my experience managing similar setups in fullstack monorepos, I find that maintaining a private npm package offers better control over versioning and dependency management compared to git submodules. The npm approach integrates more seamlessly with continuous integration workflows and allows teams to update packages independently without the overhead of synchronizing submodule references. In previous projects, sticking with private npm packages substantially simplified our deployment process and reduced potential conflicts in concurrent development. While git submodules might have their niche in certain scenarios, I would lean towards private npm packages in a large, dynamic team environment.
In my work with fullstack monorepos, I discovered that managing shared modules through private npm packages typically proves more efficient than dealing with git submodules. The integration with CI/CD pipelines tends to be more straightforward, and version control becomes a lot more manageable when updates rely on package versioning. I found that using private packages not only simplified dependency management but also provided a cleaner process for rolling out incremental updates. In my experience, this resulted in fewer synchronization issues and improved overall team productivity.