Refactoring of dependencies
Complete refactor of dependencies and their installation method. This is because the previous method used --force
which ignored dependency failures. This parameter has been removed to allow for build failures when dependencies can't be resolved correctly.
Additionally, some dependencies had to be downgraded in order to satisfy the requirements specified by each of the modules.
Lastly, several new dependencies had to be added because they were missing.