From 56e1b1c63696cb900aedc8d12a38dfef598bba04 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 7 Nov 2022 16:46:45 +0000 Subject: [PATCH 1/2] fix(nuxt): add catchall/optional paths to prerender list --- packages/nuxt/src/pages/module.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index e596b60cb93..24bbc8505d0 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -90,6 +90,8 @@ export default defineNuxtModule({ prerenderRoutes.clear() const processPages = (pages: NuxtPage[], currentPath = '/') => { for (const page of pages) { + // Add root of optional dynamic paths and catchalls + if (page.path.match(/^\/?:.*(\?|\(\.\*\)\*)$/)) { prerenderRoutes.add(currentPath) } // Skip dynamic paths if (page.path.includes(':')) { continue } const route = joinURL(currentPath, page.path) From d83621be9c631160b2d5ebfd6d8c768506ad8c5c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 7 Nov 2022 18:59:42 +0100 Subject: [PATCH 2/2] fix: exclude pages with children --- packages/nuxt/src/pages/module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 24bbc8505d0..232620dd4ea 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -91,7 +91,7 @@ export default defineNuxtModule({ const processPages = (pages: NuxtPage[], currentPath = '/') => { for (const page of pages) { // Add root of optional dynamic paths and catchalls - if (page.path.match(/^\/?:.*(\?|\(\.\*\)\*)$/)) { prerenderRoutes.add(currentPath) } + if (page.path.match(/^\/?:.*(\?|\(\.\*\)\*)$/) && !page.children?.length) { prerenderRoutes.add(currentPath) } // Skip dynamic paths if (page.path.includes(':')) { continue } const route = joinURL(currentPath, page.path)