From e888dba733a16a2be5631fba9410bd6ff62b3c2d Mon Sep 17 00:00:00 2001 From: Caleb Ukle Date: Thu, 11 Sep 2025 16:52:15 -0500 Subject: [PATCH] docs(nx-dev): add astro sitemap to nx.dev --- nx-dev/nx-dev/next-sitemap.config.js | 9 +++++++- .../documentation/internal-link-checker.ts | 21 +++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/nx-dev/nx-dev/next-sitemap.config.js b/nx-dev/nx-dev/next-sitemap.config.js index 2815b1a32e313c..a9df2d2318026a 100644 --- a/nx-dev/nx-dev/next-sitemap.config.js +++ b/nx-dev/nx-dev/next-sitemap.config.js @@ -1,9 +1,16 @@ const path = require('path'); +const siteUrl = process.env.SITE_URL || 'https://nx.dev'; +/** + * @type {import('next-sitemap').IConfig} + **/ module.exports = { - siteUrl: process.env.SITE_URL || 'https://nx.dev', + siteUrl, generateRobotsTxt: true, exclude: [], sourceDir: path.resolve(__dirname, '../../dist/nx-dev/nx-dev/.next'), outDir: path.resolve(__dirname, '../../dist/nx-dev/nx-dev/public'), + robotsTxtOptions: { + additionalSitemaps: [`${siteUrl}/docs/sitemap-index.xml`], + }, }; diff --git a/scripts/documentation/internal-link-checker.ts b/scripts/documentation/internal-link-checker.ts index eff6c05ed43ca8..6454b922c69f14 100644 --- a/scripts/documentation/internal-link-checker.ts +++ b/scripts/documentation/internal-link-checker.ts @@ -82,16 +82,25 @@ function readSiteMapIndex(directoryPath: string, filename: string): string[] { const parser = new XMLParser(); const sitemapIndex: { sitemapindex: { - sitemap: { + sitemap: Array<{ loc: string; - }; + }>; }; } = parser.parse(readFileContents(join(directoryPath, filename))); + + const internalSitemap = sitemapIndex.sitemapindex.sitemap.find( + // astro sitemap adds a new item into the sitemap entries with /docs/sitemap-index.xml. + // we already validate the sitemap links insite astro. no need to do it in nextjs + (s) => !s.loc.endsWith('/docs/sitemap-index.xml') + ); + if (!internalSitemap) { + console.warn(join(directoryPath, filename), sitemapIndex); + throw new Error('Unable to find sitemap location for nx.dev'); + } + + console.log('Using sitemap with url: ', internalSitemap.loc); return [ - join( - directoryPath, - sitemapIndex.sitemapindex.sitemap.loc.replace('https://nx.dev', '') - ), + join(directoryPath, internalSitemap.loc.replace('https://nx.dev', '')), ]; }