From 0aac0f8bacad27f29bb61a6d2eb13cfa7f61291f Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Wed, 17 Jul 2024 15:31:23 +0300 Subject: [PATCH] docs: fix cross-project links to use base path in production (#8160) --- www/apps/book/next.config.mjs | 23 ++++++------------- www/apps/resources/mdx-options.mjs | 23 ++++++------------- www/apps/user-guide/next.config.mjs | 23 ++++++------------- .../src/cross-project-links.ts | 3 ++- .../remark-rehype-plugins/src/types/index.ts | 1 + .../remark-rehype-plugins/tsconfig.json | 1 + 6 files changed, 25 insertions(+), 49 deletions(-) diff --git a/www/apps/book/next.config.mjs b/www/apps/book/next.config.mjs index d30795cc53..641cbd7b56 100644 --- a/www/apps/book/next.config.mjs +++ b/www/apps/book/next.config.mjs @@ -20,34 +20,25 @@ const withMDX = mdx({ baseUrl: process.env.NEXT_PUBLIC_BASE_URL, projectUrls: { resources: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_RESOURCES_URL - : undefined, + url: process.env.NEXT_PUBLIC_RESOURCES_URL, path: "v2/resources", }, "user-guide": { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_USER_GUIDE_URL - : undefined, + url: process.env.NEXT_PUBLIC_RESOURCES_URL, path: "v2/user-guide", }, ui: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_UI_URL - : undefined, + url: process.env.NEXT_PUBLIC_RESOURCES_URL, path: "ui", }, api: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_API_URL - : undefined, + url: process.env.NEXT_PUBLIC_RESOURCES_URL, path: "v2/api", }, }, + useBaseUrl: + process.env.NODE_ENV === "production" || + process.env.VERCEL_ENV === "production", }, ], [brokenLinkCheckerPlugin], diff --git a/www/apps/resources/mdx-options.mjs b/www/apps/resources/mdx-options.mjs index a972bc92c2..c4d5e34e3b 100644 --- a/www/apps/resources/mdx-options.mjs +++ b/www/apps/resources/mdx-options.mjs @@ -18,34 +18,25 @@ const mdxPluginOptions = { baseUrl: process.env.NEXT_PUBLIC_BASE_URL, projectUrls: { docs: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_DOCS_URL - : undefined, + url: process.env.NEXT_PUBLIC_DOCS_URL, path: "v2", }, "user-guide": { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_USER_GUIDE_URL - : undefined, + url: process.env.NEXT_PUBLIC_USER_GUIDE_URL, path: "v2/user-guide", }, ui: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_UI_URL - : undefined, + url: process.env.NEXT_PUBLIC_UI_URL, path: "ui", }, api: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_API_URL - : undefined, + url: process.env.NEXT_PUBLIC_API_URL, path: "v2/api", }, }, + useBaseUrl: + process.env.NODE_ENV === "production" || + process.env.VERCEL_ENV === "production", }, ], [ diff --git a/www/apps/user-guide/next.config.mjs b/www/apps/user-guide/next.config.mjs index bad202e3ae..348cec61d0 100644 --- a/www/apps/user-guide/next.config.mjs +++ b/www/apps/user-guide/next.config.mjs @@ -22,33 +22,24 @@ const withMDX = mdx({ baseUrl: process.env.NEXT_PUBLIC_BASE_URL, projectUrls: { docs: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_DOCS_URL - : undefined, + url: process.env.NEXT_PUBLIC_DOCS_URL, }, resources: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_RESOURCES_URL - : undefined, + url: process.env.NEXT_PUBLIC_RESOURCES_URL, path: "resources", }, ui: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_UI_URL - : undefined, + url: process.env.NEXT_PUBLIC_UI_URL, path: "ui", }, api: { - url: - process.env.VERCEL_ENV !== "production" - ? process.env.NEXT_PUBLIC_API_URL - : undefined, + url: process.env.NEXT_PUBLIC_API_URL, path: "v2/api", }, }, + useBaseUrl: + process.env.NODE_ENV === "production" || + process.env.VERCEL_ENV === "production", }, ], [brokenLinkCheckerPlugin], diff --git a/www/packages/remark-rehype-plugins/src/cross-project-links.ts b/www/packages/remark-rehype-plugins/src/cross-project-links.ts index b6bd66122e..8811c0b774 100644 --- a/www/packages/remark-rehype-plugins/src/cross-project-links.ts +++ b/www/packages/remark-rehype-plugins/src/cross-project-links.ts @@ -18,7 +18,7 @@ const PROJECT_REGEX = /^!(?[\w-]+)!/ function matchAndFixLinks( link: string, - { baseUrl, projectUrls }: CrossProjectLinksOptions + { baseUrl, projectUrls, useBaseUrl = false }: CrossProjectLinksOptions ): string { const projectArea = PROJECT_REGEX.exec(link) @@ -29,6 +29,7 @@ function matchAndFixLinks( const actualUrl = link.replace(PROJECT_REGEX, "") const base = + !useBaseUrl && projectUrls && Object.hasOwn(projectUrls, projectArea.groups.area) && projectUrls[projectArea.groups.area]?.url diff --git a/www/packages/remark-rehype-plugins/src/types/index.ts b/www/packages/remark-rehype-plugins/src/types/index.ts index 6df171b4df..ffc90f9fa5 100644 --- a/www/packages/remark-rehype-plugins/src/types/index.ts +++ b/www/packages/remark-rehype-plugins/src/types/index.ts @@ -115,6 +115,7 @@ export declare type CrossProjectLinksOptions = { path?: string } } + useBaseUrl?: boolean } export declare type TypeListLinkFixerOptions = { diff --git a/www/packages/remark-rehype-plugins/tsconfig.json b/www/packages/remark-rehype-plugins/tsconfig.json index a4cb9a6d0d..ce3e8d1889 100644 --- a/www/packages/remark-rehype-plugins/tsconfig.json +++ b/www/packages/remark-rehype-plugins/tsconfig.json @@ -8,6 +8,7 @@ "lib": ["es2022"], "module": "NodeNext", "moduleResolution": "NodeNext", + "target": "ESNext", "declaration": true, "declarationMap": true, "esModuleInterop": true,