From d473ea5b92f03033929265979e2e436ebd976327 Mon Sep 17 00:00:00 2001 From: Brian Steere Date: Tue, 8 Jul 2025 11:46:58 -0500 Subject: [PATCH] Improve error handling when spec isn't valid Check for validation results that will result in an error and reject with that error. Also, add additional safety around the `conversionResult` handling to avoid generic errors on failure. --- .../src/openapi/openapi.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts index 697fd2d1a..212e7cd7b 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts @@ -43,9 +43,15 @@ function jsonToCollection(data: OpenApiObject): Promise { { schemaFaker: false } ); schemaPack.computedOptions.schemaFaker = false; + + // Make sure the schema was properly validated or reject with error + if (!schemaPack.validationResult?.result) { + return reject(schemaPack.validationResult?.reason); + } + schemaPack.convert((_err: any, conversionResult: any) => { - if (!conversionResult.result) { - return reject(conversionResult.reason); + if (_err || !conversionResult.result) { + return reject(_err || conversionResult.reason); } return resolve(new sdk.Collection(conversionResult.output[0].data)); });