Currently, metal dependencies are used freely throughout portal without too much care of which versions are installed and which versions are actually used.
The goal of this story is to consolidate:
- Fixed versions of all dependencies in `frontend-js-metal-web`
- Same versions of all dependencies used in different bundles
- SF rule to enforce no other versions are used in the future
In general, because of how we assemble our frontend code, only one version of some modules will be running at the same time in runtime and it will usually be (and should be) shared among all modules. These dependencies are:
- clay and all clay-*
- metal and all metal-*
So, to start, we'd need a rule to check that:
- In a package.json
- In the dependencies block
- The versions of some dependencies match those in a given list:
In the future, we might extend that list to other modules.