jenkins-bot has submitted this change and it was merged.

Change subject: Add method for inspecting module dependency relations
......................................................................


Add method for inspecting module dependency relations

This patch adds mw.inspect#getDependencyGraph, which returns an object
enumerating all the modules that a given module requires and all the modules
that require the given module. There is no special console report associated
with this method.

Change-Id: Ib234c2c8bbbf8f34860b04e8d299b6923f4775ef
---
M resources/mediawiki/mediawiki.inspect.js
1 file changed, 24 insertions(+), 1 deletion(-)

Approvals:
  Mattflaschen: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/mediawiki/mediawiki.inspect.js 
b/resources/mediawiki/mediawiki.inspect.js
index 8268f12..0317737 100644
--- a/resources/mediawiki/mediawiki.inspect.js
+++ b/resources/mediawiki/mediawiki.inspect.js
@@ -21,6 +21,29 @@
        var inspect = {
 
                /**
+                * Return a map of all dependency relationships between loaded 
modules.
+                *
+                * @return {Object} Maps module names to objects. Each 
sub-object has
+                *  two properties, 'requires' and 'requiredBy'.
+                */
+               getDependencyGraph: function () {
+                       var modules = inspect.getLoadedModules(), graph = {};
+
+                       $.each( modules, function ( moduleIndex, moduleName ) {
+                               var dependencies = 
mw.loader.moduleRegistry[moduleName].dependencies || [];
+
+                               graph[moduleName] = graph[moduleName] || { 
requiredBy: [] };
+                               graph[moduleName].requires = dependencies;
+
+                               $.each( dependencies, function ( depIndex, 
depName ) {
+                                       graph[depName] = graph[depName] || { 
requiredBy: [] };
+                                       graph[depName].requiredBy.push( 
moduleName );
+                               } );
+                       } );
+                       return graph;
+               },
+
+               /**
                 * Calculate the byte size of a ResourceLoader module.
                 *
                 * @param {string} moduleName The name of the module
@@ -184,7 +207,7 @@
                                } );
                                sortByProperty( modules, 'allSelectors', true );
                                return modules;
-                       },
+                       }
                }
        };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/89608
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib234c2c8bbbf8f34860b04e8d299b6923f4775ef
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Bartosz DziewoƄski <[email protected]>
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: Mattflaschen <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to