From 501ccc37503c9958405693bd4401c1abeb130de9 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 9 Dec 2024 20:05:38 +0000 Subject: [PATCH] refactor(nuxt): use direct import of `installNuxtModule` --- packages/nuxt/src/components/plugins/loader.ts | 3 ++- packages/nuxt/src/core/nuxt.ts | 3 ++- packages/nuxt/src/imports/transform.ts | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/components/plugins/loader.ts b/packages/nuxt/src/components/plugins/loader.ts index 247553ae47..80b2b949e1 100644 --- a/packages/nuxt/src/components/plugins/loader.ts +++ b/packages/nuxt/src/components/plugins/loader.ts @@ -7,6 +7,7 @@ import type { Component, ComponentsOptions } from 'nuxt/schema' import { logger, tryUseNuxt } from '@nuxt/kit' import { QUOTE_RE, SX_RE, isVue } from '../../core/utils' +import { installNuxtModule } from '../../core/features' interface LoaderOptions { getComponents (): Component[] @@ -54,7 +55,7 @@ export const LoaderPlugin = (options: LoaderOptions) => createUnplugin(() => { const relativePath = relative(nuxt.options.rootDir, id) throw new Error(`[nuxt] \`~/${relativePath}\` is using \`${component.pascalName}\` which requires \`${internalInstall}\``) } - import('../../core/features').then(({ installNuxtModule }) => installNuxtModule(internalInstall)) + installNuxtModule(internalInstall) } let identifier = map.get(component) || `__nuxt_component_${num++}` map.set(component, identifier) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 9b92f8ac11..e0670258f7 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -21,6 +21,7 @@ import defu from 'defu' import { gt, satisfies } from 'semver' import { hasTTY, isCI } from 'std-env' +import { installNuxtModule } from '../core/features' import pagesModule from '../pages/module' import metaModule from '../head/module' import componentsModule from '../components/module' @@ -237,7 +238,7 @@ async function initNuxt (nuxt: Nuxt) { // @ts-expect-error scripts types are not present as the module is not installed if (nuxt.options.scripts) { if (!nuxt.options._modules.some(m => m === '@nuxt/scripts' || m === '@nuxt/scripts-nightly')) { - await import('../core/features').then(({ installNuxtModule }) => installNuxtModule('@nuxt/scripts')) + installNuxtModule('@nuxt/scripts') } } diff --git a/packages/nuxt/src/imports/transform.ts b/packages/nuxt/src/imports/transform.ts index a155f18cd0..fc521c4684 100644 --- a/packages/nuxt/src/imports/transform.ts +++ b/packages/nuxt/src/imports/transform.ts @@ -3,7 +3,9 @@ import type { Unimport } from 'unimport' import { normalize } from 'pathe' import { tryUseNuxt } from '@nuxt/kit' import type { ImportsOptions } from 'nuxt/schema' + import { isJS, isVue } from '../core/utils' +import { installNuxtModule } from '../core/features' const NODE_MODULES_RE = /[\\/]node_modules[\\/]/ const IMPORTS_RE = /(['"])#imports\1/ @@ -40,7 +42,7 @@ export const TransformPlugin = ({ ctx, options, sourcemap }: { ctx: Unimport, op const { s, imports } = await ctx.injectImports(code, id, { autoImport: options.autoImport && !isNodeModule }) if (imports.some(i => i.from === '#app/composables/script-stubs') && tryUseNuxt()?.options.test === false) { - import('../core/features').then(({ installNuxtModule }) => installNuxtModule('@nuxt/scripts')) + installNuxtModule('@nuxt/scripts') } if (s.hasChanged()) {