docs: prep for v2 documentation (#6710)

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.
This commit is contained in:
Shahed Nasser
2024-03-18 09:47:35 +02:00
committed by GitHub
parent 56a6ec0227
commit bb87db8342
2008 changed files with 15716 additions and 10536 deletions

View File

@@ -1,16 +1,22 @@
import React from "react"
import { CodeBlock, InlineCode } from "@/components"
import {
CodeBlock,
CodeBlockMetaFields,
InlineCode,
MermaidDiagram,
} from "@/components"
import { Npm2YarnCode } from "../Npm2YarnCode"
export type CodeMdxProps = {
className?: string
children?: React.ReactNode
}
} & CodeBlockMetaFields
// due to how mdx handles code blocks
// it is required that a code block specify a language
// to be considered a block. Otherwise, it will be
// considered as inline code
export const CodeMdx = ({ className, children }: CodeMdxProps) => {
export const CodeMdx = ({ className, children, ...rest }: CodeMdxProps) => {
if (!children) {
return <></>
}
@@ -22,7 +28,12 @@ export const CodeMdx = ({ className, children }: CodeMdxProps) => {
: (children as string)
if (match) {
return <CodeBlock source={codeContent} lang={match[1]} />
if (rest.npm2yarn) {
return <Npm2YarnCode npmCode={codeContent} {...rest} />
} else if (match[1] === "mermaid") {
return <MermaidDiagram diagramContent={codeContent} />
}
return <CodeBlock source={codeContent} lang={match[1]} {...rest} />
}
return <InlineCode>{codeContent}</InlineCode>