56af742a0b
- 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
13 lines
392 B
JavaScript
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);
|
|
};
|