chore(deps): upgrade lerna to v9#2551
Merged
Merged
Conversation
Lerna 8.2.4 used the tar 6 API, so pinning tar >= 7.5.18 broke its packDirectory step. Lerna 9 uses the tar 7 API, so the tar override is now compatible and the publish pipeline works with patched tar. - lerna ^8.0.2 -> ^9.0.7 (Node >=22.12 already satisfied; no removed commands in use; `lerna repair` reported config already up to date) - Drop the now-dead `js-yaml@<3.15.0` override (lerna 9 no longer pulls the js-yaml 3.x chain) - Keep `js-yaml@>=4 <4.3.0` (a transitive ~4.1.0 consumer still resolves to 4.1.1 without it) and `tar@<7.5.18` -> 7.5.21 - .eslintignore: add /.nx/workspace-data (lerna repair / nx migration) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jakehobbs
requested review from
Richard-Dang,
SahilAujla,
avarobinson,
blakecduncan,
dancoombs,
florrdv,
niveda-krish,
pavelm and
thebrianchen
as code owners
July 24, 2026 17:24
Contributor
There was a problem hiding this comment.
Pull request overview
This PR upgrades the monorepo toolchain by moving lerna from ^8.0.2 to ^9.0.7, and updates the workspace lockfile accordingly. It also trims pnpm override rules and updates ESLint ignore patterns to accommodate Nx workspace metadata introduced by the migration.
Changes:
- Upgraded
lernato^9.0.7(and refreshedpnpm-lock.yamlresolutions accordingly). - Removed the now-dead
js-yaml@<3.15.0override while retaining the targetedjs-yamlandtaroverrides. - Added
/.nx/workspace-datato.eslintignoreto avoid linting Nx workspace artifacts.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
package.json |
Bumps lerna to v9 and simplifies pnpm.overrides by removing the js-yaml@<3.15.0 rule. |
pnpm-lock.yaml |
Updates the dependency graph for lerna@9.0.7 and related transitive packages; reflects override cleanup. |
.eslintignore |
Ignores Nx workspace metadata directory (/.nx/workspace-data). |
Ran `lerna repair` after the v9 upgrade. The only migration that produced a change was nx's add-claude-worktrees-to-git-ignore, which adds .claude/worktrees to .gitignore. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Removes /.nx/workspace-data that was slipped into the lerna v9 commit; it's redundant with the existing .nx/* pattern and unrelated to the upgrade. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dependabot alert #538 (high): postcss <= 8.5.11 allows arbitrary file read via attacker-controlled sourceMappingURL. postcss@8.5.8 was pulled in (dev-only) by vite/vitest. Force it to the patched 8.5.23. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Richard-Dang
approved these changes
Jul 24, 2026
pavelm
approved these changes
Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Upgrades
lerna^8.0.2→^9.0.7and trims the pnpm overrides to the minimum still required.This also unblocks the publish pipeline. The
tar@<7.5.18override is incompatible with lerna 8.2.4 (itspackDirectoryuses the tar 6 API and crashed withCannot read properties of undefined (reading 'create')). Lerna 9 uses the tar 7 API, so the override is now compatible and packing works.Changes
lerna^8.0.2→^9.0.7pnpm lerna repair— reported the config already up to date; nolerna.jsonchanges. The only migration change was nx adding.claude/worktreesto.gitignore(kept). An earlier/.nx/workspace-dataaddition to.eslintignorewas out of scope (redundant with the existing.nx/*pattern) and has been reverted.js-yaml@<3.15.0— lerna 9 no longer pulls the js-yaml 3.x chain (@yarnpkg/parsers/front-matter), so nothing resolves below 3.15.0 anymore. Dead override.js-yaml@>=4 <4.3.0→4.3.0— a transitive~4.1.0consumer still resolves to4.1.1without it.tar@<7.5.18→7.5.21.postcss@<8.5.12→8.5.23— closes Dependabot alert docs: added pre-deposit info to FAQs #538 (GHSA-6g55-p6wh-862q, high).postcss@8.5.8was pulled in dev-only via vite/vitest; forced to the patched line.Resulting resolutions:
js-yaml@4.3.0only,tar@7.5.21only (no moretar@6.2.1/7.2.0from lerna 8's tooling or prool).Breaking-change review (lerna 9.0.0)
All lerna 9 breaking changes are in 9.0.0 (9.0.1–9.0.7 add none). Neither affects this repo:
^20.19 || ^22.12 || >=24) — repo already requires>=22.12.0(.nvmrc22.20.0).lerna add/bootstrap/linkremoved — not used here.lerna clean(used byclean:node_modules) still ships in v9.Verification (Node 22.20.0)
pnpm install --frozen-lockfilepasses.pnpm run build:libs— 5/5 tasks succeed.pnpm lerna changedreads the workspace, honorsforcePublish, lists all 4 packages ready to publish.--conventional-commits,--no-private,--no-verify-access,from-package/from-git) are all accepted by lerna 9.npm publish(needs registry auth) — but the pack-step crash was a tar 6-vs-7 API mismatch, resolved by lerna 9 targeting tar 7.Note
Supersedes #2550 (the temporary tar-override revert) — this fixes the pack step and keeps all four dependency alerts closed. #2550 can be closed.
🤖 Generated with Claude Code
PR-Codex overview
This PR focuses on updating dependencies in the
package.jsonand related files, enhancing compatibility and performance by upgrading various packages.Detailed summary
.claude/worktreesto.gitignore.lernafrom^8.0.2to^9.0.7.postcss@<8.5.12: 8.5.23as a dependency.js-yamlto^4.3.0and removedjs-yaml@<3.15.0.viteto useyaml@2.9.0.vitestto useyaml@2.9.0.npmrelated packages and fixed their versions.