Lerna is a widely used and battle-tested tool for managing and publishing multiple JavaScript/TypeScript packages from the same repository. It's a fast, modern build system designed to make monorepo development more productive by allowing teams to share code, establish clear ownership, and maintain a fast, unified CI.
Powered by Nx, Lerna offers a suite of powerful features to optimize your workflow. It runs commands against any number of projects in the most efficient way possible, leveraging parallelism and advanced caching. This ensures you never rebuild the same code twice. Lerna is also an excellent tool for publishing multiple packages to npm, whether they have independent versions or not.
Key features include: