diff --git a/.changeset/brave-cats-hug.md b/.changeset/brave-cats-hug.md new file mode 100644 index 00000000..19b823f2 --- /dev/null +++ b/.changeset/brave-cats-hug.md @@ -0,0 +1,5 @@ +--- +'docusaurus-plugin-typedoc': patch +--- + +- Create output directory if it doesn't exist (#641) diff --git a/packages/docusaurus-plugin-typedoc/src/plugin.ts b/packages/docusaurus-plugin-typedoc/src/plugin.ts index 26c84014..126d3d4d 100644 --- a/packages/docusaurus-plugin-typedoc/src/plugin.ts +++ b/packages/docusaurus-plugin-typedoc/src/plugin.ts @@ -50,6 +50,12 @@ async function generateTypedoc(context: any, opts: Partial) { const { id, sidebar, ...optionsPassedToTypeDoc } = pluginOptions; + const outputDir = path.join(siteDir, pluginOptions.out); + + if (!fs.existsSync(outputDir)) { + fs.mkdirSync(outputDir, { recursive: true }); + } + const app = (await Application.bootstrapWithPlugins( optionsPassedToTypeDoc, )) as unknown as MarkdownApplication; @@ -61,8 +67,6 @@ async function generateTypedoc(context: any, opts: Partial) { } as DeclarationOption); }); - const outputDir = app.options.getValue('out'); - if (sidebar?.autoConfiguration) { const docsPreset = context.siteConfig?.presets?.find((preset: any) => Boolean(preset[1]?.docs),