From daa6ad2fb415f8a850296e0ef07817729a79ae4d Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Wed, 1 May 2024 11:17:35 +0200 Subject: [PATCH] fix: exclude invalid dynamic params when generating alternates --- .vscode/settings.json | 3 +++ package/src/sitemap/generate-sitemap.ts | 25 +++++++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 949ab0d..d191fe2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,8 @@ "editor.defaultFormatter": "biomejs.biome", "[mdx]": { "editor.defaultFormatter": "unifiedjs.vscode-mdx" + }, + "[typescript]": { + "editor.defaultFormatter": "biomejs.biome" } } diff --git a/package/src/sitemap/generate-sitemap.ts b/package/src/sitemap/generate-sitemap.ts index c4fae1c..e429a83 100644 --- a/package/src/sitemap/generate-sitemap.ts +++ b/package/src/sitemap/generate-sitemap.ts @@ -61,24 +61,21 @@ export function generateSitemap( } const index = route.pages.indexOf(page); - const sitemapOptions = route.sitemapOptions[index]; - if (!sitemapOptions) { + const sitemapOptions = route.sitemapOptions.filter( + (e) => + e.dynamicParams && + (Array.isArray(e.dynamicParams) + ? e.dynamicParams + : Object.entries(e.dynamicParams) + ).length > 0, + )[index]; + if (!sitemapOptions || !sitemapOptions.dynamicParams) { return []; } for (const equivalentRoute of equivalentRoutes) { - const options = normalizeDynamicParams( - sitemapOptions?.dynamicParams, - ).find((e) => e.locale === equivalentRoute.route.locale); - - // TODO: remove - console.dir( - { - page, - options, - sitemapOptions: normalizeDynamicParams(sitemapOptions?.dynamicParams), - }, - { depth: null }, + const options = normalizeDynamicParams(sitemapOptions.dynamicParams).find( + (e) => e.locale === equivalentRoute.route.locale, ); if (!options) {