From 09047d748baca5de28f687dea9d88ed89825c5c6 Mon Sep 17 00:00:00 2001 From: Kevin Marrec Date: Fri, 29 Jul 2022 12:23:13 +0200 Subject: [PATCH 1/4] feat(nuxt): extends support for app.vue --- packages/nuxt/src/core/app.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 50524ca24ae..1cfb047318e 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -57,7 +57,13 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp) { export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { // Resolve main (app.vue) if (!app.mainComponent) { - app.mainComponent = await findPath(['~/App', '~/app']) + for (const config of nuxt.options._layers.map(layer => layer.config)) { + const mainComponent = await findPath([`${config.srcDir}/App`, `${config.srcDir}/app`]) + if (mainComponent) { + app.mainComponent = mainComponent + break + } + } } if (!app.mainComponent) { app.mainComponent = tryResolveModule('@nuxt/ui-templates/templates/welcome.vue') From d06c8e82f4482b098d602c09164a4c8a3b2169e0 Mon Sep 17 00:00:00 2001 From: Kevin Marrec Date: Fri, 29 Jul 2022 12:33:31 +0200 Subject: [PATCH 2/4] refactor: use flatmap to call findPath only once --- packages/nuxt/src/core/app.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 1cfb047318e..3fc34cbb193 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -57,13 +57,9 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp) { export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { // Resolve main (app.vue) if (!app.mainComponent) { - for (const config of nuxt.options._layers.map(layer => layer.config)) { - const mainComponent = await findPath([`${config.srcDir}/App`, `${config.srcDir}/app`]) - if (mainComponent) { - app.mainComponent = mainComponent - break - } - } + app.mainComponent = await findPath( + nuxt.options._layers.flatMap(({ config: { srcDir } }) => [`${srcDir}/App`, `${srcDir}/app`]) + ) } if (!app.mainComponent) { app.mainComponent = tryResolveModule('@nuxt/ui-templates/templates/welcome.vue') From 652211e7ea5ce8812c097bd05a51a94a30bf851e Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Fri, 29 Jul 2022 12:35:10 +0200 Subject: [PATCH 3/4] Update packages/nuxt/src/core/app.ts --- packages/nuxt/src/core/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 3fc34cbb193..e39273db92e 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -58,7 +58,7 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { // Resolve main (app.vue) if (!app.mainComponent) { app.mainComponent = await findPath( - nuxt.options._layers.flatMap(({ config: { srcDir } }) => [`${srcDir}/App`, `${srcDir}/app`]) + nuxt.options._layers.flatMap((layer) => [`${layer.config.srcDir}/App`, `${layer.config.srcDir}/app`]) ) } if (!app.mainComponent) { From 16ce3d20644eff940b8dc95ff3c148d3a43d0749 Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Fri, 29 Jul 2022 12:46:56 +0200 Subject: [PATCH 4/4] Update packages/nuxt/src/core/app.ts --- packages/nuxt/src/core/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index e39273db92e..fbb820e060f 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -58,7 +58,7 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { // Resolve main (app.vue) if (!app.mainComponent) { app.mainComponent = await findPath( - nuxt.options._layers.flatMap((layer) => [`${layer.config.srcDir}/App`, `${layer.config.srcDir}/app`]) + nuxt.options._layers.flatMap(layer => [`${layer.config.srcDir}/App`, `${layer.config.srcDir}/app`]) ) } if (!app.mainComponent) {