diff --git a/.eslintrc.js b/.eslintrc.js
index 9aefce002eca..1772b8d82ac8 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -9,16 +9,18 @@ const OFF = 0;
const WARNING = 1;
const ERROR = 2;
-const ClientRestrictedImportPatterns = [
- // Prevent importing lodash in client bundle for bundle size
- 'lodash',
- 'lodash.**',
- 'lodash/**',
- // Prevent importing server code in client bundle
- '**/../babel/**',
- '**/../server/**',
- '**/../commands/**',
- '**/../webpack/**',
+// Prevent importing lodash, usually for browser bundle size reasons
+const LodashImportPatterns = ['lodash', 'lodash.**', 'lodash/**'];
+
+// Prevent importing content plugins, usually for coupling reasons
+const ContentPluginsImportPatterns = [
+ '@docusaurus/plugin-content-blog',
+ '@docusaurus/plugin-content-blog/**',
+ // TODO fix theme-common => docs dependency issue
+ // '@docusaurus/plugin-content-docs',
+ // '@docusaurus/plugin-content-docs/**',
+ '@docusaurus/plugin-content-pages',
+ '@docusaurus/plugin-content-pages/**',
];
module.exports = {
@@ -408,7 +410,33 @@ module.exports = {
'no-restricted-imports': [
'error',
{
- patterns: ClientRestrictedImportPatterns,
+ patterns: [
+ ...LodashImportPatterns,
+ ...ContentPluginsImportPatterns,
+ // Prevent importing server code in client bundle
+ '**/../babel/**',
+ '**/../server/**',
+ '**/../commands/**',
+ '**/../webpack/**',
+ ],
+ },
+ ],
+ },
+ },
+ {
+ files: [
+ 'packages/docusaurus-theme-common/src/**/*.{js,ts,tsx}',
+ 'packages/docusaurus-utils-common/src/**/*.{js,ts,tsx}',
+ ],
+ excludedFiles: '*.test.{js,ts,tsx}',
+ rules: {
+ 'no-restricted-imports': [
+ 'error',
+ {
+ patterns: [
+ ...LodashImportPatterns,
+ ...ContentPluginsImportPatterns,
+ ],
},
],
},
@@ -420,7 +448,7 @@ module.exports = {
'no-restricted-imports': [
'error',
{
- patterns: ClientRestrictedImportPatterns.concat(
+ patterns: LodashImportPatterns.concat(
// Prevents relative imports between React theme components
[
'../**',
diff --git a/packages/docusaurus-plugin-content-blog/package.json b/packages/docusaurus-plugin-content-blog/package.json
index 35b666f223c7..0c6bddf730da 100644
--- a/packages/docusaurus-plugin-content-blog/package.json
+++ b/packages/docusaurus-plugin-content-blog/package.json
@@ -34,6 +34,7 @@
"@docusaurus/core": "3.4.0",
"@docusaurus/logger": "3.4.0",
"@docusaurus/mdx-loader": "3.4.0",
+ "@docusaurus/theme-common": "3.4.0",
"@docusaurus/types": "3.4.0",
"@docusaurus/utils": "3.4.0",
"@docusaurus/utils-common": "3.4.0",
diff --git a/packages/docusaurus-theme-common/src/contexts/blogPost.tsx b/packages/docusaurus-plugin-content-blog/src/client/contexts.tsx
similarity index 78%
rename from packages/docusaurus-theme-common/src/contexts/blogPost.tsx
rename to packages/docusaurus-plugin-content-blog/src/client/contexts.tsx
index 225688fbf329..2493deb64302 100644
--- a/packages/docusaurus-theme-common/src/contexts/blogPost.tsx
+++ b/packages/docusaurus-plugin-content-blog/src/client/contexts.tsx
@@ -6,9 +6,24 @@
*/
import React, {useMemo, type ReactNode, useContext} from 'react';
-import {ReactContextError} from '../utils/reactUtils';
+import {ReactContextError} from '@docusaurus/theme-common/internal';
+import useRouteContext from '@docusaurus/useRouteContext';
-import type {PropBlogPostContent} from '@docusaurus/plugin-content-blog';
+import type {
+ PropBlogPostContent,
+ BlogMetadata,
+} from '@docusaurus/plugin-content-blog';
+
+export function useBlogMetadata(): BlogMetadata {
+ const routeContext = useRouteContext();
+ const blogMetadata = routeContext?.data?.blogMetadata;
+ if (!blogMetadata) {
+ throw new Error(
+ "useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context",
+ );
+ }
+ return blogMetadata as BlogMetadata;
+}
/**
* The React context value returned by the `useBlogPost()` hook.
diff --git a/packages/docusaurus-plugin-content-blog/src/client/index.ts b/packages/docusaurus-plugin-content-blog/src/client/index.ts
deleted file mode 100644
index 333ddc5a4d7b..000000000000
--- a/packages/docusaurus-plugin-content-blog/src/client/index.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import useRouteContext from '@docusaurus/useRouteContext';
-import type {BlogMetadata} from '@docusaurus/plugin-content-blog';
-
-export function useBlogMetadata(): BlogMetadata {
- const routeContext = useRouteContext();
- const blogMetadata = routeContext?.data?.blogMetadata;
- if (!blogMetadata) {
- throw new Error(
- "useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context",
- );
- }
- return blogMetadata as BlogMetadata;
-}
diff --git a/packages/docusaurus-plugin-content-blog/src/client/index.tsx b/packages/docusaurus-plugin-content-blog/src/client/index.tsx
new file mode 100644
index 000000000000..ab7d5e7a19b2
--- /dev/null
+++ b/packages/docusaurus-plugin-content-blog/src/client/index.tsx
@@ -0,0 +1,24 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+export {
+ BlogPostProvider,
+ type BlogPostContextValue,
+ useBlogPost,
+ useBlogMetadata,
+} from './contexts';
+
+export {
+ useBlogListPageStructuredData,
+ useBlogPostStructuredData,
+} from './structuredDataUtils';
+
+export {
+ BlogSidebarItemList,
+ groupBlogSidebarItemsByYear,
+ useVisibleBlogSidebarItems,
+} from './sidebarUtils';
diff --git a/packages/docusaurus-theme-common/src/utils/__tests__/blogUtils.test.ts b/packages/docusaurus-plugin-content-blog/src/client/sidebarUtils.test.ts
similarity index 95%
rename from packages/docusaurus-theme-common/src/utils/__tests__/blogUtils.test.ts
rename to packages/docusaurus-plugin-content-blog/src/client/sidebarUtils.test.ts
index 119e7aaf899e..672ab89840e6 100644
--- a/packages/docusaurus-theme-common/src/utils/__tests__/blogUtils.test.ts
+++ b/packages/docusaurus-plugin-content-blog/src/client/sidebarUtils.test.ts
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
-import {groupBlogSidebarItemsByYear} from '../blogUtils';
+import {groupBlogSidebarItemsByYear} from './sidebarUtils';
import type {BlogSidebarItem} from '@docusaurus/plugin-content-blog';
describe('groupBlogSidebarItemsByYear', () => {
diff --git a/packages/docusaurus-theme-common/src/utils/blogUtils.tsx b/packages/docusaurus-plugin-content-blog/src/client/sidebarUtils.tsx
similarity index 95%
rename from packages/docusaurus-theme-common/src/utils/blogUtils.tsx
rename to packages/docusaurus-plugin-content-blog/src/client/sidebarUtils.tsx
index 5f3c43e3e1f7..3c276c0aa2ab 100644
--- a/packages/docusaurus-theme-common/src/utils/blogUtils.tsx
+++ b/packages/docusaurus-plugin-content-blog/src/client/sidebarUtils.tsx
@@ -8,8 +8,8 @@
import React, {type ReactNode, useMemo} from 'react';
import {useLocation} from '@docusaurus/router';
import Link from '@docusaurus/Link';
-import {isSamePath} from './routesUtils';
-import {groupBy} from './jsUtils';
+import {groupBy} from '@docusaurus/theme-common';
+import {isSamePath} from '@docusaurus/theme-common/internal';
import type {BlogSidebarItem} from '@docusaurus/plugin-content-blog';
function isVisible(item: BlogSidebarItem, pathname: string): boolean {
diff --git a/packages/docusaurus-theme-common/src/utils/structuredDataUtils.ts b/packages/docusaurus-plugin-content-blog/src/client/structuredDataUtils.ts
similarity index 99%
rename from packages/docusaurus-theme-common/src/utils/structuredDataUtils.ts
rename to packages/docusaurus-plugin-content-blog/src/client/structuredDataUtils.ts
index 3a8a985e5cd8..a541fc7705c7 100644
--- a/packages/docusaurus-theme-common/src/utils/structuredDataUtils.ts
+++ b/packages/docusaurus-plugin-content-blog/src/client/structuredDataUtils.ts
@@ -9,7 +9,8 @@ import {useBaseUrlUtils, type BaseUrlUtils} from '@docusaurus/useBaseUrl';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import {useBlogMetadata} from '@docusaurus/plugin-content-blog/client';
import type {Props as BlogListPageStructuredDataProps} from '@theme/BlogListPage/StructuredData';
-import {useBlogPost} from '../contexts/blogPost';
+import {useBlogPost} from './contexts';
+
import type {
Blog,
BlogPosting,
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogListPage/StructuredData/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogListPage/StructuredData/index.tsx
index a4f808091d82..4abf15596580 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogListPage/StructuredData/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogListPage/StructuredData/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import Head from '@docusaurus/Head';
-import {useBlogListPageStructuredData} from '@docusaurus/theme-common';
+import {useBlogListPageStructuredData} from '@docusaurus/plugin-content-blog/client';
import type {Props} from '@theme/BlogListPage/StructuredData';
export default function BlogListPageStructuredData(props: Props): JSX.Element {
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Content/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Content/index.tsx
index ebbae6884e67..5f0bc798c13b 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Content/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Content/index.tsx
@@ -8,7 +8,7 @@
import React from 'react';
import clsx from 'clsx';
import {blogPostContainerID} from '@docusaurus/utils-common';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import MDXContent from '@theme/MDXContent';
import type {Props} from '@theme/BlogPostItem/Content';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Footer/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Footer/index.tsx
index 22020c37e380..37e850abf0b2 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Footer/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Footer/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import clsx from 'clsx';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import {ThemeClassNames} from '@docusaurus/theme-common';
import EditMetaRow from '@theme/EditMetaRow';
import TagsListInline from '@theme/TagsListInline';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Authors/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Authors/index.tsx
index 9402f493b9e1..7ee6a472b22b 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Authors/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Authors/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import clsx from 'clsx';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import BlogPostItemHeaderAuthor from '@theme/BlogPostItem/Header/Author';
import type {Props} from '@theme/BlogPostItem/Header/Authors';
import styles from './styles.module.css';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Info/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Info/index.tsx
index 9b5308bbc73a..f289ae4474ad 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Info/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Info/index.tsx
@@ -9,10 +9,8 @@ import React from 'react';
import clsx from 'clsx';
import {translate} from '@docusaurus/Translate';
import {usePluralForm} from '@docusaurus/theme-common';
-import {
- useBlogPost,
- useDateTimeFormat,
-} from '@docusaurus/theme-common/internal';
+import {useDateTimeFormat} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import type {Props} from '@theme/BlogPostItem/Header/Info';
import styles from './styles.module.css';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Title/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Title/index.tsx
index 1a6ed4a17253..dc799713a300 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Title/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/Header/Title/index.tsx
@@ -8,7 +8,7 @@
import React from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import type {Props} from '@theme/BlogPostItem/Header/Title';
import styles from './styles.module.css';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/index.tsx
index 4dfb1073c0d8..be86b2816f8e 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItem/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItem/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import clsx from 'clsx';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import BlogPostItemContainer from '@theme/BlogPostItem/Container';
import BlogPostItemHeader from '@theme/BlogPostItem/Header';
import BlogPostItemContent from '@theme/BlogPostItem/Content';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostItems/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostItems/index.tsx
index 652a1a6a3fbf..60ad9a06a3bc 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostItems/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostItems/index.tsx
@@ -6,7 +6,7 @@
*/
import React from 'react';
-import {BlogPostProvider} from '@docusaurus/theme-common/internal';
+import {BlogPostProvider} from '@docusaurus/plugin-content-blog/client';
import BlogPostItem from '@theme/BlogPostItem';
import type {Props} from '@theme/BlogPostItems';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/Metadata/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/Metadata/index.tsx
index 515e104baa8e..26a62049b827 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/Metadata/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/Metadata/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import {PageMetadata} from '@docusaurus/theme-common';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
export default function BlogPostPageMetadata(): JSX.Element {
const {assets, metadata} = useBlogPost();
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/StructuredData/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/StructuredData/index.tsx
index 72a15a5d2d22..ef7df81fd416 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/StructuredData/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/StructuredData/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import Head from '@docusaurus/Head';
-import {useBlogPostStructuredData} from '@docusaurus/theme-common';
+import {useBlogPostStructuredData} from '@docusaurus/plugin-content-blog/client';
export default function BlogPostStructuredData(): JSX.Element {
const structuredData = useBlogPostStructuredData();
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx
index 6d7ed51a7fd5..2ceb7c5d16d4 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx
@@ -8,7 +8,10 @@
import React, {type ReactNode} from 'react';
import clsx from 'clsx';
import {HtmlClassNameProvider, ThemeClassNames} from '@docusaurus/theme-common';
-import {BlogPostProvider, useBlogPost} from '@docusaurus/theme-common/internal';
+import {
+ BlogPostProvider,
+ useBlogPost,
+} from '@docusaurus/plugin-content-blog/client';
import BlogLayout from '@theme/BlogLayout';
import BlogPostItem from '@theme/BlogPostItem';
import BlogPostPaginator from '@theme/BlogPostPaginator';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Content/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Content/index.tsx
index decd530b8fd8..d51bc276abf2 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Content/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Content/index.tsx
@@ -6,7 +6,7 @@
*/
import React, {memo, type ReactNode} from 'react';
import {useThemeConfig} from '@docusaurus/theme-common';
-import {groupBlogSidebarItemsByYear} from '@docusaurus/theme-common/internal';
+import {groupBlogSidebarItemsByYear} from '@docusaurus/plugin-content-blog/client';
import Heading from '@theme/Heading';
import type {Props} from '@theme/BlogSidebar/Content';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Desktop/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Desktop/index.tsx
index 3c707ff6314e..e6102e18bd7d 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Desktop/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Desktop/index.tsx
@@ -11,7 +11,7 @@ import {translate} from '@docusaurus/Translate';
import {
useVisibleBlogSidebarItems,
BlogSidebarItemList,
-} from '@docusaurus/theme-common/internal';
+} from '@docusaurus/plugin-content-blog/client';
import BlogSidebarContent from '@theme/BlogSidebar/Content';
import type {Props as BlogSidebarContentProps} from '@theme/BlogSidebar/Content';
import type {Props} from '@theme/BlogSidebar/Desktop';
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Mobile/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Mobile/index.tsx
index 2482e53b03e7..4e50a9c32d9e 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Mobile/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/Mobile/index.tsx
@@ -9,7 +9,7 @@ import React, {memo} from 'react';
import {
useVisibleBlogSidebarItems,
BlogSidebarItemList,
-} from '@docusaurus/theme-common/internal';
+} from '@docusaurus/plugin-content-blog/client';
import {NavbarSecondaryMenuFiller} from '@docusaurus/theme-common';
import BlogSidebarContent from '@theme/BlogSidebar/Content';
import type {Props} from '@theme/BlogSidebar/Mobile';
diff --git a/packages/docusaurus-theme-common/package.json b/packages/docusaurus-theme-common/package.json
index 523194bcc0e1..5bc7211f54ac 100644
--- a/packages/docusaurus-theme-common/package.json
+++ b/packages/docusaurus-theme-common/package.json
@@ -32,7 +32,6 @@
"dependencies": {
"@docusaurus/mdx-loader": "3.4.0",
"@docusaurus/module-type-aliases": "3.4.0",
- "@docusaurus/plugin-content-blog": "3.4.0",
"@docusaurus/plugin-content-docs": "3.4.0",
"@docusaurus/plugin-content-pages": "3.4.0",
"@docusaurus/utils": "3.4.0",
diff --git a/packages/docusaurus-theme-common/src/index.ts b/packages/docusaurus-theme-common/src/index.ts
index 3cca2115358b..809a9e95a8f4 100644
--- a/packages/docusaurus-theme-common/src/index.ts
+++ b/packages/docusaurus-theme-common/src/index.ts
@@ -39,11 +39,6 @@ export {
filterDocCardListItems,
} from './utils/docsUtils';
-export {
- useBlogListPageStructuredData,
- useBlogPostStructuredData,
-} from './utils/structuredDataUtils';
-
export {usePluralForm} from './utils/usePluralForm';
export {useCollapsible, Collapsible} from './components/Collapsible';
diff --git a/packages/docusaurus-theme-common/src/internal.ts b/packages/docusaurus-theme-common/src/internal.ts
index b58d2e2cc7db..166b723d935e 100644
--- a/packages/docusaurus-theme-common/src/internal.ts
+++ b/packages/docusaurus-theme-common/src/internal.ts
@@ -26,11 +26,6 @@ export {DocsVersionProvider, useDocsVersion} from './contexts/docsVersion';
export {DocsSidebarProvider, useDocsSidebar} from './contexts/docsSidebar';
export {DocProvider, useDoc, type DocContextValue} from './contexts/doc';
-export {
- BlogPostProvider,
- useBlogPost,
- type BlogPostContextValue,
-} from './contexts/blogPost';
export {
useDocsPreferredVersionByPluginId,
@@ -113,11 +108,6 @@ export {
type TOCHighlightConfig,
} from './hooks/useTOCHighlight';
-export {
- useVisibleBlogSidebarItems,
- groupBlogSidebarItemsByYear,
- BlogSidebarItemList,
-} from './utils/blogUtils';
export {useDateTimeFormat} from './utils/IntlUtils';
export {useHideableNavbar} from './hooks/useHideableNavbar';
diff --git a/packages/docusaurus-theme-common/src/types.d.ts b/packages/docusaurus-theme-common/src/types.d.ts
index db5e128fd3d1..ba3c6b205c49 100644
--- a/packages/docusaurus-theme-common/src/types.d.ts
+++ b/packages/docusaurus-theme-common/src/types.d.ts
@@ -6,6 +6,4 @@
*/
///
-///
///
-///
diff --git a/website/src/plugins/changelog/theme/ChangelogItem/Header/Authors/index.tsx b/website/src/plugins/changelog/theme/ChangelogItem/Header/Authors/index.tsx
index 53f0e7b7a490..248cdb780263 100644
--- a/website/src/plugins/changelog/theme/ChangelogItem/Header/Authors/index.tsx
+++ b/website/src/plugins/changelog/theme/ChangelogItem/Header/Authors/index.tsx
@@ -7,7 +7,7 @@
import React, {useState} from 'react';
import clsx from 'clsx';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import ChangelogItemHeaderAuthor from '@theme/ChangelogItem/Header/Author';
import IconExpand from '@theme/Icon/Expand';
import type {Props} from '@theme/BlogPostItem/Header/Authors';
diff --git a/website/src/plugins/changelog/theme/ChangelogItem/Header/index.tsx b/website/src/plugins/changelog/theme/ChangelogItem/Header/index.tsx
index 0e230474b106..e3fe6c9918ad 100644
--- a/website/src/plugins/changelog/theme/ChangelogItem/Header/index.tsx
+++ b/website/src/plugins/changelog/theme/ChangelogItem/Header/index.tsx
@@ -6,7 +6,7 @@
*/
import React from 'react';
-import {useBlogPost} from '@docusaurus/theme-common/internal';
+import {useBlogPost} from '@docusaurus/plugin-content-blog/client';
import BlogPostItemHeaderTitle from '@theme/BlogPostItem/Header/Title';
import BlogPostItemHeaderInfo from '@theme/BlogPostItem/Header/Info';
diff --git a/website/src/plugins/changelog/theme/ChangelogPage/index.tsx b/website/src/plugins/changelog/theme/ChangelogPage/index.tsx
index 0eed63471d1b..a40661579d8b 100644
--- a/website/src/plugins/changelog/theme/ChangelogPage/index.tsx
+++ b/website/src/plugins/changelog/theme/ChangelogPage/index.tsx
@@ -10,7 +10,10 @@ import clsx from 'clsx';
import Translate from '@docusaurus/Translate';
import Link from '@docusaurus/Link';
import {HtmlClassNameProvider, ThemeClassNames} from '@docusaurus/theme-common';
-import {BlogPostProvider, useBlogPost} from '@docusaurus/theme-common/internal';
+import {
+ BlogPostProvider,
+ useBlogPost,
+} from '@docusaurus/plugin-content-blog/client';
import BlogPostPageMetadata from '@theme/BlogPostPage/Metadata';
import BlogLayout from '@theme/BlogLayout';
import ChangelogItem from '@theme/ChangelogItem';