diff --git a/src/module.ts b/src/module.ts index 83ad589..e3fff76 100644 --- a/src/module.ts +++ b/src/module.ts @@ -345,11 +345,12 @@ declare module 'nitropack/dist/runtime/types' { // check if the user provided route /api/_sitemap-urls exists const prerenderedRoutes = (nuxt.options.nitro.prerender?.routes || []) as string[] const prerenderSitemap = nuxt.options._generate || prerenderedRoutes.includes(`/${config.sitemapName}`) || prerenderedRoutes.includes('/sitemap_index.xml') + const isPrerenderingRoutes = prerenderedRoutes.length > 0 || !!nuxt.options.nitro.prerender?.crawlLinks const buildTimeMeta: ModuleComputedOptions = { // @ts-expect-error runtime types isNuxtContentDocumentDriven: hasNuxtModule('@nuxt/content') && (!!nuxt.options.content?.documentDriven || config.strictNuxtContentPaths), hasApiRoutesUrl: !!(await findPath(resolve(nuxt.options.serverDir, 'api/_sitemap-urls'))) || config.dynamicUrlsApiEndpoint !== '/api/_sitemap-urls', - hasPrerenderedRoutesPayload: !nuxt.options.dev && !prerenderSitemap, + hasPrerenderedRoutesPayload: !nuxt.options.dev && !prerenderSitemap && isPrerenderingRoutes, prerenderSitemap, version, } diff --git a/src/prerender.ts b/src/prerender.ts index 2d4f1de..2c4cb95 100644 --- a/src/prerender.ts +++ b/src/prerender.ts @@ -60,7 +60,7 @@ export function setupPrerenderHandler(moduleConfig: ModuleOptions, buildTimeMeta .filter(r => !r.route.includes('.')) .map(r => ({ loc: r.route })) || [] - if (!buildTimeMeta.prerenderSitemap) { + if (buildTimeMeta.hasPrerenderedRoutesPayload) { // for SSR we always need to generate the routes.json payload await mkdir(resolve(nitro.options.output.publicDir, '__sitemap__'), { recursive: true }) await writeFile(resolve(nitro.options.output.publicDir, '__sitemap__/routes.json'), JSON.stringify(prerenderUrls))