From 0af6e1f212eafe374d949ca9e10f5daa9c5c2bc5 Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Thu, 8 May 2025 16:40:17 +0300 Subject: [PATCH] docs: add support for keywords in references (#12413) --- .../resources/app/references/[...slug]/page.tsx | 13 +++++++++++-- .../page.mdx | 6 +++++- .../cache/interfaces/cache.ICacheService/page.mdx | 4 ++++ .../event.IEventBusModuleService/page.mdx | 4 ++++ .../file.AbstractFileProviderService/page.mdx | 5 +++++ .../interfaces/locking.ILockingProvider/page.mdx | 4 ++++ .../page.mdx | 4 ++++ .../interfaces/tax_provider.ITaxProvider/page.mdx | 4 ++++ .../merger-custom-options/auth-provider.ts | 1 + .../src/constants/merger-custom-options/cache.ts | 1 + .../src/constants/merger-custom-options/event.ts | 1 + .../src/constants/merger-custom-options/file.ts | 1 + .../merger-custom-options/fulfillment-provider.ts | 1 + .../src/constants/merger-custom-options/locking.ts | 1 + .../merger-custom-options/notification-service.ts | 1 + .../merger-custom-options/payment-provider.ts | 1 + .../constants/merger-custom-options/tax-provider.ts | 1 + www/utils/packages/types/lib/index.d.ts | 1 + 18 files changed, 51 insertions(+), 3 deletions(-) diff --git a/www/apps/resources/app/references/[...slug]/page.tsx b/www/apps/resources/app/references/[...slug]/page.tsx index c642773bb7..20e816fc02 100644 --- a/www/apps/resources/app/references/[...slug]/page.tsx +++ b/www/apps/resources/app/references/[...slug]/page.tsx @@ -1,4 +1,5 @@ -import { MDXRemote } from "next-mdx-remote/rsc" +import { MDXRemote, MDXRemoteSerializeResult } from "next-mdx-remote/rsc" +import { serialize } from "next-mdx-remote/serialize" import path from "path" import { promises as fs } from "fs" import { notFound } from "next/navigation" @@ -93,6 +94,7 @@ export async function generateMetadata({ } metadata.title = pageTitleMatch.groups.title + metadata.keywords = (fileData.source.frontmatter?.keywords || []) as string[] return metadata } @@ -103,6 +105,7 @@ const loadFile = cache( ): Promise< | { content: string + source: MDXRemoteSerializeResult path: string } | undefined @@ -120,8 +123,14 @@ const loadFile = cache( return undefined } const fullPath = path.join(monoRepoPath, fileDetails.filePath) + + const fileContent = await fs.readFile(fullPath, "utf-8") + const serialized = await serialize(fileContent, { + parseFrontmatter: true, + }) return { - content: await fs.readFile(fullPath, "utf-8"), + content: fileContent, + source: serialized, path: fullPath, } } diff --git a/www/apps/resources/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider/page.mdx b/www/apps/resources/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider/page.mdx index 295f7ca31e..6cc32c219a 100644 --- a/www/apps/resources/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider/page.mdx +++ b/www/apps/resources/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider/page.mdx @@ -5,6 +5,10 @@ tags: - server - how to sidebar_label: Create Auth Provider +keywords: + - auth + - provider + - integration --- import { TypeList } from "docs-ui" @@ -521,7 +525,7 @@ module.exports = defineConfig({ ## 5. Test it Out -To test out your Authentication Module Provider, use any of the [Authentication Routes](https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route), using your provider's ID as a path parameter. +To test out your Authentication Module Provider, use any of the [Authentication Routes](https://docs.medusajs.com/resources/commerce-modules/auth/authentication-route), using your provider's ID as a path parameter. For example, to get a registration token for an admin user, send a `POST` request to `/auth/user/my-auth/register` replacing `my-auth` with your Authentication Module Provider's ID: diff --git a/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx b/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx index b657af37a2..96bccaa979 100644 --- a/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx +++ b/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx @@ -5,6 +5,10 @@ tags: - server - how to sidebar_label: Use Cache Module +keywords: + - cache + - provider + - integration --- import { TypeList } from "docs-ui" diff --git a/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx b/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx index d547c3ce14..bb27ed2ec5 100644 --- a/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx +++ b/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx @@ -5,6 +5,10 @@ tags: - server - how to sidebar_label: Use Event Module +keywords: + - event + - provider + - integration --- import { TypeList } from "docs-ui" diff --git a/www/apps/resources/references/file/classes/file.AbstractFileProviderService/page.mdx b/www/apps/resources/references/file/classes/file.AbstractFileProviderService/page.mdx index 81547d0a4b..78e5456817 100644 --- a/www/apps/resources/references/file/classes/file.AbstractFileProviderService/page.mdx +++ b/www/apps/resources/references/file/classes/file.AbstractFileProviderService/page.mdx @@ -1,5 +1,10 @@ --- slug: /references/file-provider-module +keywords: + - file + - storage + - provider + - integration --- import { TypeList } from "docs-ui" diff --git a/www/apps/resources/references/locking/interfaces/locking.ILockingProvider/page.mdx b/www/apps/resources/references/locking/interfaces/locking.ILockingProvider/page.mdx index d86bedcd3a..23be9b9319 100644 --- a/www/apps/resources/references/locking/interfaces/locking.ILockingProvider/page.mdx +++ b/www/apps/resources/references/locking/interfaces/locking.ILockingProvider/page.mdx @@ -5,6 +5,10 @@ tags: - server - how to sidebar_label: Create Locking Provider +keywords: + - locking + - provider + - integration --- import { TypeList } from "docs-ui" diff --git a/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx b/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx index 030611e1d8..827e5a947f 100644 --- a/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx +++ b/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx @@ -5,6 +5,10 @@ tags: - server - how to sidebar_label: Use Notification Module +keywords: + - notification + - provider + - integration --- import { TypeList } from "docs-ui" diff --git a/www/apps/resources/references/tax_provider/interfaces/tax_provider.ITaxProvider/page.mdx b/www/apps/resources/references/tax_provider/interfaces/tax_provider.ITaxProvider/page.mdx index fee200fbdb..e55a86f107 100644 --- a/www/apps/resources/references/tax_provider/interfaces/tax_provider.ITaxProvider/page.mdx +++ b/www/apps/resources/references/tax_provider/interfaces/tax_provider.ITaxProvider/page.mdx @@ -5,6 +5,10 @@ tags: - server - how to sidebar_label: Create Tax Provider +keywords: + - tax + - provider + - integration --- import { TypeList } from "docs-ui" diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/auth-provider.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/auth-provider.ts index 1450977fcc..eb17ab70e6 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/auth-provider.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/auth-provider.ts @@ -11,6 +11,7 @@ const authProviderOptions: FormattingOptionsType = { slug: "/references/auth/provider", tags: ["auth", "server", "how to"], sidebar_label: "Create Auth Provider", + keywords: ["auth", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Create an Auth Module Provider", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts index 6c445f6ab3..27bd55e32d 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts @@ -10,6 +10,7 @@ const cacheOptions: FormattingOptionsType = { slug: "/references/cache-service", tags: ["cache", "server", "how to"], sidebar_label: "Use Cache Module", + keywords: ["cache", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Use Cache Module", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts index 31c1938dc7..4d2134add7 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts @@ -10,6 +10,7 @@ const eventOptions: FormattingOptionsType = { slug: "/references/event-service", tags: ["event", "server", "how to"], sidebar_label: "Use Event Module", + keywords: ["event", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Use Event Module", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file.ts index b1ed48144b..9b3a6b1514 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file.ts @@ -9,6 +9,7 @@ const fileOptions: FormattingOptionsType = { reflectionDescription: `In this document, you’ll learn how to create a File Module Provider and the methods you must implement in its main service.`, frontmatterData: { slug: "/references/file-provider-module", + keywords: ["file", "storage", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Create a File Module Provider", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/fulfillment-provider.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/fulfillment-provider.ts index 954e2a585e..a48acb07e4 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/fulfillment-provider.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/fulfillment-provider.ts @@ -11,6 +11,7 @@ const fulfillmentProviderOptions: FormattingOptionsType = { slug: "/references/fulfillment/provider", tags: ["fulfillment", "server", "how to"], sidebar_label: "Create Fulfillment Provider", + keywords: ["fulfillment", "shipping", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Create a Fulfillment Module Provider", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/locking.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/locking.ts index 17b684d32f..27b612e3d4 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/locking.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/locking.ts @@ -11,6 +11,7 @@ const lockingOptions: FormattingOptionsType = { slug: "/references/locking-module-provider", tags: ["locking", "server", "how to"], sidebar_label: "Create Locking Provider", + keywords: ["locking", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Create a Locking Module Provider", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts index 95bd0ee5cb..570c90e964 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts @@ -10,6 +10,7 @@ const notificationServiceOptions: FormattingOptionsType = { slug: "/references/notification-service", tags: ["notification", "server", "how to"], sidebar_label: "Use Notification Module", + keywords: ["notification", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Use Notification Module", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/payment-provider.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/payment-provider.ts index 2a7c8c4618..ed1bee24a1 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/payment-provider.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/payment-provider.ts @@ -11,6 +11,7 @@ const paymentProviderOptions: FormattingOptionsType = { slug: "/references/payment/provider", tags: ["payment", "server", "how to"], sidebar_label: "Create Payment Provider", + keywords: ["payment", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Create a Payment Module Provider", diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/tax-provider.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/tax-provider.ts index a52dbb8d57..3531407b9c 100644 --- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/tax-provider.ts +++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/tax-provider.ts @@ -10,6 +10,7 @@ const taxProviderOptions: FormattingOptionsType = { slug: "/references/tax/provider", tags: ["tax", "server", "how to"], sidebar_label: "Create Tax Provider", + keywords: ["tax", "provider", "integration"], }, reflectionTitle: { fullReplacement: "How to Create a Tax Module Provider", diff --git a/www/utils/packages/types/lib/index.d.ts b/www/utils/packages/types/lib/index.d.ts index 4803318c45..21576f242a 100644 --- a/www/utils/packages/types/lib/index.d.ts +++ b/www/utils/packages/types/lib/index.d.ts @@ -62,6 +62,7 @@ export type FrontmatterData = { sidebar_label?: string displayed_sidebar?: string tags?: Tag[] + keywords?: string[] [k: string]: unknown }