From 629ba4d22bee899bdd4e62871f980b626f680013 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Tue, 15 Jun 2021 11:50:58 +0300 Subject: [PATCH] refactor(v2): include path in error about non-existent ids --- .../src/__tests__/__snapshots__/index.test.ts.snap | 2 +- packages/docusaurus-plugin-content-docs/src/index.ts | 5 ++++- packages/docusaurus-plugin-content-docs/src/sidebars.ts | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap b/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap index 722dd3df6475..95a928c2ba41 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`sidebar site with wrong sidebar content 1`] = ` -"Bad sidebars file. +"Bad sidebar file at 'packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/wrong-sidebars.json'. These sidebar document ids do not exist: - goku, diff --git a/packages/docusaurus-plugin-content-docs/src/index.ts b/packages/docusaurus-plugin-content-docs/src/index.ts index 76eb8af6d843..7d4b9c28fdf9 100644 --- a/packages/docusaurus-plugin-content-docs/src/index.ts +++ b/packages/docusaurus-plugin-content-docs/src/index.ts @@ -189,7 +189,10 @@ export default function pluginContentDocs( const sidebarsUtils = createSidebarsUtils(sidebars); const validDocIds = Object.keys(docsBaseById); - sidebarsUtils.checkSidebarsDocIds(validDocIds); + sidebarsUtils.checkSidebarsDocIds( + validDocIds, + versionMetadata.sidebarFilePath as string, + ); // Add sidebar/next/previous to the docs function addNavData(doc: DocMetadataBase): DocMetadata { diff --git a/packages/docusaurus-plugin-content-docs/src/sidebars.ts b/packages/docusaurus-plugin-content-docs/src/sidebars.ts index 76f63d33cc2f..5f07907fd235 100644 --- a/packages/docusaurus-plugin-content-docs/src/sidebars.ts +++ b/packages/docusaurus-plugin-content-docs/src/sidebars.ts @@ -28,7 +28,7 @@ import { PluginOptions, } from './types'; import {mapValues, flatten, flatMap, difference, pick, memoize} from 'lodash'; -import {getElementsAround} from '@docusaurus/utils'; +import {getElementsAround, toMessageRelativeFilePath} from '@docusaurus/utils'; import combinePromises from 'combine-promises'; import {DefaultSidebarItemsGenerator} from './sidebarItemsGenerator'; import path from 'path'; @@ -480,12 +480,12 @@ export function createSidebarsUtils(sidebars: Sidebars) { } } - function checkSidebarsDocIds(validDocIds: string[]) { + function checkSidebarsDocIds(validDocIds: string[], sidebarFilePath: string) { const allSidebarDocIds = flatten(Object.values(sidebarNameToDocIds)); const invalidSidebarDocIds = difference(allSidebarDocIds, validDocIds); if (invalidSidebarDocIds.length > 0) { throw new Error( - `Bad sidebars file. + `Bad sidebar file at '${toMessageRelativeFilePath(sidebarFilePath)}'. These sidebar document ids do not exist: - ${invalidSidebarDocIds.sort().join('\n- ')},