Skip to content

Commit 51ab8d6

Browse files
authoredJul 28, 2023
fix(vite-node): always treat node_modules as modulesDirectory (#3830)
1 parent 17988e5 commit 51ab8d6

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed
 

‎packages/vite-node/src/server.ts

+13-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { performance } from 'node:perf_hooks'
22
import { existsSync } from 'node:fs'
3-
import { join, relative, resolve } from 'pathe'
3+
import { join, normalize, relative, resolve } from 'pathe'
44
import type { TransformResult, ViteDevServer } from 'vite'
55
import createDebug from 'debug'
66
import type { EncodedSourceMap } from '@jridgewell/trace-mapping'
@@ -72,6 +72,18 @@ export class ViteNodeServer {
7272
const customModuleDirectories = envValue?.split(',')
7373
if (customModuleDirectories)
7474
options.deps.moduleDirectories.push(...customModuleDirectories)
75+
76+
options.deps.moduleDirectories = options.deps.moduleDirectories.map((dir) => {
77+
if (!dir.startsWith('/'))
78+
dir = `/${dir}`
79+
if (!dir.endsWith('/'))
80+
dir += '/'
81+
return normalize(dir)
82+
})
83+
84+
// always add node_modules as a module directory
85+
if (!options.deps.moduleDirectories.includes('/node_modules/'))
86+
options.deps.moduleDirectories.push('/node_modules/')
7587
}
7688

7789
shouldExternalize(id: string) {

‎packages/vitest/src/node/config.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,16 @@ export function resolveConfig(
140140
resolved.deps.inline.push(...extraInlineDeps)
141141
}
142142
}
143-
resolved.deps.moduleDirectories ??= ['/node_modules/']
143+
resolved.deps.moduleDirectories ??= []
144144
resolved.deps.moduleDirectories = resolved.deps.moduleDirectories.map((dir) => {
145145
if (!dir.startsWith('/'))
146146
dir = `/${dir}`
147147
if (!dir.endsWith('/'))
148148
dir += '/'
149149
return normalize(dir)
150150
})
151+
if (!resolved.deps.moduleDirectories.includes('/node_modules/'))
152+
resolved.deps.moduleDirectories.push('/node_modules/')
151153

152154
if (resolved.runner) {
153155
resolved.runner = resolveModule(resolved.runner, { paths: [resolved.root] })

0 commit comments

Comments
 (0)
Please sign in to comment.