Skip to content

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)
Step-by-step guide: how to use LernaInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js · npm

    Clone the repository

    git clone https://github.com/lerna/lerna
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
lerna (this)36kDev toolintermediate5 days agoJavaScript or TypeScript teams maintaining several related npm packages in one repository
nx29.4kDev toolintermediate4 days agoTeams with several related JavaScript or TypeScript projects in one repository
turborepo31.3kDev toolintermediate5 days agoTeams maintaining a JavaScript or TypeScript monorepo with several apps or packages
UniGetUI26.8kAppbeginner4 days agoWindows users who already use WinGet, Scoop or Chocolatey and want one place to manage them
semantic-release24.1kDev toolintermediate6 days agoMaintainers of JavaScript packages who already use a CI service
goreleaser16.1kDev toolintermediate4 days agoGo 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.