Skip to content

No easy way to upgrade nested dependencies #6633

Open
@aqeelat

Description

Let's say that some time ago, I installed a package (for example: @hookform/devtools@npm:^4.3.1).
The package has a couple of dependencies using a semver range. The entry in lockfile is:

"@hookform/devtools@npm:^4.3.1":
  version: 4.3.1
  resolution: "@hookform/devtools@npm:4.3.1"
  dependencies:
    "@emotion/react": "npm:^11.1.5"
    "@emotion/styled": "npm:^11.3.0"
    "@types/lodash": "npm:^4.14.168"
    little-state-machine: "npm:^4.1.0"
    lodash: "npm:^4.17.21"
    react-simple-animate: "npm:^3.3.12"
    use-deep-compare-effect: "npm:^1.8.1"
    uuid: "npm:^8.3.2"
  peerDependencies:
    react: ^16.8.0 || ^17 || ^18
    react-dom: ^16.8.0 || ^17 || ^18
  checksum: 10c0/4155e4c5da69b397e7a0aea9c674def5cb92e9d21f420be6cbb32d3c893a239e890d3a17f8a31fb194493696230806f8d77b8b2be1b7a9c797a3f89477c3c9f5
  languageName: node
  linkType: hard

A few hours ago, that package released a new version. The nested packages (little-state-machine and react-simple-animate) also release new versions.

I ran yarn upgrade-interactive and selected the package to be upgraded. However, yarn did not upgrade the nested packages because the parent package did not change the semver constraints for them as the upgrades are also covered in the same range.

I ran yarn up, yarn up -R, yarn up * -R, and yarn up @hookform/devtools -R and they weren't picked up.
The were only upgraded when I ran yarn up react-simple-animate little-state-machine -R

I know that deleting the lockfile is a solution. I just tried that and the diff was longer than my parent's disappointment in me and I'm scared to look at it.
Is it the recommended approach? Or is there a way to gradually do it? Such than when we run upgrade interactive, we run it recursively?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions