From ffa42ffea3e8b6d9094ab8b15eb920e874bcb7cc Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 10 Mar 2014 21:54:30 -0400 Subject: [PATCH] moving pluginRoutes to top of route stack (like others), put app.load hook behind plugins' ready callback --- src/middleware/index.js | 4 ++-- src/plugins.js | 4 ++-- src/routes/index.js | 10 ++++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/middleware/index.js b/src/middleware/index.js index 1d251c2d43..008c09210f 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -80,7 +80,7 @@ function compileTemplates(pluginTemplates) { winston.info('[themes] Compiling templates'); rimraf.sync(nconf.get('views_dir')); mkdirp.sync(nconf.get('views_dir')); - + utils.walk(nconf.get('base_templates_path'), function(err, baseTpls) { utils.walk(nconf.get('theme_templates_path'), function (err, themeTpls) { var paths = pluginTemplates; @@ -123,7 +123,7 @@ function compileTemplates(pluginTemplates) { } }); }); - }); + }); } function handleErrors(err, req, res, next) { diff --git a/src/plugins.js b/src/plugins.js index 8e5a773fbc..cc50cc47c3 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -305,11 +305,11 @@ var fs = require('fs'), if (callback) { args.pop(); } - + hookList = Plugins.loadedHooks[hook]; if (hookList && Array.isArray(hookList)) { - //if (global.env === 'development') winston.info('[plugins] Firing hook: \'' + hook + '\''); + // if (global.env === 'development') winston.info('[plugins] Firing hook: \'' + hook + '\''); var hookType = hook.split(':')[0]; switch (hookType) { case 'filter': diff --git a/src/routes/index.js b/src/routes/index.js index 0d84cb5428..72bc3cbfa5 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -18,7 +18,8 @@ module.exports = function(app, middleware) { metaRoutes(app, middleware, controllers); apiRoutes(app, middleware, controllers); feedRoutes(app, middleware, controllers); - + pluginRoutes(app, middleware, controllers); + /** * Every view has an associated API route. * @@ -119,10 +120,11 @@ module.exports = function(app, middleware) { app.get('/api/users/latest', middleware.checkGlobalPrivacySettings, controllers.users.getUsersSortedByJoinDate); app.get('/users/search', middleware.buildHeader, middleware.checkGlobalPrivacySettings, controllers.users.getUsersForSearch); - app.get('/api/users/search', middleware.checkGlobalPrivacySettings, controllers.users.getUsersForSearch); + app.get('/api/users/search', middleware.checkGlobalPrivacySettings, controllers.users.getUsersForSearch); - pluginRoutes(app, middleware, controllers); - plugins.fireHook('action:app.load', app, middleware, controllers); + plugins.ready(function() { + plugins.fireHook('action:app.load', app, middleware, controllers); + }); if (process.env.NODE_ENV === 'development') { require('./debug')(app, middleware, controllers);