diff --git a/src/plugins/data.js b/src/plugins/data.js index e9ff0e9c6f..af96f94028 100644 --- a/src/plugins/data.js +++ b/src/plugins/data.js @@ -13,11 +13,16 @@ const Data = module.exports; const basePath = path.join(__dirname, '../../'); Data.getPluginPaths = async function () { - let plugins = await db.getSortedSetRange('plugins:active', 0, -1); - plugins = plugins.filter(plugin => plugin && typeof plugin === 'string') + const plugins = await db.getSortedSetRange('plugins:active', 0, -1); + const pluginPaths = plugins.filter(plugin => plugin && typeof plugin === 'string') .map(plugin => path.join(paths.nodeModules, plugin)); - const exists = await Promise.all(plugins.map(p => file.exists(p))); + const exists = await Promise.all(pluginPaths.map(file.exists)); + exists.forEach((exists, i) => { + if (!exists) { + winston.warn(`[plugins] "${plugins[i]}" is active but not installed.`); + } + }); return plugins.filter((p, i) => exists[i]); }; diff --git a/src/upgrade.js b/src/upgrade.js index 99b088bb05..051747b47b 100644 --- a/src/upgrade.js +++ b/src/upgrade.js @@ -71,7 +71,9 @@ Upgrade.appendPluginScripts = async function (files) { }); } } catch (e) { - winston.warn(`[upgrade/appendPluginScripts] Unable to read plugin.json for plugin \`${plugin}\`. Skipping.`); + if (e.code !== 'MODULE_NOT_FOUND') { + winston.error(e.stack); + } } }); return files;