This is a scenario I have seen:
I have a shared library with code that fetches data from an api. Let's call this ApiProvider. Currently this ApiProvider is in version 1.1.1 and is currently pointing to the v1 version of my REST api. Then I have to update my ApiProvider to point to my v2 REST api and do some code changes in the way it talks to the api. I update the version of ApiProvider to be 2.0.0.
I have multiple shared components libraries and some of them use the ApiProvider. Let's say that the library shared-component-a uses the ApiProvider and I update its version to be the latest one (2.0.0) and then I bump the version of shared-component-a to be the next major version.
shared-component-b library uses shared-component-a library, the one that had the major update. In shared-components-b I have to update the version of shared-component-a to the latest one, but besides that nothing else changes in shared-component-b. So now my question is: should shared-component-b have a major or minor update?
// before web-app |-- shared-component-b (2.1.0) |---- shared-component-a (2.1.0) |------ api-provider (1.1.1) // after web-app |-- shared-component-b (???) |---- shared-component-a (3.0.0) |------ api-provider (2.0.0)
Any input is welcome!
Thank you in advance!