In the previous chapter, we discussed the Acyclic Dependencies principle , which helps us prevent cycles in our dependency graphs. The greatest danger of cyclic dependencies is that problems in one of your dependencies might backfire after they have travelled the entire cycle through the dependency graph.
Even when your dependency graph has no cycles, there’s still a chance that dependencies of a package will start causing problems at any time in the future. Whenever you upgrade one of your project’s dependencies, you hope that your project will still work as ...