mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-20 07:30:57 +00:00
fix(kit): don't add local ~/modules
dirs to modulesDir
(#24457)
This commit is contained in:
parent
22ce98d61d
commit
8917e5f564
@ -1,6 +1,6 @@
|
||||
import { existsSync, promises as fsp, lstatSync } from 'node:fs'
|
||||
import type { ModuleMeta, Nuxt, NuxtModule } from '@nuxt/schema'
|
||||
import { dirname, isAbsolute, join } from 'pathe'
|
||||
import { dirname, isAbsolute, join, resolve } from 'pathe'
|
||||
import { defu } from 'defu'
|
||||
import { isNuxt2 } from '../compatibility'
|
||||
import { useNuxt } from '../context'
|
||||
@ -9,10 +9,20 @@ import { importModule } from '../internal/esm'
|
||||
import { resolveAlias, resolvePath } from '../resolve'
|
||||
import { logger } from '../logger'
|
||||
|
||||
const NODE_MODULES_RE = /[/\\]node_modules[/\\]/
|
||||
|
||||
/** Installs a module on a Nuxt instance. */
|
||||
export async function installModule (moduleToInstall: string | NuxtModule, inlineOptions?: any, nuxt: Nuxt = useNuxt()) {
|
||||
const { nuxtModule, buildTimeModuleMeta } = await loadNuxtModuleInstance(moduleToInstall, nuxt)
|
||||
|
||||
const localLayerModuleDirs = new Set<string>()
|
||||
for (const l of nuxt.options._layers) {
|
||||
const srcDir = l.config.srcDir || l.cwd
|
||||
if (!NODE_MODULES_RE.test(srcDir)) {
|
||||
localLayerModuleDirs.add(resolve(srcDir, l.config?.dir?.modules || 'modules'))
|
||||
}
|
||||
}
|
||||
|
||||
// Call module
|
||||
const res = (
|
||||
isNuxt2()
|
||||
@ -27,8 +37,8 @@ export async function installModule (moduleToInstall: string | NuxtModule, inlin
|
||||
if (typeof moduleToInstall === 'string') {
|
||||
nuxt.options.build.transpile.push(normalizeModuleTranspilePath(moduleToInstall))
|
||||
const directory = getDirectory(moduleToInstall)
|
||||
if (directory !== moduleToInstall) {
|
||||
nuxt.options.modulesDir.push(getDirectory(moduleToInstall))
|
||||
if (directory !== moduleToInstall && !localLayerModuleDirs.has(directory)) {
|
||||
nuxt.options.modulesDir.push(directory)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user