From 3fbea819bffbce6f8817b57758f34f13fafc59f2 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 11 Jul 2022 17:24:04 +0200 Subject: [PATCH 1/2] fix(nuxt): extend nitro routes instead of overriding --- packages/nuxt/src/pages/module.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 65518a6a380..e8d1f83ae98 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -54,29 +54,27 @@ export default defineNuxtModule({ // Prerender all non-dynamic page routes when generating app if (!nuxt.options.dev && nuxt.options._generate) { - const routes = new Set() + const prerenderRoutes = new Set() nuxt.hook('modules:done', () => { nuxt.hook('pages:extend', (pages) => { - routes.clear() - for (const path of nuxt.options.nitro.prerender?.routes || []) { - routes.add(path) - } + prerenderRoutes.clear() const processPages = (pages: NuxtPage[], currentPath = '/') => { for (const page of pages) { // Skip dynamic paths if (page.path.includes(':')) { continue } - const path = joinURL(currentPath, page.path) - routes.add(path) + prerenderRoutes.add(path) if (page.children) { processPages(page.children, path) } } } processPages(pages) }) }) - nuxt.hook('nitro:build:before', (nitro) => { - nitro.options.prerender.routes = [...routes] + for (const route of nitro.options.prerender.routes || []) { + prerenderRoutes.add(route) + } + nitro.options.prerender.routes = Array.from(prerenderRoutes) }) } From 724d132f2dde0858ead7da268f276635827b366d Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 11 Jul 2022 17:27:05 +0200 Subject: [PATCH 2/2] consistant naming --- packages/nuxt/src/pages/module.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index e8d1f83ae98..4dd56899c9d 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -62,9 +62,9 @@ export default defineNuxtModule({ for (const page of pages) { // Skip dynamic paths if (page.path.includes(':')) { continue } - const path = joinURL(currentPath, page.path) - prerenderRoutes.add(path) - if (page.children) { processPages(page.children, path) } + const route = joinURL(currentPath, page.path) + prerenderRoutes.add(route) + if (page.children) { processPages(page.children, route) } } } processPages(pages)