UNPKG

@fontoxml/fontoxml-development-tools

Version:

Development tools for Fonto.

41 lines (34 loc) 1.34 kB
import express from 'express'; import fs from 'fs-extra'; import path from 'path'; import { pathToFileURL } from 'url'; import configureFontoSessionMiddleware from './configureFontoSessionMiddleware.js'; import configureScopeMiddleware from './configureScopeMiddleware.js'; import connectorsCmsStandardCreateMiddleware from './connectors-cms-standard/createMiddleware.js'; import connectorsDistCreateMiddleware from './connectors-dist/createMiddleware.js'; import connectorsHealthCreateMiddleware from './connectors-health/createMiddleware.js'; /** @typedef {import('../src/getAppConfig.js').DevCmsConfig} DevCmsConfig */ /** * @param {DevCmsConfig} config */ export default async function setupDevCms(config) { const configureDevCmsPath = path.resolve( config.root, 'dev-cms', 'configureDevCms.js' ); let devCmsConfig = {}; if (fs.existsSync(configureDevCmsPath)) { devCmsConfig = ( await import(pathToFileURL(configureDevCmsPath)) ).default(express.Router(), config); } config.reviewAnnotationFilter = devCmsConfig.reviewAnnotationFilter || null; return [ configureFontoSessionMiddleware(), configureScopeMiddleware(config), ...connectorsHealthCreateMiddleware(), ...(config.dist ? connectorsDistCreateMiddleware(config) : []), ...connectorsCmsStandardCreateMiddleware(config, devCmsConfig.routes), ]; }