惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
D
DataBreaches.Net
B
Blog RSS Feed
D
Docker
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Y
Y Combinator Blog
A
About on SuperTechFans
V
V2EX
罗磊的独立博客
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
月光博客
月光博客
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
阮一峰的网络日志
阮一峰的网络日志

Nx Blog

Sharing Tailwind CSS Styles Across Apps in a Monorepo | Nx Blog How SiriusXM Stays Competitive by Iterating and Getting to Market Fast | Nx Blog Agentic Experience Is the New Developer Experience | Nx Blog Nx Joins the Linux Foundation and the Agentic AI Foundation | Nx Blog A Monorepo Is NOT a Monolith | Nx Blog Why we deleted (most of) our MCP tools | Nx Blog Teach Your AI Agent How to Work in a Monorepo | Nx Blog How Broadcom stays efficient and nimble with monorepos | Nx Blog Why Monorepos are King in the Age of AI | Nx Blog Nx 2026 Roadmap: Expanding Agent Autonomy, Improving Performance, Better Polyglot and More | Nx Blog End to End Autonomous AI Agent Workflows with Nx | Nx Blog Autonomous Agents at Scale | Nx Blog Scaling 700+ Projects: How Nx Became a 'No-Brainer' for Caseware | Nx Blog Configure Tailwind v4 with Angular in an Nx Monorepo | Nx Blog The Missing Multiplier for AI Agent Productivity | Nx Blog A Year of Nx Webinars | Nx Blog Wrapping Up 2025 | Nx Blog Nx 22.3 Release: Angular 21 Support, tsgo Compiler, and Prettier v3 | Nx Blog Nx Cloud Release: Agent Resource Usage | Nx Blog Nx Platform Outperforms DIY Cache by 5x | Nx Blog An Nx Carol: Past, Present, and Future of Your Monorepo | Nx Blog Nx 22.1 Release: Terminal UI on Windows, Storybook 10, Vitest 4, and more! | Nx Blog The Compounding Effect: How Nx Features Multiply Performance Gains | Nx Blog 10 Monorepo Myths Debunked: Separating Fact from Fiction | Nx Blog Nx Cloud Release: Enterprise Task Analytics | Nx Blog Watch and Rebuild Storybook Dependencies with Nx | Nx Blog Book - React for Enterprise: Timeless Architecture for Enterprise Apps | Nx Blog Beyond Remote Cache: Unlock 70% More CI Performance | Nx Blog Nx 22 Release: Expanding the build platform | Nx Blog What's the Point of Generating All This Code If You Can't Merge It? | Nx Blog
What's New With Lerna 6.5? | Nx Blog
Zack DeRose · 2023-02-23 · via Nx Blog

In case you missed it, Lerna version 6.5 recently launched. We'll catch you up on the latest Lerna news and newest features.

Table of Contents

  • Lerna: Brought to You by Nx
  • Still On Lerna 4?
  • Idempotency Added to the lerna publish from-git Command
  • lerna run Can Run Multiple Scripts In a Single Command
  • New --include-private Option Added To lerna publish
  • Massive Refactor
  • Getting Started With Lerna From The Lerna Team
  • The Future of Lerna

Lerna: Brought to You by Nx

In case you missed it, Lerna, the OG JavaScript monorepo tool, went largely unmaintained for a while, starting around 2020. Then, it officially declared itself to be unmaintained in April of 2022, only for Nx to step in to take over maintenance of the project in May of 2022!

You can find a more detailed account of Lerna's "Maintainance Odyssey" in this article.

Since Nx took over in Lerna 4, we've added a brand new site to refresh the Lerna Docs:

The top of our priorities for Lerna 5 was to resolve all vulnerabilities and outdated dependencies facing Lerna. We went on to make Lerna faster by allowing users to opt into Nx's task caching inside of Lerna with the new lerna add-caching command, and add support for distributed caching to share task results amongst your organization in Lerna with Nx Cloud.

We were proud to go on to launch Lerna 6 last October, where we began focusing on further improving Lerna's feature set — focusing specifically on its unique strengths: versioning and publishing.

Still on Lerna 4?

Here's how to upgrade to the latest and greatest.

We've also started an initiative to assist Open Source projects in getting the most out of Lerna. Projects that use Lerna can now request free consulting to learn how to take advantage of Lerna's newest features.

We've just started this initiative and have already been able to help Sentry get optimized with task caching and task pipeline optimizations for their workspace!

This initiative complements our free tier of unlimited Nx Cloud for any Open Source project.

If you're interested in optimizing your Open Source project to take advantage of the latest Lerna features, reach out to us on Twitter!

Now let's jump into the newest Lerna 6.5 features!

Idempotency Added to the lerna publish from-git Command

"Idempotent" is a word used to describe an operation you can perform any number of times, and the resulting state is the same as if you had only run the operation once.

The lerna publish command is a beneficial tool for quickly publishing multiple packages from your workspace:

  • Running lerna publish by itself will version and publish all packages in the workspace since your latest release
  • Running lerna publish from-git will publish all projects tagged in the latest commit
  • Running lerna publish from-package will publish all projects whose version does not yet exist in the target registry based on the version listed in their package.json file.

As we can see, lerna publish from-package is already idempotent (since it only publishes packages whose version doesn't exist, any run past the first will not adjust the state of the registry).

With 6.5, we've added the same idempotency to lerna publish from-git. This update is handy for recovering from a situation where some of your packages failed to publish initially (maybe due to a networking issue).

For more information, check out the PR

lerna run Can Run Multiple Scripts In a Single Command

For 6.5, we've added the ability to run multiple scripts in a single lerna run command! Checkout this quick video demonstrating this below:

Learn more here.

New --include-private Option Added To lerna publish

Npm supports a ["private": true] configuration as a way of preventing the publication of a library that is private.

lerna publish from-git --include-private my-private-package

Running lerna publish with this new --include-private option (as above) will strip this "private": true configuration from the package.json of the packages listed in the command.

This new option is beneficial for the use case where you'd like to run e2e for a package that will eventually be public but is currently private to prevent getting published too soon.

You can find more information on this change here.

Massive Refactor

Unlike the other updates mentioned for 6.5, this update does not affect Lerna's public API, but as you can see from the numbers, this was quite an undertaking:

The result is a significant improvement to the Typescript support for Lerna's internals and a substantial simplification of the codebase. This investment will make Lerna significantly more approachable to other would-be contributors!

Find more on this change here.

Getting Started With Lerna From The Lerna Team

We recently ran a live stream with James Henry and Austin Fahsl from our Lerna team to show how to get started with Lerna, all the way through to versioning and publishing our packages to npm!

Check out the recap of this session above, and check out the repo from our session on GitHub.

The Future of Lerna

Looking to the future, we are targeting Q2 of 2023 for Lerna v7 (including a --dry-run option for both lerna version and lerna publish commands - you can catch a sneak-peak of this in James' talk from Nx Conf 2022 below!)

You can find a roadmap for all the features we plan to add in Lerna 7 on Github!

Lerna More!