diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 5332b0e9c0..088adff5a1 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -57,8 +57,8 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { continue } - sharedDirs.add(resolve(layer.config.rootDir, 'shared', 'utils')) - sharedDirs.add(resolve(layer.config.rootDir, 'shared', 'types')) + sharedDirs.add(resolve(layer.config.rootDir, layer.config.dir?.shared ?? 'shared', 'utils')) + sharedDirs.add(resolve(layer.config.rootDir, layer.config.dir?.shared ?? 'shared', 'types')) } } diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index 90411c2842..2b7cb629bc 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -79,8 +79,8 @@ export default defineNuxtModule>({ composablesDirs.push(resolve(layer.config.srcDir, 'utils')) if (isNuxtV4) { - composablesDirs.push(resolve(layer.config.rootDir, 'shared', 'utils')) - composablesDirs.push(resolve(layer.config.rootDir, 'shared', 'types')) + composablesDirs.push(resolve(layer.config.rootDir, layer.config.dir?.shared ?? 'shared', 'utils')) + composablesDirs.push(resolve(layer.config.rootDir, layer.config.dir?.shared ?? 'shared', 'types')) } for (const dir of (layer.config.imports?.dirs ?? [])) { diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index c53a1ef0fc..641740ed08 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -405,7 +405,11 @@ export default defineResolvers({ /** * The shared directory. This directory is shared between the app and the server. */ - shared: 'shared', + shared: { + $resolve: (val) => { + return val && typeof val === 'string' ? val : 'shared' + }, + }, /** * The directory containing your static files, which will be directly accessible via the Nuxt server