mirror of
https://github.com/liabru/matter-js.git
synced 2024-11-23 09:26:51 -05:00
fixed various Matter.Plugin issues
This commit is contained in:
parent
0e5a4579b6
commit
05d0961483
1 changed files with 13 additions and 5 deletions
|
@ -26,13 +26,17 @@ var Common = require('./Common');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin.name in Plugin._registry) {
|
if (plugin.name in Plugin._registry) {
|
||||||
var registered = Plugin._registry[plugin.name];
|
var registered = Plugin._registry[plugin.name],
|
||||||
|
pluginVersion = Plugin.versionParse(plugin.version).number,
|
||||||
|
registeredVersion = Plugin.versionParse(registered.version).number;
|
||||||
|
|
||||||
if (Plugin.versionParse(plugin.version).number >= Plugin.versionParse(registered.version).number) {
|
if (pluginVersion > registeredVersion) {
|
||||||
Common.warn('Plugin.register:', Plugin.toString(registered), 'was upgraded to', Plugin.toString(plugin));
|
Common.warn('Plugin.register:', Plugin.toString(registered), 'was upgraded to', Plugin.toString(plugin));
|
||||||
Plugin._registry[plugin.name] = plugin;
|
Plugin._registry[plugin.name] = plugin;
|
||||||
} else {
|
} else if (pluginVersion < registeredVersion) {
|
||||||
Common.warn('Plugin.register:', Plugin.toString(registered), 'can not be downgraded to', Plugin.toString(plugin));
|
Common.warn('Plugin.register:', Plugin.toString(registered), 'can not be downgraded to', Plugin.toString(plugin));
|
||||||
|
} else if (plugin !== registered) {
|
||||||
|
Common.warn('Plugin.register:', Plugin.toString(plugin), 'is already registered to different plugin object');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Plugin._registry[plugin.name] = plugin;
|
Plugin._registry[plugin.name] = plugin;
|
||||||
|
@ -59,7 +63,7 @@ var Common = require('./Common');
|
||||||
* @return {string} Pretty printed plugin name and version.
|
* @return {string} Pretty printed plugin name and version.
|
||||||
*/
|
*/
|
||||||
Plugin.toString = function(plugin) {
|
Plugin.toString = function(plugin) {
|
||||||
return (plugin.name || 'anonymous') + '@' + (plugin.version || plugin.range || '0.0.0');
|
return typeof plugin === 'string' ? plugin : (plugin.name || 'anonymous') + '@' + (plugin.version || plugin.range || '0.0.0');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -191,6 +195,10 @@ var Common = require('./Common');
|
||||||
module = Plugin.resolve(module) || module;
|
module = Plugin.resolve(module) || module;
|
||||||
|
|
||||||
tracked[name] = Common.map(module.uses || [], function(dependency) {
|
tracked[name] = Common.map(module.uses || [], function(dependency) {
|
||||||
|
if (Plugin.isPlugin(dependency)) {
|
||||||
|
Plugin.register(dependency);
|
||||||
|
}
|
||||||
|
|
||||||
var parsed = Plugin.dependencyParse(dependency),
|
var parsed = Plugin.dependencyParse(dependency),
|
||||||
resolved = Plugin.resolve(dependency);
|
resolved = Plugin.resolve(dependency);
|
||||||
|
|
||||||
|
@ -204,7 +212,7 @@ var Common = require('./Common');
|
||||||
module._warned = true;
|
module._warned = true;
|
||||||
} else if (!resolved) {
|
} else if (!resolved) {
|
||||||
Common.warn(
|
Common.warn(
|
||||||
'Plugin.dependencies:', dependency, 'used by',
|
'Plugin.dependencies:', Plugin.toString(dependency), 'used by',
|
||||||
Plugin.toString(parsedBase), 'could not be resolved.'
|
Plugin.toString(parsedBase), 'could not be resolved.'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue