lib/core-server/src/utils/middleware.ts
import path from 'path';
import fs from 'fs';
const fileExists = (basename: string) =>
['.js', '.cjs'].reduce((found: string, ext: string) => {
const filename = `${basename}${ext}`;
return !found && fs.existsSync(filename) ? filename : found;
}, '');
export function getMiddleware(configDir: string) {
const middlewarePath = fileExists(path.resolve(configDir, 'middleware'));
if (middlewarePath) {
let middlewareModule = require(middlewarePath); // eslint-disable-line
if (middlewareModule.__esModule) { // eslint-disable-line
middlewareModule = middlewareModule.default;
}
return middlewareModule;
}
return () => {};
}