diff --git a/lib/core/plugins.js b/lib/core/plugins.js index 096ce43f..fe42c472 100644 --- a/lib/core/plugins.js +++ b/lib/core/plugins.js @@ -104,6 +104,17 @@ Plugins.prototype.getPluginsProperty = function(pluginType, property, sub_proper return plugin.has(pluginType); }); + // Sort internal plugins first + matchingPlugins.sort((a, b) => { + if (a.isInternal) { + return -1; + } + if (b.isInternal) { + return 1; + } + return 0; + }); + let matchingProperties = matchingPlugins.map((plugin) => { if (sub_property) { return plugin[property][sub_property]; @@ -111,6 +122,7 @@ Plugins.prototype.getPluginsProperty = function(pluginType, property, sub_proper return plugin[property]; }); + // Remove empty properties matchingProperties = matchingProperties.filter((property) => property); //return flattened list