This commit is contained in:
Julian Lam
2014-12-03 16:17:12 -05:00
parent d62cdd5127
commit aaef0ad282
2 changed files with 33 additions and 3 deletions

View File

@@ -591,6 +591,7 @@ var fs = require('fs'),
plugins[i].id = plugins[i].name;
plugins[i].installed = false;
plugins[i].active = false;
plugins[i].error = false;
plugins[i].url = plugins[i].repository ? plugins[i].repository.url : '';
plugins[i].latest = getLatestVersion(plugins[i].versions);
pluginMap[plugins[i].name] = plugins[i];
@@ -602,6 +603,13 @@ var fs = require('fs'),
}
async.each(installedPlugins, function(plugin, next) {
// If it errored out because a package.json or plugin.json couldn't be read, no need to do this stuff
if (plugin.error) {
pluginMap[plugin.id].installed = true;
pluginMap[plugin.id].error = true;
return next();
}
pluginMap[plugin.id] = pluginMap[plugin.id] || {};
pluginMap[plugin.id].id = pluginMap[plugin.id].id || plugin.id;
pluginMap[plugin.id].name = plugin.name || pluginMap[plugin.id].name;
@@ -703,14 +711,20 @@ var fs = require('fs'),
}, next);
},
function(results, next) {
var packageInfo, pluginInfo;
var packageName = path.basename(file),
packageInfo, pluginInfo;
try {
packageInfo = JSON.parse(results.packageJSON);
pluginInfo = JSON.parse(results.pluginJSON);
} catch (err) {
winston.warn("Plugin: " + file + " is corrupted or invalid. Please check package.json and plugin.json for errors.");
return next(err, null);
winston.warn("Plugin `" + packageName + "` is corrupted or invalid. Please check either package.json or plugin.json for errors.");
return next(null, {
id: packageName,
installed: true,
error: true,
active: null
});
}
Plugins.isActive(packageInfo.name, function(err, active) {