From 3dd337bd341237682b2aaced0823227105ffb7a8 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Sat, 7 Mar 2015 00:59:03 -0500 Subject: [PATCH] closes #2829 --- src/plugins/load.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/plugins/load.js b/src/plugins/load.js index 4bd432f582..89b38fdc64 100644 --- a/src/plugins/load.js +++ b/src/plugins/load.js @@ -22,15 +22,7 @@ module.exports = function(Plugins) { return callback(); } - if (pluginData.compatibility && semver.validRange(pluginData.compatibility)) { - if (!semver.gtr(pkg.version, pluginData.compatibility)) { - // NodeBB may not be new enough to run this plugin - process.stdout.write('\n'); - winston.warn('[plugins/' + pluginData.id + '] This plugin may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing.'); - winston.warn('[plugins/' + pluginData.id + '] In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset plugin="' + pluginData.id + '".'); - process.stdout.write('\n'); - } - } + versionWarning(pluginData); async.parallel([ function(next) { @@ -63,6 +55,23 @@ module.exports = function(Plugins) { }); }; + function versionWarning(pluginData) { + function display() { + process.stdout.write('\n'); + winston.warn('[plugins/' + pluginData.id + '] This plugin may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing.'); + winston.warn('[plugins/' + pluginData.id + '] In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset plugin="' + pluginData.id + '".'); + process.stdout.write('\n'); + } + + if (pluginData.nbbpm && pluginData.nbbpm.compatibility && semver.validRange(pluginData.nbbpm.compatibility)) { + if (!semver.gtr(pkg.version, pluginData.nbbpm.compatibility)) { + display(); + } + } else { + display(); + } + } + function registerHooks(pluginData, pluginPath, callback) { function libraryNotFound() { winston.warn('[plugins.reload] Library not found for plugin: ' + pluginData.id);