The dependency resolution tool analyzes a module file and all its dependencies and creates a new fil containing the original module content, as well as any required modules.
During development the dependencies between modules are usually resolved on the client at runtime. The modules can be modified in the development environment and can be deployed as individual entities to runtime. If caching is configured properly, only the modified modules are reloaded when the client is refreshed.
In a productive system, however, bundling several modules into one single file helps to reduce the number of roundtrips and can help to reduce the impact of network latency. At the same time, the flexibility and transparency of the dependency management should not get lost.
The dependency resolution tool automatically avoids double inclusion of modules. The tool can be used in two ways: Either via an Ant task at build time to create a merged super module which can then be referenced in any HTML page instead of the original file, or at runtime by using a servlet on server side.