1 / 5
When module A imports B and B imports A, you have a ___ dependency.
-
-
-
-
A circular dependency couples modules so neither can build or be reasoned about independently; build tools usually flag and reject it.
2 / 5
Rules that forbid, say, a UI library from importing a backend package are dependency ___.
-
-
-
-
Dependency constraints enforce allowed edges in the graph (often via tags), preventing architecturally undesirable imports.
3 / 5
A dependency you get indirectly because a direct dependency pulls it in is a ___ dependency.
-
-
-
-
Transitive dependencies are inherited through the graph; understanding them matters for affected calculations and security audits.
4 / 5
Labelling projects with tags like 'scope:web' or 'type:lib' lets you write ___ rules over the graph.
-
-
-
-
Tags let constraint rules express boundaries (e.g. only 'type:app' may depend on 'type:feature'), keeping the architecture clean as it scales.
5 / 5
A visual or printed map of how all projects depend on each other is the ___ graph.
-
-
-
-
The dependency graph shows nodes (projects) and edges (imports); it drives affected builds and helps spot risky coupling.