Skip to content

No easy way to upgrade nested dependencies #6633

Closed as not planned
Closed as not planned
@aqeelat

Description

@aqeelat

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleIssues that didn't get attentionwaiting for feedbackWill autoclose in a while unless more data are provided

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions