Ghost/core/frontend/web/routes.js
Hannah Wolfe 56af742a0b
Moved frontend reloading logic into bridge
- following on from removing api versioning logic from the frontend, it's possible to make more sense of what's happening
- this commit first introduces a proper jsdoc'd object that gets passed through the frontent load & reload flow
- that object contains the urlService and optionally our routeSettings processed from routes.yaml
- additionally, we were passing around a start boolean, which told the routerManager whether to just init, or init+start
- with this refactor, we always pass in the routeSettings when we want to do init+start, so we no longer need a boolean

- The refactor itself moves logic from the reload function in site.js and urlservice + routesettings fetching logic from routes.js
    into the reloadFrontend function in bridge.js.
- This makes it clearer to see what happens when we call reloadFrontend.
- This commit also makes it clearer to see what is happening with the route settings, where they are needed and why
- Ideally we'd also clean up the weird dupliated logic and somewhat unnecessary routes.js file
2022-04-28 15:37:09 +01:00

13 lines
392 B
JavaScript

const debug = require('@tryghost/debug')('frontend:routes');
const routing = require('../services/routing');
/**
*
* @param {import('../services/routing/router-manager').RouterConfig} routerConfig
* @returns {import('express').Router}
*/
module.exports = function siteRoutes(routerConfig) {
debug('site Routes', routerConfig);
return routing.routerManager.init(routerConfig);
};