KrakenJS config middleware and Express 4 router middleware execution priority
0 reputation · 18 Feb 2020, 16:12 UTC
Goal
Determine whether middleware declared in KrakenJS 2.x config/middleware.json always executes before Express 4 router-level middleware registered inside controllers, and whether environment-specific config overrides can alter that relative execution order.
Constraints
KrakenJS registers config middleware through app.use() before mounting application routes. Controller-level middleware is attached to Express routers after config registration, but KrakenJS does not document a supported API to reorder or remove config-declared middleware at runtime. Merge behavior for overlapping middleware keys between base and environment-specific configs is version-sensitive and undocumented.
Does KrakenJS 2.x guarantee that all config-declared middleware runs before any router-level middleware, regardless of environment-specific middleware overrides? When the base and environment configs define the same middleware key, does the final load order follow the base array, the override array, or an unspecified merge?