docs: fix cross-project links to use base path in production (#8160)

This commit is contained in:
Shahed Nasser
2024-07-17 15:31:23 +03:00
committed by GitHub
parent b1964a0384
commit 0aac0f8bac
6 changed files with 25 additions and 49 deletions
+7 -16
View File
@@ -20,34 +20,25 @@ const withMDX = mdx({
baseUrl: process.env.NEXT_PUBLIC_BASE_URL, baseUrl: process.env.NEXT_PUBLIC_BASE_URL,
projectUrls: { projectUrls: {
resources: { resources: {
url: url: process.env.NEXT_PUBLIC_RESOURCES_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_RESOURCES_URL
: undefined,
path: "v2/resources", path: "v2/resources",
}, },
"user-guide": { "user-guide": {
url: url: process.env.NEXT_PUBLIC_RESOURCES_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_USER_GUIDE_URL
: undefined,
path: "v2/user-guide", path: "v2/user-guide",
}, },
ui: { ui: {
url: url: process.env.NEXT_PUBLIC_RESOURCES_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_UI_URL
: undefined,
path: "ui", path: "ui",
}, },
api: { api: {
url: url: process.env.NEXT_PUBLIC_RESOURCES_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_API_URL
: undefined,
path: "v2/api", path: "v2/api",
}, },
}, },
useBaseUrl:
process.env.NODE_ENV === "production" ||
process.env.VERCEL_ENV === "production",
}, },
], ],
[brokenLinkCheckerPlugin], [brokenLinkCheckerPlugin],
+7 -16
View File
@@ -18,34 +18,25 @@ const mdxPluginOptions = {
baseUrl: process.env.NEXT_PUBLIC_BASE_URL, baseUrl: process.env.NEXT_PUBLIC_BASE_URL,
projectUrls: { projectUrls: {
docs: { docs: {
url: url: process.env.NEXT_PUBLIC_DOCS_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_DOCS_URL
: undefined,
path: "v2", path: "v2",
}, },
"user-guide": { "user-guide": {
url: url: process.env.NEXT_PUBLIC_USER_GUIDE_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_USER_GUIDE_URL
: undefined,
path: "v2/user-guide", path: "v2/user-guide",
}, },
ui: { ui: {
url: url: process.env.NEXT_PUBLIC_UI_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_UI_URL
: undefined,
path: "ui", path: "ui",
}, },
api: { api: {
url: url: process.env.NEXT_PUBLIC_API_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_API_URL
: undefined,
path: "v2/api", path: "v2/api",
}, },
}, },
useBaseUrl:
process.env.NODE_ENV === "production" ||
process.env.VERCEL_ENV === "production",
}, },
], ],
[ [
+7 -16
View File
@@ -22,33 +22,24 @@ const withMDX = mdx({
baseUrl: process.env.NEXT_PUBLIC_BASE_URL, baseUrl: process.env.NEXT_PUBLIC_BASE_URL,
projectUrls: { projectUrls: {
docs: { docs: {
url: url: process.env.NEXT_PUBLIC_DOCS_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_DOCS_URL
: undefined,
}, },
resources: { resources: {
url: url: process.env.NEXT_PUBLIC_RESOURCES_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_RESOURCES_URL
: undefined,
path: "resources", path: "resources",
}, },
ui: { ui: {
url: url: process.env.NEXT_PUBLIC_UI_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_UI_URL
: undefined,
path: "ui", path: "ui",
}, },
api: { api: {
url: url: process.env.NEXT_PUBLIC_API_URL,
process.env.VERCEL_ENV !== "production"
? process.env.NEXT_PUBLIC_API_URL
: undefined,
path: "v2/api", path: "v2/api",
}, },
}, },
useBaseUrl:
process.env.NODE_ENV === "production" ||
process.env.VERCEL_ENV === "production",
}, },
], ],
[brokenLinkCheckerPlugin], [brokenLinkCheckerPlugin],
@@ -18,7 +18,7 @@ const PROJECT_REGEX = /^!(?<area>[\w-]+)!/
function matchAndFixLinks( function matchAndFixLinks(
link: string, link: string,
{ baseUrl, projectUrls }: CrossProjectLinksOptions { baseUrl, projectUrls, useBaseUrl = false }: CrossProjectLinksOptions
): string { ): string {
const projectArea = PROJECT_REGEX.exec(link) const projectArea = PROJECT_REGEX.exec(link)
@@ -29,6 +29,7 @@ function matchAndFixLinks(
const actualUrl = link.replace(PROJECT_REGEX, "") const actualUrl = link.replace(PROJECT_REGEX, "")
const base = const base =
!useBaseUrl &&
projectUrls && projectUrls &&
Object.hasOwn(projectUrls, projectArea.groups.area) && Object.hasOwn(projectUrls, projectArea.groups.area) &&
projectUrls[projectArea.groups.area]?.url projectUrls[projectArea.groups.area]?.url
@@ -115,6 +115,7 @@ export declare type CrossProjectLinksOptions = {
path?: string path?: string
} }
} }
useBaseUrl?: boolean
} }
export declare type TypeListLinkFixerOptions = { export declare type TypeListLinkFixerOptions = {
@@ -8,6 +8,7 @@
"lib": ["es2022"], "lib": ["es2022"],
"module": "NodeNext", "module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"target": "ESNext",
"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
"esModuleInterop": true, "esModuleInterop": true,