From 8399f9add933a60ff8695afbf1503c91119f022a Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sat, 28 Oct 2023 15:15:20 +0900 Subject: [PATCH 1/3] fix(kit): fix `addServerImportsDir` implementation --- docs/3.api/5.kit/11.nitro.md | 37 ++++++++++++++++++++++++++++++++++++ packages/kit/src/nitro.ts | 10 ++++------ 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/docs/3.api/5.kit/11.nitro.md b/docs/3.api/5.kit/11.nitro.md index 535ad0347318..b50d3a0a8dc9 100644 --- a/docs/3.api/5.kit/11.nitro.md +++ b/docs/3.api/5.kit/11.nitro.md @@ -358,3 +358,40 @@ export default defineNuxtModule({ } }) ``` + +## `addServerImportsDir` + +Add a directory to be scanned for auto-imports by Nitro. + +### Type + +```ts +function function addServerImportsDir (dirs: string | string[], opts: { prepend?: boolean }): void +``` + +### Parameters + +#### `dirs` + +**Type**: `string | string[]` + +**Required**: `true` + +A route or an array of directories to register to be scanned by Nitro + +### Examples + +```ts +import { defineNuxtModule, addServerImportsDir } from '@nuxt/kit' + +export default defineNuxtModule({ + meta: { + name: 'my-module', + configKey: 'myModule', + }, + setup(options) { + const resolver = createResolver(import.meta.url) + addServerImportsDir(resolver.resolve('./runtime/server/utils')) + } +}) +``` diff --git a/packages/kit/src/nitro.ts b/packages/kit/src/nitro.ts index be642efc4bb3..e01d4e6a7ca7 100644 --- a/packages/kit/src/nitro.ts +++ b/packages/kit/src/nitro.ts @@ -99,15 +99,13 @@ export function addServerImports (imports: Import[]) { } /** - * Add directories to be scanned by Nitro + * Add directories to be scanned for auto-imports by Nitro */ export function addServerImportsDir (dirs: string | string[], opts: { prepend?: boolean } = {}) { const nuxt = useNuxt() nuxt.hook('nitro:config', (config) => { - config.scanDirs = config.scanDirs || [] - - for (const dir of (Array.isArray(dirs) ? dirs : [dirs])) { - config.scanDirs[opts.prepend ? 'unshift' : 'push'](dir) - } + config.imports = config.imports || {} + config.imports.dirs = config.imports.dirs || [] + config.imports.dirs[opts.prepend ? 'unshift' : 'push'](...dirs) }) } From 6f1880266e0d516a36841be3c701a337c68332d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 28 Oct 2023 08:18:07 +0200 Subject: [PATCH 2/3] Update docs/3.api/5.kit/11.nitro.md --- docs/3.api/5.kit/11.nitro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.api/5.kit/11.nitro.md b/docs/3.api/5.kit/11.nitro.md index b50d3a0a8dc9..22f793595f4f 100644 --- a/docs/3.api/5.kit/11.nitro.md +++ b/docs/3.api/5.kit/11.nitro.md @@ -377,7 +377,7 @@ function function addServerImportsDir (dirs: string | string[], opts: { prepend? **Required**: `true` -A route or an array of directories to register to be scanned by Nitro +A directory or an array of directories to register to be scanned by Nitro ### Examples From 5abc6362edc4a7f094d0c7d1ef286cf563228bec Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sat, 28 Oct 2023 15:54:27 +0900 Subject: [PATCH 3/3] fix: normalise to an array --- packages/kit/src/nitro.ts | 3 ++- test/fixtures/basic/modules/auto-registered/index.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/nitro.ts b/packages/kit/src/nitro.ts index e01d4e6a7ca7..124b3bded244 100644 --- a/packages/kit/src/nitro.ts +++ b/packages/kit/src/nitro.ts @@ -103,9 +103,10 @@ export function addServerImports (imports: Import[]) { */ export function addServerImportsDir (dirs: string | string[], opts: { prepend?: boolean } = {}) { const nuxt = useNuxt() + const _dirs = Array.isArray(dirs) ? dirs : [dirs] nuxt.hook('nitro:config', (config) => { config.imports = config.imports || {} config.imports.dirs = config.imports.dirs || [] - config.imports.dirs[opts.prepend ? 'unshift' : 'push'](...dirs) + config.imports.dirs[opts.prepend ? 'unshift' : 'push'](..._dirs) }) } diff --git a/test/fixtures/basic/modules/auto-registered/index.ts b/test/fixtures/basic/modules/auto-registered/index.ts index a254abaad175..f0e5a5b00a4a 100644 --- a/test/fixtures/basic/modules/auto-registered/index.ts +++ b/test/fixtures/basic/modules/auto-registered/index.ts @@ -21,6 +21,6 @@ export default defineNuxtModule({ name: 'someUtils' }]) - addServerImportsDir(resolver.resolve('./runtime/server')) + addServerImportsDir(resolver.resolve('./runtime/server/utils')) } })