fix(config-lerna-scopes): remove deprecated @lerna/project dependency#4284
Conversation
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
|
Is this a breaking change for anyone who is using lerna below v8? |
Yes, it will be a breaking change for lerna < 8.2.0 - I've added the necessary commit body in 22f0930 edit: sadly it's < 8.2.0 as the change within lerna was required |
|
@escapedcat By looking at the current Would this be a better option? Let me know what you think. |
|
tbh I don't mind a breaking change. On the other hand it has 26k weekly downloads. So people might still use it with an older lerna version? If that's feasible and not too much work for you. |
f412600 to
f88e039
Compare
2deda6d to
f265215
Compare
|
@escapedcat the PR is ready for review and now contains full backwards compatibility with an informational hint that users who are actively using native workspaces should transition to the previously introduced I also updated the documentation to reflect the change and include the hint as well. |
|
Thanks @janbiasi ! Amazing work |
f265215 to
7a6902f
Compare
|
@escapedcat done :) |
|
Running into an issue that I think I've seen before when I tried to update lerna. You got any idea how to solve this? Using node 18.20.7 locally yarn run publish
yarn run v1.22.22
$ lerna publish --conventional-commits
lerna notice cli v8.2.1
lerna ERR! MultipleProjectsWithSameNameError: The following projects are defined in multiple locations:
lerna ERR! - a:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/basic/nx/a
lerna ERR! - nx/a
lerna ERR! - b:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/basic/nx/b
lerna ERR! - nx/b
lerna ERR! - c:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/nx14/nx/c
lerna ERR! - nx/c
lerna ERR! - d:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/nx14/nx/d
lerna ERR! - nx/d
lerna ERR! - e:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/nx15/nx/e
lerna ERR! - nx/e
lerna ERR! - f:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/nx15/nx/f
lerna ERR! - nx/f
lerna ERR! - g:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/nx17/nx/g
lerna ERR! - nx/g
lerna ERR! - h:
lerna ERR! - @commitlint/config-nx-scopes/fixtures/nx17/nx/h
lerna ERR! - nx/h
lerna ERR!
lerna ERR! To fix this, set a unique name for each project in a project.json inside the project's root. If the project does not currently have a project.json, you can create one that contains only a name.
lerna ERR! at validateAndNormalizeProjectRootMap (/Users/user/data/src/commitlint/node_modules/nx/src/project-graph/utils/project-configuration-utils.js:455:15)
lerna ERR! at mergeCreateNodesResults (/Users/user/data/src/commitlint/node_modules/nx/src/project-graph/utils/project-configuration-utils.js:341:9)
lerna ERR! at /Users/user/data/src/commitlint/node_modules/nx/src/project-graph/utils/project-configuration-utils.js:285:85
lerna ERR! at async buildProjectGraphAndSourceMapsWithoutDaemon (/Users/user/data/src/commitlint/node_modules/nx/src/project-graph/project-graph.js:87:31)
lerna ERR! at async createProjectGraphAndSourceMapsAsync (/Users/user/data/src/commitlint/node_modules/nx/src/project-graph/project-graph.js:271:25)
lerna ERR! at async createProjectGraphAsync (/Users/user/data/src/commitlint/node_modules/nx/src/project-graph/project-graph.js:219:39)
lerna ERR! at async detectProjects (/Users/user/data/src/commitlint/node_modules/lerna/dist/index.js:3000:25)
lerna ERR! lerna Failed to process project graph.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. |
|
@escapedcat I'm not too familiar with NX, but it seems like that the fixtures are duplicated packages in terms of how NX resolves or identifies packages (via nx config file and package.json). You could try to disable nx usage within the |
|
No worries, not in a rush here. Could also tag the nx related person in here. |
|
@escapedcat I think I found a solution, but I'm not 100% sure if it doesn't brick something else; if we add an Tested the change with Relates to nrwl/nx#20959 |
|
You mean like this? |
@escapedcat Yes, looks good to me :) |
This PR contains the following updates: | Package | Type | Update | Change | Age | Confidence | |---|---|---|---|---|---| | [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | | minor | `3.17.1` -> `3.19.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | minor | `3.17.1` -> `3.19.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | minor | `19.7.1` -> `19.9.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | devDependencies | minor | [`^0.44.0` -> `^0.45.0`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.44.0/0.45.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>conventional-changelog/commitlint (commitlint/commitlint)</summary> ### [`v19.9.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1991-2025-08-29) [Compare Source](conventional-changelog/commitlint@v19.9.0...v19.9.1) ##### Bug Fixes - add TypeScript support and configuration for pnpm scopes ([#​4544](conventional-changelog/commitlint#4544)) ([ea75778](conventional-changelog/commitlint@ea75778)) ### [`v19.9.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1990-2025-08-26) [Compare Source](conventional-changelog/commitlint@v19.8.1...v19.9.0) ##### Bug Fixes - update dependency jest-environment-node to v30 ([#​4448](conventional-changelog/commitlint#4448)) ([42ca849](conventional-changelog/commitlint@42ca849)) - update dependency jest-environment-node to v30.0.2 ([#​4469](conventional-changelog/commitlint#4469)) ([4da7e43](conventional-changelog/commitlint@4da7e43)) - update dependency tar-fs to v3.0.10 ([#​4461](conventional-changelog/commitlint#4461)) ([f02c47c](conventional-changelog/commitlint@f02c47c)) - update dependency tar-fs to v3.0.9 ([#​4421](conventional-changelog/commitlint#4421)) ([0650e03](conventional-changelog/commitlint@0650e03)) - update dependency tar-fs to v3.1.0 ([#​4496](conventional-changelog/commitlint#4496)) ([31b4f72](conventional-changelog/commitlint@31b4f72)) ##### Features - **config-pnpm-scopes:** migrate package to TypeScript ([#​4541](conventional-changelog/commitlint#4541)) ([6ae36ea](conventional-changelog/commitlint@6ae36ea)) ##### Reverts - Revert "chore: update dependency cross-env to v10 ([#​4528](conventional-changelog/commitlint#4528))" ([#​4529](conventional-changelog/commitlint#4529)) ([b5bfd12](conventional-changelog/commitlint@b5bfd12)), closes [#​4528](conventional-changelog/commitlint#4528) [#​4529](conventional-changelog/commitlint#4529) #### [19.8.1](conventional-changelog/commitlint@v19.8.0...v19.8.1) (2025-05-08) ##### Bug Fixes - update dependency tinyexec to v1 ([#​4332](conventional-changelog/commitlint#4332)) ([e49449f](conventional-changelog/commitlint@e49449f)) - update dependency tinyexec to v1.0.1 ([#​4347](conventional-changelog/commitlint#4347)) ([c1b26d1](conventional-changelog/commitlint@c1b26d1)) ##### Performance Improvements - **rules:** optimize header-trim ([#​4363](conventional-changelog/commitlint#4363)) ([b7e404b](conventional-changelog/commitlint@b7e404b)) ### [`v19.8.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1981-2025-05-08) [Compare Source](conventional-changelog/commitlint@v19.8.0...v19.8.1) ##### Bug Fixes - update dependency tinyexec to v1 ([#​4332](conventional-changelog/commitlint#4332)) ([e49449f](conventional-changelog/commitlint@e49449f)) - update dependency tinyexec to v1.0.1 ([#​4347](conventional-changelog/commitlint#4347)) ([c1b26d1](conventional-changelog/commitlint@c1b26d1)) ##### Performance Improvements - **rules:** optimize header-trim ([#​4363](conventional-changelog/commitlint#4363)) ([b7e404b](conventional-changelog/commitlint@b7e404b)) ### [`v19.8.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1980-2025-03-07) [Compare Source](conventional-changelog/commitlint@v19.7.1...v19.8.0) ##### Bug Fixes - **config-lerna-scopes:** remove deprecated [@​lerna/project](https://github.com/lerna/project) dependency ([#​4284](conventional-changelog/commitlint#4284)) ([f2f78f1](conventional-changelog/commitlint@f2f78f1)) - update dependency semver to v7.7.1 ([#​4272](conventional-changelog/commitlint#4272)) ([6148587](conventional-changelog/commitlint@6148587)) ##### Features - **config-workspace-scopes:** add config preset for npm and yarn workspaces ([#​4269](conventional-changelog/commitlint#4269)) ([67ff9e8](conventional-changelog/commitlint@67ff9e8)) ##### Performance Improvements - use `node:` prefix to bypass require.cache call for builtins ([#​4302](conventional-changelog/commitlint#4302)) ([0cd8f41](conventional-changelog/commitlint@0cd8f41)) ##### Reverts - Revert "fix: improve security validation regex in is-ignored function ([#​4258](conventional-changelog/commitlint#4258))" ([#​4314](conventional-changelog/commitlint#4314)) ([b27024a](conventional-changelog/commitlint@b27024a)), closes [#​4258](conventional-changelog/commitlint#4258) [#​4314](conventional-changelog/commitlint#4314) #### [19.7.1](conventional-changelog/commitlint@v19.7.0...v19.7.1) (2025-02-02) ##### Bug Fixes - **config-nx-scopes:** fix for projects without explicit targets ([#​4261](conventional-changelog/commitlint#4261)) ([25bb2cd](conventional-changelog/commitlint@25bb2cd)) - improve security validation regex in is-ignored function ([#​4258](conventional-changelog/commitlint#4258)) ([7403d63](conventional-changelog/commitlint@7403d63)) - update dependency fast-glob to v3.3.3 ([#​4235](conventional-changelog/commitlint#4235)) ([c286237](conventional-changelog/commitlint@c286237)) - update dependency fs-extra to v11.3.0 ([#​4249](conventional-changelog/commitlint#4249)) ([39acfe4](conventional-changelog/commitlint@39acfe4)) - update dependency tar-fs to v3.0.7 ([#​4243](conventional-changelog/commitlint#4243)) ([708320f](conventional-changelog/commitlint@708320f)) - update dependency tar-fs to v3.0.8 ([#​4247](conventional-changelog/commitlint#4247)) ([ecb5d3a](conventional-changelog/commitlint@ecb5d3a)) </details> <details> <summary>igorshubovych/markdownlint-cli (markdownlint-cli)</summary> ### [`v0.45.0`](https://github.com/igorshubovych/markdownlint-cli/releases/tag/v0.45.0) [Compare Source](igorshubovych/markdownlint-cli@v0.44.0...v0.45.0) - Update `markdownlint` dependency to `0.38.0` - Add `MD059`/`descriptive-link-text` - Improve `MD025`/`MD027`/`MD036`/`MD038`/`MD041`/`MD043`/`MD045`/`MD051`/`MD052` - Remove support for end-of-life Node version 18 - Update all dependencies via `Dependabot` </details> --- ### Configuration 📅 **Schedule**: Branch creation - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xOC4xIiwidXBkYXRlZEluVmVyIjoiNDEuMTguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsia2luZC9kZXBlbmRlbmN5Il19--> Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/64 Reviewed-by: DaanSelen <daanselen@noreply.gitea.com> Co-authored-by: Renovate Bot <renovate-bot@gitea.com> Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
Prerequisites
Description
Please see the long explanation in #4262
Motivation and Context
Solves vulnerability issues and removes deprecated peer dependency requirement.
Usage examples
No changes
How Has This Been Tested?
Unit tests within the project
Types of changes
Checklist: