From dfd840b001dd5bccaddcb112583bd9132f82a2cc Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 13 Aug 2015 14:23:09 -0400 Subject: [PATCH] Fix defaultPlugins logic to parse the incoming value --- src/install.js | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/install.js b/src/install.js index b1b9cadb78..fb100280c7 100644 --- a/src/install.js +++ b/src/install.js @@ -478,17 +478,24 @@ function enableDefaultPlugins(next) { process.stdout.write('Enabling default plugins\n'); var defaultEnabled = [ - 'nodebb-plugin-composer-default', - 'nodebb-plugin-markdown', - 'nodebb-plugin-mentions', - 'nodebb-widget-essentials', - 'nodebb-rewards-essentials', - 'nodebb-plugin-soundpack-default', - 'nodebb-plugin-emoji-extended' - ]; - - if (Array.isArray(nconf.get('defaultPlugins'))) { - defaultEnabled = defaultEnabled.concat(nconf.get('defaultPlugins')); + 'nodebb-plugin-composer-default', + 'nodebb-plugin-markdown', + 'nodebb-plugin-mentions', + 'nodebb-widget-essentials', + 'nodebb-rewards-essentials', + 'nodebb-plugin-soundpack-default', + 'nodebb-plugin-emoji-extended' + ], + customDefaults = nconf.get('defaultPlugins'); + + if (customDefaults && customDefaults.length) { + try { + customDefaults = JSON.parse(customDefaults); + defaultEnabled = defaultEnabled.concat(customDefaults); + } catch (e) { + // Invalid value received + winston.warn('[install/enableDefaultPlugins] Invalid defaultPlugins value received. Ignoring.'); + } } defaultEnabled = defaultEnabled.filter(function(plugin, index, array) {