2

Our react web application is broken down to multiple components. Some of these components are part of the same git mono repo and some live in a different repo.

Now, to implement a bug fix we have to update the changes in one repo, release a version of the package, update the tree of dependencies, release other intermediatory packages and then we finally update the react web application.

This feels very a bit waterfall and not continuous. Additionally, we are optimized for package delivery versus web product delivery. Is there a solution which allows us to continuously get the latest and once in a while we release a new version of the libraries?

NM Roku
  • 29

1 Answers1

2

A solution I see to this is having your CI/CD process on the main package ensure child packages are updated. Using semantic versioning you could set and fixate your package version major version and minor version number but ensure you always have the latest patch version.

This way, whenever a child package has a new patch, your build process will pick that up, and install it. Whenever a major or minor version update occurs you'll have to update your set version numbers accordingly, which will require you to check if the update didn't break anything etc...

The main assumption in this approach is that you adhere to using the semantic versioning principles.

Depending on the build system you are using, there might be ways (via webhooks orso) to trigger new builds on the main package whenever a child package has a new version.

mrsmn
  • 410