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