This PR includes documentation that preps for v2 docs (but doesn't introduce new docs). _Note: The number of file changes in the PR is due to find-and-replace within the `references` which is unavoidable. Let me know if I should move it to another PR._ ## Changes - Change Medusa version in base OAS used for v2. - Fix to docblock generator related to not catching all path parameters. - Added typedoc plugin that generates ER Diagrams, which will be used specifically for data model references in commerce modules. - Changed OAS tool to output references in `www/apps/api-reference/specs-v2` directory when the `--v2` option is used. - Added a version switcher to the API reference to switch between V1 and V2. This switcher is enabled by an environment variable, so it won't be visible/usable at the moment. - Upgraded docusaurus to v3.0.1 - Added new Vale rules to ensure correct spelling of Medusa Admin and module names. - Added new components to the `docs-ui` package that will be used in future documentation changes.
86 lines
2.3 KiB
TypeScript
86 lines
2.3 KiB
TypeScript
"use client"
|
|
|
|
import {
|
|
usePageLoading,
|
|
SearchProvider as UiSearchProvider,
|
|
AiAssistantCommandIcon,
|
|
AiAssistantProvider,
|
|
searchFilters,
|
|
} from "docs-ui"
|
|
import { config } from "../config"
|
|
|
|
type SearchProviderProps = {
|
|
children: React.ReactNode
|
|
}
|
|
|
|
const SearchProvider = ({ children }: SearchProviderProps) => {
|
|
const { isLoading } = usePageLoading()
|
|
return (
|
|
<UiSearchProvider
|
|
algolia={{
|
|
appId: process.env.NEXT_PUBLIC_ALGOLIA_APP_ID || "temp",
|
|
apiKey: process.env.NEXT_PUBLIC_ALGOLIA_API_KEY || "temp",
|
|
mainIndexName: process.env.NEXT_PUBLIC_API_ALGOLIA_INDEX_NAME || "temp",
|
|
indices: [
|
|
process.env.NEXT_PUBLIC_API_ALGOLIA_INDEX_NAME || "temp",
|
|
process.env.NEXT_PUBLIC_DOCS_ALGOLIA_INDEX_NAME || "temp",
|
|
],
|
|
}}
|
|
searchProps={{
|
|
isLoading,
|
|
suggestions: [
|
|
{
|
|
title: "Getting started? Try one of the following terms.",
|
|
items: [
|
|
"Install Medusa with create-medusa-app",
|
|
"Next.js quickstart",
|
|
"Admin dashboard quickstart",
|
|
"Commerce modules",
|
|
"Medusa architecture",
|
|
],
|
|
},
|
|
{
|
|
title: "Developing with Medusa",
|
|
items: [
|
|
"Recipes",
|
|
"How to create API routes",
|
|
"How to create an entity",
|
|
"How to create a plugin",
|
|
"How to create an admin widget",
|
|
],
|
|
},
|
|
],
|
|
checkInternalPattern: new RegExp(
|
|
`^${config.baseUrl}/api/(admin|store)`
|
|
),
|
|
filterOptions: searchFilters,
|
|
}}
|
|
commands={[
|
|
{
|
|
name: "ai-assistant",
|
|
icon: <AiAssistantCommandIcon />,
|
|
component: (
|
|
<AiAssistantProvider
|
|
apiUrl={process.env.NEXT_PUBLIC_AI_ASSISTANT_URL || "temp"}
|
|
websiteId={process.env.NEXT_PUBLIC_AI_WEBSITE_ID || "temp"}
|
|
recaptchaSiteKey={
|
|
process.env.NEXT_PUBLIC_AI_API_ASSISTANT_RECAPTCHA_SITE_KEY ||
|
|
"temp"
|
|
}
|
|
/>
|
|
),
|
|
title: "AI Assistant",
|
|
badge: {
|
|
variant: "purple",
|
|
children: "Beta",
|
|
},
|
|
},
|
|
]}
|
|
>
|
|
{children}
|
|
</UiSearchProvider>
|
|
)
|
|
}
|
|
|
|
export default SearchProvider
|