fix(core): Lazy-load express-openapi-validator to reduce initial memory spike (no-changelog) (#7111)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™ 2023-09-05 14:42:14 +02:00 committed by GitHub
parent 36f246929e
commit cc37a5046a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,7 +5,6 @@ import fs from 'fs/promises';
import path from 'path'; import path from 'path';
import validator from 'validator'; import validator from 'validator';
import { middleware as openapiValidatorMiddleware } from 'express-openapi-validator';
import YAML from 'yamljs'; import YAML from 'yamljs';
import type { HttpError } from 'express-openapi-validator/dist/framework/types'; import type { HttpError } from 'express-openapi-validator/dist/framework/types';
import type { OpenAPIV3 } from 'openapi-types'; import type { OpenAPIV3 } from 'openapi-types';
@ -55,10 +54,11 @@ async function createApiRouter(
res.sendFile(openApiSpecPath); res.sendFile(openApiSpecPath);
}); });
const { middleware: openApiValidatorMiddleware } = await import('express-openapi-validator');
apiController.use( apiController.use(
`/${publicApiEndpoint}/${version}`, `/${publicApiEndpoint}/${version}`,
express.json(), express.json(),
openapiValidatorMiddleware({ openApiValidatorMiddleware({
apiSpec: openApiSpecPath, apiSpec: openApiSpecPath,
operationHandlers: handlersDirectory, operationHandlers: handlersDirectory,
validateRequests: true, validateRequests: true,