sortDependencies function
Implementation
@visibleForTesting
Set<DependencyConfig> sortDependencies(Iterable<DependencyConfig> it) {
// sort dependencies alphabetically
final deps = it.toList()..sortBy((e) => e.type.name);
// sort dependencies by their register order
final Set<DependencyConfig> sorted = {};
_sortByDependents(deps.toSet(), sorted);
// sort dependencies by their orderPosition
final s = sorted.sortedBy<num>((e) => e.orderPosition).toSet();
return s;
}