We have been collaborating on various projects within a unified lerna repository structure, including:
lerna
|----- app1 - application 1
|----- app2 - application 2
|----- appN - application N
|----- commondb (shared database libraries for app1, app2 to appN)
|----- commonux (common user experience libraries for app1, app2 to appN)
|----- commonauth (common authentication libraries for app1, app2 to appN)
As our codebase expanded, the lerna setup became cluttered with over 40 packages and excessive code.
We are now exploring ways to break down lerna into smaller components while still enabling applications to access shared libraries as before.
One potential solution is leveraging NPM (creating standalone common packages and publishing them on NPM), but we prefer to maintain our code within our own environment rather than relying on third-party services or cloud platforms (we operate our own git server).
What options exist for managing JavaScript libraries in this context? Which approach would be most suitable for addressing our specific needs?