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 ^