
Lerna
A build and publish tool for managing several JavaScript/TypeScript packages in one repository.
- Stars
- 36k
- Forks
- 2.3k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 5 days ago
- Type
- Dev tool
What it is
Lerna is a command-line tool for projects that keep multiple JavaScript or TypeScript packages in a single repository, called a monorepo. It helps build those packages and publish them to npm. The README describes it as a fast, modern build system, but it also notes that the project changed stewardship to Nx, so the README points readers to Nx resources for ongoing support.
- Build and publish several npm packages that live in one Git repository
- Manage package versions across a monorepo from a single place
- Set up a shared repository of libraries that depend on each other
Great for
- JavaScript or TypeScript teams maintaining several related npm packages in one repository
- Maintainers who need to version and publish multiple packages together
- Developers who already work in a monorepo layout and want tooling for it
Not ideal for
- Single-package projects, since the tool is built for managing multiple packages (reason: little benefit without a monorepo)
- Teams that need guaranteed current direction for the project, since the README says stewardship moved to Nx (reason: check the linked Nx announcement before adopting)
- Users looking for a non-JavaScript build tool (reason: the README covers only JavaScript/TypeScript packages)
How to get it
- 1
Install with a package manager
You'll need: Node.js · npm
Clone the repository
git clone https://github.com/lerna/lerna - 2
Run it
- Read the Getting Started guide at lerna.js.org/docs/getting-started
- Set up a repository containing multiple packages
- Install Lerna as described in the official documentation
- Run Lerna commands from the repository root to build or publish packages
- 3
Get the most out of it
- Read the Features page at lerna.js.org/docs/features to see what the tool supports
- Follow the Nx and Lerna guides and tutorials linked in the README
- Check the Nx blog posts for the lerna 5.1 announcement on distributed caching and speed
Downloads
Strengths
- Widely starred and used, with an MIT license that permits commercial use
- Covers both building and publishing packages in a monorepo
- Documentation site and getting-started guide are linked from the README
Trade-offs
- The README states stewardship changed to Nx, so long-term direction may differ from the original project
- The README is truncated and gives limited detail on specific commands or configuration
- Its scope is narrow: it targets monorepos of JavaScript and TypeScript packages only
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| lerna (this) | 36k | Dev tool | intermediate | 5 days ago | JavaScript or TypeScript teams maintaining several related npm packages in one repository |
| nx | 29.4k | Dev tool | intermediate | 4 days ago | Teams with several related JavaScript or TypeScript projects in one repository |
| turborepo | 31.3k | Dev tool | intermediate | 5 days ago | Teams maintaining a JavaScript or TypeScript monorepo with several apps or packages |
| UniGetUI | 26.8k | App | beginner | 4 days ago | Windows users who already use WinGet, Scoop or Chocolatey and want one place to manage them |
| semantic-release | 24.1k | Dev tool | intermediate | 6 days ago | Maintainers of JavaScript packages who already use a CI service |
| goreleaser | 16.1k | Dev tool | intermediate | 4 days ago | Go developers who want to publish command-line tools or binaries for several operating systems |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.