Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Lerna bump dependency versions when releasing new versions?

Tags:

npm

lerna

If I have a monorepo with packageA and packageB, with the latter having a dependency on the former. If I then run lerna version major, for example, resulting in packageA's version number being bumped, does the listing of the dependency on it in packageB's package.json also get bumped automatically, or should that be done manually?

(I tried setting up a test repository to do this, but then Lerna was complaining it didn't have a remote yet, so I'm hoping someone with experience using Lerna knows the answer.)

like image 834
Vincent Avatar asked Sep 05 '25 03:09

Vincent


1 Answers

For the sake of this answer, I'm going to assume you are not using conventional Commits. Please feel free to respond with more specifics if I assume wrong.

TL;DR

Yes, if you run lerna version major _all packages in your repo will be updated to a new major version and the package.json file for packageB will be updated with the new version number for packageA.

Details

Let's say you have your packageA and packageB packages in your monorepo and they have package.json files that look like this:

# packageA/package.json
{
  "name": "packageA",
  "version": "1.0.0,"
}
# packageB/package.json
{
  "name": "packageB",
  "version": "1.0.0",
  "dependencies": {
    "packageA": "^1.0.0"
  }
}

When you run `lerna version major:

  • The version field in packageA/package.json will update to 2.0.0
  • The version field in packageB/package.json will update to 2.0.0
  • The dependencies.packageA field in packageB/package.json will update to ^2.0.0
# packageA/package.json
{
  "name": "packageA",
  "version": "2.0.0,"
}
# packageB/package.json
{
  "name": "packageB",
  "version": "2.0.0",
  "dependencies": {
    "packageA": "^2.0.0"
  }
}
like image 79
Greg Wardwell Avatar answered Sep 09 '25 21:09

Greg Wardwell