Update plugin install to try/catch initial instantiation errors
Ryan Blenis committed
Dec 3, 2019 at 21:49 UTC
bd84dcf7312aea66d61848b9e4aaf2117edc6860
1 file changed
+10
-6
pluginHandler.js
+10
-6
@@ -412,12 +412,16 @@ module.exports.pluginHandler = function (parent) {
412
} else {
413
parent.db.updatePlugin(id, { status: 1, version: version_only.name }, func);
414
}
415
- obj.plugins[plugin.shortName] = require(obj.pluginPath + '/' + plugin.shortName + '/' + plugin.shortName + '.js')[plugin.shortName](obj);
416
- obj.exports[plugin.shortName] = obj.plugins[plugin.shortName].exports;
417
- if (typeof obj.plugins[plugin.shortName].server_startup == 'function') obj.plugins[plugin.shortName].server_startup();
418
- var plugin_config = obj.fs.readFileSync(obj.pluginPath + '/' + plugin.shortName + '/config.json');
419
- plugin_config = JSON.parse(plugin_config);
420
- parent.db.updatePlugin(plugin._id, plugin_config);
415
+ try {
416
+ obj.plugins[plugin.shortName] = require(obj.pluginPath + '/' + plugin.shortName + '/' + plugin.shortName + '.js')[plugin.shortName](obj);
417
+ obj.exports[plugin.shortName] = obj.plugins[plugin.shortName].exports;
418
+ if (typeof obj.plugins[plugin.shortName].server_startup == 'function') obj.plugins[plugin.shortName].server_startup();
419
+ } catch (e) { console.log('Error instantiating new plugin: ', e); }
420
+ try {
421
+ var plugin_config = obj.fs.readFileSync(obj.pluginPath + '/' + plugin.shortName + '/config.json');
422
+ plugin_config = JSON.parse(plugin_config);
423
+ parent.db.updatePlugin(plugin._id, plugin_config);
424
+ } catch (e) { console.log('Error reading plugin config upon install'); }
425
parent.updateMeshCore();
426
});
427
});