From 12609737804af85cff3ecd6e84c3569b787d5e09 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 16 Nov 2022 02:43:00 +0100 Subject: [PATCH 01/14] refactor!: remove deprecated and legscy options --- docs/content/3.api/4.advanced/2.kit.md | 4 +- packages/kit/src/build.ts | 7 --- packages/kit/src/imports.ts | 18 ++----- packages/kit/src/module/define.ts | 14 +---- packages/kit/src/module/install.ts | 8 --- .../nuxt/src/app/composables/asyncData.ts | 6 +-- packages/nuxt/src/app/composables/error.ts | 3 -- packages/nuxt/src/app/composables/router.ts | 5 -- packages/nuxt/src/core/nuxt.ts | 25 --------- packages/nuxt/src/head/runtime/components.ts | 51 ------------------- packages/nuxt/src/imports/module.ts | 8 --- packages/nuxt/src/pages/runtime/router.ts | 4 -- packages/schema/src/config/adhoc.ts | 3 -- packages/schema/src/config/common.ts | 15 ------ packages/schema/src/types/components.ts | 14 ----- packages/schema/src/types/config.ts | 6 +-- packages/schema/src/types/hooks.ts | 8 --- packages/schema/src/types/nuxt.ts | 4 -- packages/schema/src/types/router.ts | 4 -- 19 files changed, 9 insertions(+), 198 deletions(-) diff --git a/docs/content/3.api/4.advanced/2.kit.md b/docs/content/3.api/4.advanced/2.kit.md index 66fbcdeea7b..5e4d79d473b 100644 --- a/docs/content/3.api/4.advanced/2.kit.md +++ b/docs/content/3.api/4.advanced/2.kit.md @@ -40,8 +40,8 @@ description: Nuxt Kit provides composable utilities to help interacting with Nux [source code](https://github.com/nuxt/framework/blob/main/packages/kit/src/imports.ts) - `addImports(imports)` -- `addImportsDir(autoImportDirs)` -- `addImportsSources(autoImportSources)` +- `addImportsDir(importDirs)` +- `addImportsSources(importSources)` ### Components diff --git a/packages/kit/src/build.ts b/packages/kit/src/build.ts index b602b8a45d8..942210b285f 100644 --- a/packages/kit/src/build.ts +++ b/packages/kit/src/build.ts @@ -30,13 +30,6 @@ export interface ExtendConfigOptions { } export interface ExtendWebpackConfigOptions extends ExtendConfigOptions { - /** - * Install plugin on modern build - * - * @default true - * @deprecated Nuxt 2 only - */ - modern?: boolean } export interface ExtendViteConfigOptions extends ExtendConfigOptions {} diff --git a/packages/kit/src/imports.ts b/packages/kit/src/imports.ts index d8ce03ef87f..f6ccbc9ca39 100644 --- a/packages/kit/src/imports.ts +++ b/packages/kit/src/imports.ts @@ -7,37 +7,25 @@ export function addImports (imports: Import | Import[]) { assertNuxtCompatibility({ bridge: true }) // TODO: Use imports:* when widely adopted - useNuxt().hook('autoImports:extend', (_imports) => { + useNuxt().hook('imports:extend', (_imports) => { _imports.push(...(Array.isArray(imports) ? imports : [imports])) }, { allowDeprecated: true }) } -/** - * @deprecated Please use `addImports` instead with nuxt>=3.0.0-rc.9 - */ -export const addAutoImport = addImports - export function addImportsDir (dirs: string | string[]) { assertNuxtCompatibility({ bridge: true }) // TODO: Use imports:* when widely adopted - useNuxt().hook('autoImports:dirs', (_dirs: string[]) => { + useNuxt().hook('imports:dirs', (_dirs: string[]) => { for (const dir of (Array.isArray(dirs) ? dirs : [dirs])) { _dirs.push(dir) } }, { allowDeprecated: true }) } - -/** - * @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[]) => { + useNuxt().hook('imports:sources', (_presets: ImportPresetWithDeprecation[]) => { for (const preset of (Array.isArray(presets) ? presets : [presets])) { _presets.push(preset) } diff --git a/packages/kit/src/module/define.ts b/packages/kit/src/module/define.ts index 861f65d1aac..26d46f04e6b 100644 --- a/packages/kit/src/module/define.ts +++ b/packages/kit/src/module/define.ts @@ -13,20 +13,10 @@ import { templateUtils, compileTemplate } from '../internal/template' * any hooks that are provided, and calling an optional setup function for full control. */ export function defineNuxtModule (definition: ModuleDefinition): NuxtModule { - // Legacy format. TODO: Remove in RC - if (typeof definition === 'function') { - // @ts-ignore - definition = definition(useNuxt()) - logger.warn('Module definition as function is deprecated and will be removed in the future versions', definition) - } - // Normalize definition and meta if (!definition.meta) { definition.meta = {} } - if (!definition.meta.configKey) { - // @ts-ignore TODO: Remove non-meta fallbacks in RC - definition.meta.name = definition.meta.name || definition.name - // @ts-ignore - definition.meta.configKey = definition.configKey || definition.meta.name + if (definition.meta.configKey === undefined) { + definition.meta.configKey = definition.meta.name } // Resolves module options from inline options, [configKey] in nuxt.config, defaults and schema diff --git a/packages/kit/src/module/install.ts b/packages/kit/src/module/install.ts index df8d9554269..733bfe8ca66 100644 --- a/packages/kit/src/module/install.ts +++ b/packages/kit/src/module/install.ts @@ -27,14 +27,6 @@ export async function installModule (moduleToInstall: string | NuxtModule, _inli async function normalizeModule (nuxtModule: string | NuxtModule, inlineOptions?: any) { const nuxt = useNuxt() - // Detect if `installModule` used with older signuture (nuxt, nuxtModule) - // TODO: Remove in RC - // @ts-ignore - if (nuxtModule?._version || nuxtModule?.version || nuxtModule?.constructor?.version || '') { - [nuxtModule, inlineOptions] = [inlineOptions, {}] - console.warn(new Error('`installModule` is being called with old signature!')) - } - // Import if input is string if (typeof nuxtModule === 'string') { const _src = resolveModule(resolveAlias(nuxtModule), { paths: nuxt.options.modulesDir }) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 96e33d0be58..75d21f30a47 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -96,11 +96,7 @@ export function useAsyncData< options.server = options.server ?? true options.default = options.default ?? getDefault - // TODO: remove support for `defer` in Nuxt 3 RC - if ((options as any).defer) { - console.warn('[useAsyncData] `defer` has been renamed to `lazy`. Support for `defer` will be removed in RC.') - } - options.lazy = options.lazy ?? (options as any).defer ?? false + options.lazy = options.lazy ?? false options.immediate = options.immediate ?? true // Setup nuxt instance payload diff --git a/packages/nuxt/src/app/composables/error.ts b/packages/nuxt/src/app/composables/error.ts index 8da32879244..ab638dd8660 100644 --- a/packages/nuxt/src/app/composables/error.ts +++ b/packages/nuxt/src/app/composables/error.ts @@ -21,9 +21,6 @@ export const showError = (_err: string | Error | Partial) => { return err } -/** @deprecated Use `throw createError()` or `showError` */ -export const throwError = showError - export const clearError = async (options: { redirect?: string } = {}) => { const nuxtApp = useNuxtApp() const error = useError() diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index b4f3950f74c..e553bb8c792 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -30,11 +30,6 @@ export const onBeforeRouteUpdate = (guard: NavigationGuard) => { onUnmounted(unsubscribe) } -/** @deprecated Use `useRoute` instead. */ -export const useActiveRoute = (): RouteLocationNormalizedLoaded => { - return useNuxtApp()._route -} - export interface RouteMiddleware { (to: RouteLocationNormalized, from: RouteLocationNormalized): ReturnType } diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index a0145231736..5365ddb862c 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -168,22 +168,6 @@ async function initNuxt (nuxt: Nuxt) { filePath: resolve(nuxt.options.appDir, 'components/nuxt-loading-indicator') }) - // Deprecate hooks - 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.10`.' - }, - 'autoImports:dirs': { - to: 'imports:dirs', - message: '`autoImports:dirs` hook is deprecated. Use `addImportsDir()` from `@nuxt/kit` or `imports:dirs` with `nuxt>=3.0.0-rc.9`.' - }, - 'autoImports:extend': { - to: 'imports:extend', - message: '`autoImports:extend` hook is deprecated. Use `addImports()` from `@nuxt/kit` or `imports:extend` with `nuxt>=3.0.0-rc.9`.' - } - }) - // Add prerender payload support if (!nuxt.options.dev && nuxt.options.experimental.payloadExtraction) { addPlugin(resolve(nuxt.options.appDir, 'plugins/payload.client')) @@ -260,12 +244,3 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise { return nuxt } - -/** @deprecated `defineNuxtConfig` is auto imported. Remove import or alternatively use `import { defineNuxtConfig } from 'nuxt/config'`. */ -export function defineNuxtConfig (config: NuxtConfig): NuxtConfig { - return config -} - -/** @deprecated Use `import type { NuxtConfig } from 'nuxt/config'`. */ -type _NuxtConfig = NuxtConfig -export type { _NuxtConfig as NuxtConfig } diff --git a/packages/nuxt/src/head/runtime/components.ts b/packages/nuxt/src/head/runtime/components.ts index 663da5a4326..b4029ed07a4 100644 --- a/packages/nuxt/src/head/runtime/components.ts +++ b/packages/nuxt/src/head/runtime/components.ts @@ -65,57 +65,6 @@ const globalProps = { translate: String } -// - ``` - - ```vue [Components] -