From af3edde637ec868e1158864943f41a3c8f45adb9 Mon Sep 17 00:00:00 2001 From: Xiaoji Chen Date: Thu, 3 Sep 2026 12:00:16 -0700 Subject: [PATCH] fix(docusaurus-website): guard against empty webpackConfig --- .../docusaurus-website/src/get-default-config.ts | 3 +-- .../test/get-default-config.spec.ts | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 modules/docusaurus-website/test/get-default-config.spec.ts diff --git a/modules/docusaurus-website/src/get-default-config.ts b/modules/docusaurus-website/src/get-default-config.ts index b93cc9d..a241b1e 100644 --- a/modules/docusaurus-website/src/get-default-config.ts +++ b/modules/docusaurus-website/src/get-default-config.ts @@ -178,8 +178,7 @@ export function getDocusaurusConfig(config: OcularWebsiteConfig): Config { modules: [resolve('node_modules'), resolve(rootDir, 'node_modules')], alias: getAliases(rootDir) }, - // @ts-expect-error undefined property - webpackConfig.resolve + (webpackConfig as {resolve?: object}).resolve ?? {} ) } ], diff --git a/modules/docusaurus-website/test/get-default-config.spec.ts b/modules/docusaurus-website/test/get-default-config.spec.ts new file mode 100644 index 0000000..819bac0 --- /dev/null +++ b/modules/docusaurus-website/test/get-default-config.spec.ts @@ -0,0 +1,13 @@ +import {expect, test} from 'vitest'; +import {getDocusaurusConfig} from '../src/get-default-config.js'; + +test('getDocusaurusConfig supports omitted webpackConfig', () => { + expect(() => + getDocusaurusConfig({ + projectName: 'test-project', + repoUrl: 'https://github.com/visgl/test-project', + siteUrl: 'https://example.com', + docsTableOfContents: [] + }) + ).not.toThrow(); +});