Update plugin install to try/catch initial instantiation errors

This commit is contained in:
Ryan Blenis 2019-12-03 21:49:06 -05:00
parent 3ae2951e30
commit bd84dcf731

View File

@ -412,12 +412,16 @@ module.exports.pluginHandler = function (parent) {
} else { } else {
parent.db.updatePlugin(id, { status: 1, version: version_only.name }, func); parent.db.updatePlugin(id, { status: 1, version: version_only.name }, func);
} }
obj.plugins[plugin.shortName] = require(obj.pluginPath + '/' + plugin.shortName + '/' + plugin.shortName + '.js')[plugin.shortName](obj); try {
obj.exports[plugin.shortName] = obj.plugins[plugin.shortName].exports; obj.plugins[plugin.shortName] = require(obj.pluginPath + '/' + plugin.shortName + '/' + plugin.shortName + '.js')[plugin.shortName](obj);
if (typeof obj.plugins[plugin.shortName].server_startup == 'function') obj.plugins[plugin.shortName].server_startup(); obj.exports[plugin.shortName] = obj.plugins[plugin.shortName].exports;
var plugin_config = obj.fs.readFileSync(obj.pluginPath + '/' + plugin.shortName + '/config.json'); if (typeof obj.plugins[plugin.shortName].server_startup == 'function') obj.plugins[plugin.shortName].server_startup();
plugin_config = JSON.parse(plugin_config); } catch (e) { console.log('Error instantiating new plugin: ', e); }
parent.db.updatePlugin(plugin._id, plugin_config); try {
var plugin_config = obj.fs.readFileSync(obj.pluginPath + '/' + plugin.shortName + '/config.json');
plugin_config = JSON.parse(plugin_config);
parent.db.updatePlugin(plugin._id, plugin_config);
} catch (e) { console.log('Error reading plugin config upon install'); }
parent.updateMeshCore(); parent.updateMeshCore();
}); });
}); });