Here is a simple function to print angular module dependencies:
angular.__moduleDependencies__ = function (moduleName, indent, nonlast, seen) {
var module, suffix;
indent = indent || '';
seen = seen || [];
suffix = (indent === '' ? '' : (nonlast ? '├─ ' : '└─ '));
if (seen.indexOf(moduleName) !== -1) {
console.log(indent + suffix + moduleName + ' ^');
return;
}
seen.push(moduleName);
module = angular.module(moduleName);
if (angular.isDefined(module)) {
console.log(indent + suffix + moduleName);
angular.forEach(module.requires, function(requiredModuleName, key){
var requiredMod = angular.module(requiredModuleName);
if (angular.isDefined(requiredMod)) {
angular.__moduleDependencies__(requiredModuleName,
indent + '| ', key < (module.requires.length - 1), seen);
} else {
console.error(indent + requiredModuleName);
}
});
} else {
console.error(indent + suffix + moduleName);
}
};
Usage
angular.__moduleDependencies__('todomvc')
Output
todomvc | ├─ ngRoute | | └─ ng | | | └─ ngLocale | └─ ngResource | | └─ ng ^

























