Improves the CI time by caching node_modules in a way that they can be re-used between CI runs if any items that would influence the node_modules have not changed (yarn.lock, {dev,peer}dependencies, *.patch files)