lerna is a free, open source publishing project written in TypeScript and released under MIT. It has 36,053 GitHub stars, 2,265 forks and 287 open issues, and was last pushed 7 hours ago. On this registry it ranks #1 of 46 tracked projects in Publishing, with 5 head-to-head comparisons available.

What is lerna?

Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository, aimed at teams that maintain monorepos and publish packages to npm.

What it is

Lerna is a TypeScript-based build system distributed under the MIT license, and it lives in the JavaScript/TypeScript ecosystem with a focus on monorepo package management and npm publishing. Its README identifies it as a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository, and its topics include lerna, monorepo, npm, package, and publishing. Stewardship of the project changed to Nx, and the README links to lerna.js.org for documentation, guides, and interactive tutorials.

The concrete problem is coordinating build and publishing work for many packages that live in one repository. Instead of splitting each package into its own repository or handling per-package publishing steps separately, Lerna provides a single system for building and publishing JavaScript/TypeScript packages from a monorepo. That makes it a replacement for separate-repository layouts and ad hoc publishing workflows in npm-based projects, while keeping package management centered on the same repository.

Key capabilities

  • Lerna manages multiple JavaScript/TypeScript packages in a single repository, matching the monorepo topic.
  • Lerna builds those packages as a fast, modern build system.
  • Lerna publishes packages, with npm and publishing listed as project topics.
  • Lerna provides documentation, guides, and interactive tutorials at lerna.js.org.
  • Lerna links a Getting Started guide and a Features overview from the README.
  • Lerna runs community support through Discord #forum and Twitter.
  • Lerna accepts bug reports and pull requests through CONTRIBUTING.md.

Who uses it and how

  • Teams maintaining JavaScript/TypeScript monorepos use Lerna to keep multiple packages in one repository.
  • Maintainers who publish several npm packages use Lerna for build and publishing workflows.
  • Projects in the Nx ecosystem can follow the stewardship change to Nx and use Nx and Lerna resources together.
  • New users follow the Getting Started and Features links at lerna.js.org.
  • Contributors and community members engage through Discord #forum, Twitter, and the Nx and Lerna YouTube channel.

Getting started

The README does not name a package, Docker image, or compose file; it directs readers to the Getting Started guide at lerna.js.org for setup and to the Features page for capability details.

How it compares

Lerna sits in the Nx ecosystem after stewardship changed to Nx, and the README links to Nx and Lerna blog posts and a shared YouTube channel. Among the similar tools named in the facts, Nx is the only one, and it is presented as the steward and a related resource rather than as a feature-by-feature alternative.

When to use it — and when not to

Lerna fits teams that already work in JavaScript/TypeScript monorepos and need to build and publish multiple npm packages from one repository. Operators must run a JavaScript/TypeScript toolchain and manage npm publishing credentials, so teams outside that ecosystem should not pick it. The README excerpt is sparse, mostly links and a stewardship note, so groups needing detailed in-repository setup instructions should rely on lerna.js.org instead.

project readme (upstream, from github) — read inline

Important note: this project changed stewardship to Nx!

Your favorite tool is alive and well: https://blog.nrwl.io/lerna-5-1-new-website-new-guides-new-lerna-example-repo-distributed-caching-support-and-speed-64d66410bec7


Lerna

Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.


MIT Licensed NPM Status CI Status Semantic Release Commitizen friendly Discord Twitter



A few links to help you get started:


Engage with the Core Team and the Community

Want to help?

If you want to file a bug or submit a PR, read up on our guidelines for contributing


Core Team

Victor Savkin James Henry Benjamin Cabanes Juri Strumpflohner
Victor Savkin James Henry Benjamin Cabanes Juri Strumpflohner
vsavkin JamesHenry bcabanes juristr

Important Contributors ✨

Thanks goes to these wonderful people:

Frequently asked questions

Is lerna free to use?

lerna is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does lerna do?

Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.

What is lerna written in?

lerna is primarily written in TypeScript. Its source is publicly available at https://github.com/lerna/lerna, and it has 36,053 GitHub stars.