hyperledger-cacti / cacti

Hyperledger Cacti is a new approach to the blockchain interoperability problem
https://wiki.hyperledger.org/display/cactus
Apache License 2.0
344 stars 286 forks source link

ci(github): add dependency version consistency check #3645

Open jagpreetsinghsasan opened 2 days ago

jagpreetsinghsasan commented 2 days ago

Commit to be reviewed

ci(github): add dependency version consistency check

Primary Changes
---------------
1. Added a new custom check which checks if there are any inconsistency with the dependency version, which is already being used with an exsisting package.

Changes needed to incorporate 1)
-------------------------------
2. Added a new dependency in the root package.json
3. Added a new npm script in the root package.json
4. Updated the lock file for the dependency inclusion

Fixes #3612

Pull Request Requirements

Character Limit

A Must Read for Beginners For rebasing and squashing, here's a must read guide for beginners.

jagpreetsinghsasan commented 2 days ago

@petermetz shall I create a new task to update the existing inconsistencies in the dependency versions in our current codebase? I tried to resolve them as well in this PR, but it seems that for some version mismatches, it might not work with just the version updation (for example, web3 related dependencies need to be updated from 1.x -> 4.x)

jagpreetsinghsasan commented 2 days ago

@petermetz shall I create a new task to update the existing inconsistencies in the dependency versions in our current codebase? I tried to resolve them as well in this PR, but it seems that for some version mismatches, it might not work with just the version updation (for example, web3 related dependencies need to be updated from 1.x -> 4.x)

@jagpreetsinghsasan Yes please, separate tasks for the easy low hanging fruit and then the difficult stuff (web3 1.x vs 4.x) so that we can chip away at the task in smaller pieces of work.

In the meantime please also add changes to this PR that will exclude the difficult to update dependencies from being checked and then add a comment to those exclusion declarations referencing the issues you've created for their fixing. This way we can kick off this check in the codebase with it passing while we work our way through the backlog of issues that would otherwise make it fail on the CI for everyone on every pull request.

LGTM otherwise in general.

Sure, I will fix the inconsistencies with the easier ones in this PR itself and reference the tougher ones via comments here to their respective tasks.

jagpreetsinghsasan commented 1 day ago

@hyperledger-cacti/cacti-maintainers I am currently pushing some dependency version upgrades (in stages) alongside adding of the logic. So please do not review this PR until I reply back here asking for a review (The idea is, as what @petermetz suggested, to upgrade the easier dependencies alongside this PR itself and have a new issue fixing the harder ones).