From 7b4dee6f7a3168ff700afe4e037dd361e4f9ab48 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 6 Sep 2022 09:53:45 +0100 Subject: [PATCH 1/4] feat(kit): add utility to add auto-import sources --- packages/kit/src/imports.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/kit/src/imports.ts b/packages/kit/src/imports.ts index 10dfdb8962f..a0fb92463e0 100644 --- a/packages/kit/src/imports.ts +++ b/packages/kit/src/imports.ts @@ -1,4 +1,5 @@ import { Import } from 'unimport' +import { ImportPresetWithDeprecation } from '@nuxt/schema' import { useNuxt } from './context' import { assertNuxtCompatibility } from './compatibility' @@ -31,3 +32,14 @@ export function addImportsDir (dirs: string | string[]) { * @deprecated Please use `addImportsDir` instead with nuxt>=3.0.0-rc.9 */ export const addAutoImportDir = addImportsDir + +export function addImportsSources (presets: ImportPresetWithDeprecation | ImportPresetWithDeprecation[]) { + assertNuxtCompatibility({ bridge: true }) + + // TODO: Use imports:* when widely adopted + useNuxt().hook('autoImports:sources', (_presets: ImportPresetWithDeprecation[]) => { + for (const preset of (Array.isArray(presets) ? presets : [presets])) { + _presets.push(preset) + } + }, { allowDeprecated: true }) +} From e62f4b2e64336199889b55bc5179279604315fb7 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 6 Sep 2022 09:55:32 +0100 Subject: [PATCH 2/4] fix: use type imports --- packages/kit/src/imports.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/imports.ts b/packages/kit/src/imports.ts index a0fb92463e0..d8ce03ef87f 100644 --- a/packages/kit/src/imports.ts +++ b/packages/kit/src/imports.ts @@ -1,5 +1,5 @@ -import { Import } from 'unimport' -import { ImportPresetWithDeprecation } from '@nuxt/schema' +import type { Import } from 'unimport' +import type { ImportPresetWithDeprecation } from '@nuxt/schema' import { useNuxt } from './context' import { assertNuxtCompatibility } from './compatibility' From 1fdbc26d3c285cf9735c7689cd8c4eb63d38d2c9 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 6 Sep 2022 10:57:58 +0100 Subject: [PATCH 3/4] docs: update deprecation message --- packages/nuxt/src/core/nuxt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index faefa9c92a8..70e954b0a1f 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -152,7 +152,7 @@ async function initNuxt (nuxt: Nuxt) { nuxt.hooks.deprecateHooks({ 'autoImports:sources': { to: 'imports:sources', - message: '`autoImports:sources` hook is deprecated. Use `imports:sources` with `nuxt>=3.0.0-rc.9`.' + message: '`autoImports:sources` hook is deprecated. Use `addImportsSources()` from `@nuxt/kit` or `imports:dirs` with `nuxt>=3.0.0-rc.9`.' }, 'autoImports:dirs': { to: 'imports:dirs', From 357acb942092ad4816d3c7bd8b7106c52b68193e Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Tue, 6 Sep 2022 12:17:03 +0200 Subject: [PATCH 4/4] Update packages/nuxt/src/core/nuxt.ts --- packages/nuxt/src/core/nuxt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 70e954b0a1f..16b60315274 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -152,7 +152,7 @@ async function initNuxt (nuxt: Nuxt) { nuxt.hooks.deprecateHooks({ 'autoImports:sources': { to: 'imports:sources', - message: '`autoImports:sources` hook is deprecated. Use `addImportsSources()` from `@nuxt/kit` or `imports:dirs` with `nuxt>=3.0.0-rc.9`.' + message: '`autoImports:sources` hook is deprecated. Use `addImportsSources()` from `@nuxt/kit` or `imports:dirs` with `nuxt>=3.0.0-rc.10`.' }, 'autoImports:dirs': { to: 'imports:dirs',