From 8b8af57946ecf0d50fd8c6df48d8fb60675a3ee2 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Wed, 12 Jun 2019 22:29:12 +0200 Subject: [PATCH] Fix beforeInitialize middlewares can modify order or middlewares --- packages/strapi/lib/middlewares/index.js | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/strapi/lib/middlewares/index.js b/packages/strapi/lib/middlewares/index.js index 2fb5423f8e..0263baf3c8 100644 --- a/packages/strapi/lib/middlewares/index.js +++ b/packages/strapi/lib/middlewares/index.js @@ -65,6 +65,20 @@ module.exports = async function() { }); }; + /** + * Run init functions + */ + + // Run beforeInitialize of every middleware + await Promise.all( + enabledMiddlewares.map(key => { + const { beforeInitialize } = this.middleware[key].load; + if (typeof beforeInitialize === 'function') { + return beforeInitialize(); + } + }) + ); + // run the initialization of an array of middlewares sequentially const initMiddlewaresSeq = async middlewareArr => { for (let key of uniq(middlewareArr)) { @@ -91,20 +105,6 @@ module.exports = async function() { middlewaresAfter ); - /** - * Run init functions - */ - - // Run beforeInitialize of every middleware - await Promise.all( - enabledMiddlewares.map(key => { - const { beforeInitialize } = this.middleware[key].load; - if (typeof beforeInitialize === 'function') { - return beforeInitialize(); - } - }) - ); - // before await initMiddlewaresSeq(middlewaresBefore);