This commit is contained in:
Julian Lam
2014-10-03 17:29:42 -04:00
parent 1644c1f9e9
commit 4b9e4a0109
2 changed files with 14 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ var fs = require('fs'),
Plugins.lessFiles = [];
Plugins.clientScripts = [];
Plugins.customLanguages = [];
Plugins.libraryPaths = [];
Plugins.initialized = false;
@@ -76,11 +77,13 @@ var fs = require('fs'),
Plugins.reload = function(callback) {
// Resetting all local plugin data
Plugins.libraries = {};
Plugins.loadedHooks = {};
Plugins.staticDirs = {};
Plugins.cssFiles.length = 0;
Plugins.lessFiles.length = 0;
Plugins.clientScripts.length = 0;
Plugins.libraryPaths.length = 0;
// Read the list of activated plugins and require their libraries
async.waterfall([
@@ -186,6 +189,7 @@ var fs = require('fs'),
if (exists) {
if (!Plugins.libraries[pluginData.id]) {
Plugins.libraries[pluginData.id] = require(libraryPath);
Plugins.libraryPaths.push(libraryPath);
}
// Register hooks for this plugin
@@ -765,7 +769,16 @@ var fs = require('fs'),
});
};
Plugins.clearRequireCache = function(next) {
async.map(Plugins.libraryPaths, fs.realpath, function(err, paths) {
for (var x=0,numPaths=paths.length;x<numPaths;x++) {
delete require.cache[paths[x]];
}
winston.info('[plugins] Plugin libraries removed from Node.js cache');
next();
});
};
function addLanguages(router, middleware, controllers, callback) {
Plugins.customLanguages.forEach(function(lang) {