Monorepos are an increasingly common pattern for organizations that create and manage a large number of NPM packages. They allow for a high-level of code reuse, consolidated linting, testing, and versioning. The only real downside is investment the time to create and keep it running. It is a rather complex challenge to solve. Using, TypeScript, and Rollup I am able to create, modify, and publish versioned packages using a Jenkins pipeline.
Monorepo: Built with Lerna, TypeScript, and Rollup