From e084ee7b3a5b9adcb5eccb4945b8948d509ab0d1 Mon Sep 17 00:00:00 2001 From: Michael Brevard Date: Fri, 29 Dec 2023 12:17:07 +0200 Subject: [PATCH] perf(nuxt): use single iteration when normalising routes (#24946) --- packages/nuxt/src/pages/utils.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 94dcf70e21..f24ba65aa5 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -303,11 +303,12 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set = return { imports: metaImports, routes: genArrayFromRaw(routes.map((page) => { - const route = Object.fromEntries( - Object.entries(page) - .filter(([key, value]) => key !== 'file' && (Array.isArray(value) ? value.length : value)) - .map(([key, value]) => [key, JSON.stringify(value)]) - ) as Record, string> & { component?: string } + const route: Record, string> & { component?: string } = Object.create(null) + for (const [key, value] of Object.entries(page)) { + if (key !== 'file' && (Array.isArray(value) ? value.length : value)) { + route[key as Exclude] = JSON.stringify(value) + } + } if (page.children?.length) { route.children = normalizeRoutes(page.children, metaImports).routes