From 0655a47f186591835566630afdae1763a611ada5 Mon Sep 17 00:00:00 2001 From: julien huang Date: Tue, 2 May 2023 21:56:24 +0200 Subject: [PATCH 1/4] feat(nuxt): add nuxtApp to Nuxt --- packages/nuxt/src/core/app.ts | 1 + packages/schema/src/types/nuxt.ts | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 38bef2b1cc3c..c951dc01304b 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -18,6 +18,7 @@ export function createApp (nuxt: Nuxt, options: Partial = {}): NuxtApp } export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: (template: ResolvedNuxtTemplate) => boolean } = {}) { + nuxt.app = app // Resolve app await resolveApp(nuxt, app) diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 9e6de7833571..0860354c804e 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -23,6 +23,8 @@ export interface Nuxt { server?: any vfs: Record + + app: NuxtApp } export interface NuxtTemplate> { From 71ecde1980212f8f6023e1fbaa413d3bc95217c7 Mon Sep 17 00:00:00 2001 From: julien huang Date: Tue, 2 May 2023 22:11:16 +0200 Subject: [PATCH 2/4] fix: add default when loading Nuxt --- packages/nuxt/src/core/nuxt.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index d1a0bfa16033..aa156ab07b53 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -37,7 +37,17 @@ export function createNuxt (options: NuxtOptions): Nuxt { hook: hooks.hook, ready: () => initNuxt(nuxt), close: () => Promise.resolve(hooks.callHook('close', nuxt)), - vfs: {} + vfs: {}, + app: { + dir: options.srcDir, + extensions: options.extensions, + plugins: [], + components: [], + layouts: {}, + middleware: [], + templates: [], + configs: [] + } } return nuxt From ed0f25c445c339f700e4ff28a2ecf82b8dd09964 Mon Sep 17 00:00:00 2001 From: julien huang Date: Wed, 3 May 2023 23:30:13 +0200 Subject: [PATCH 3/4] feat: change to nuxt.apps --- packages/nuxt/src/core/app.ts | 2 +- packages/nuxt/src/core/nuxt.ts | 11 +---------- packages/schema/src/types/nuxt.ts | 2 +- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index c951dc01304b..19e59a9a6d42 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -18,7 +18,7 @@ export function createApp (nuxt: Nuxt, options: Partial = {}): NuxtApp } export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: (template: ResolvedNuxtTemplate) => boolean } = {}) { - nuxt.app = app + nuxt.apps.default = app // Resolve app await resolveApp(nuxt, app) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index aa156ab07b53..c3ee1891469e 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -38,16 +38,7 @@ export function createNuxt (options: NuxtOptions): Nuxt { ready: () => initNuxt(nuxt), close: () => Promise.resolve(hooks.callHook('close', nuxt)), vfs: {}, - app: { - dir: options.srcDir, - extensions: options.extensions, - plugins: [], - components: [], - layouts: {}, - middleware: [], - templates: [], - configs: [] - } + apps: {} } return nuxt diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 0860354c804e..49efdadd601c 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -24,7 +24,7 @@ export interface Nuxt { vfs: Record - app: NuxtApp + apps: Record } export interface NuxtTemplate> { From af0884443c6b163745daf96686cb50f8a2433c84 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 9 May 2023 23:31:25 +0100 Subject: [PATCH 4/4] refactor(nuxt): set `nuxt.app` directly after app creation --- packages/nuxt/src/core/app.ts | 1 - packages/nuxt/src/core/builder.ts | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 19e59a9a6d42..38bef2b1cc3c 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -18,7 +18,6 @@ export function createApp (nuxt: Nuxt, options: Partial = {}): NuxtApp } export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: (template: ResolvedNuxtTemplate) => boolean } = {}) { - nuxt.apps.default = app // Resolve app await resolveApp(nuxt, app) diff --git a/packages/nuxt/src/core/builder.ts b/packages/nuxt/src/core/builder.ts index 147f6f4452c7..de0cb9e46f9b 100644 --- a/packages/nuxt/src/core/builder.ts +++ b/packages/nuxt/src/core/builder.ts @@ -11,6 +11,8 @@ import { generateApp as _generateApp, createApp } from './app' export async function build (nuxt: Nuxt) { const app = createApp(nuxt) + nuxt.apps.default = app + const generateApp = debounce(() => _generateApp(nuxt, app), undefined, { leading: true }) await generateApp()