Replies: 2 comments 7 replies
-
Hello!
We're making sure that the dependency graph of your application doesn't contain packages that have circular references to other packages. From a design point of view, if you have a circular dependency, you are likely wanting two packages to be one bigger package, or wanting the circularly referenced code to be moved to a separate intermediary package both other packages depend on.
I personally don't think so, we don't want to encourage cyclic dependencies in applications, because it makes the dependency graph feed into itself (eg. if Package A depends on Package B, but Package B also depends on Package A, how would you separate them into two different applications? Would there even be a point to drawing these package boundaries?). |
Beta Was this translation helpful? Give feedback.
-
Hi @mrcasals – I generally agree with @gmcgibbon 's sentiment that the intent of That beings said, at Gusto, folks often use enforce_dependencies when they truly do want to enforce most dependencies. However, there are some pernicious dependencies that are entangled within a piece of the code that are not just the main focus area. That is – they want to enforce some but not all dependencies to keep focused. The current solution to this problem is one of: My proposal is to have an I think it’d add another dimension of gradularity to this tool – not only can people gradually modularize, but they can more gradually focus on specific pack-to-pack connections. Would love to hear folks' thoughts on this and if this solves your specific problem! |
Beta Was this translation helpful? Give feedback.
-
Hi!
We wanted to use the
dependencies
list in ourpackage.yml
files to build a tree of direct dependencies, but after generating the correct data we got an error while runningbin/packwerk validate
:Why are you checking this? Would it make sense to add a configuration option to disable this check?
Beta Was this translation helpful? Give feedback.
All reactions