I just don't understand why one of my yarn.lock sub-dependencies is not being updated to the most up-to-date available version that should be allowed to be installed based on how the sub-dependency is defined in one of the direct (main) dependencies.
There is just one definition for this packge in my whole yarn lock file and the versioning is like this:
@^0.4.17: version "0.4.23"
Also, there is just one main dependency that is using this package and this is how the version of this sub dependency is defined in there: "^0.4.17"
I can see that the latest version of this dependency is 0.5.0. It is also available in the repository what I'm using.
Also, as far as I understand defining sub-dependency like this "^0.4.17" should mean that any dependency up < 1.0.0 should be allowed to be installed so currently most up to date version 0.5.0 should be easily under this allowed range.
Despite removing this only definition of this package from yarn.lock and despite all these above facts, the yarn will install only the second latest package 0.4.23 and not the desired 0.5.0 like expected.
I have removed my node_modules and run yarn cache clean between yarn installs but nothing helps. Also I haven't encountered any similar problems with other packages that I have updated - they work exactly like I'm expecting this to work.
I'm pretty new to these kind of things so there must be something I dont fully understand in this process?