Skip to content

Commit 1dfecc8

Browse files
authoredMar 28, 2023
fix: use nearest pkg to resolved for moduleSideEffects (#12628)
1 parent bd54f54 commit 1dfecc8

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed
 

‎packages/vite/src/node/plugins/resolve.ts

+21-14
Original file line numberDiff line numberDiff line change
@@ -254,19 +254,20 @@ export function resolvePlugin(resolveOptions: InternalResolveOptions): Plugin {
254254
}
255255

256256
if ((res = tryFsResolve(fsPath, options))) {
257+
const resPkg = findNearestPackageData(
258+
path.dirname(res),
259+
options.packageCache,
260+
)
257261
res = ensureVersionQuery(res, id, options, depsOptimizer)
258262
isDebug &&
259263
debug(`[relative] ${colors.cyan(id)} -> ${colors.dim(res)}`)
260-
const pkg =
261-
importer &&
262-
findNearestPackageData(path.dirname(importer), options.packageCache)
263-
if (pkg) {
264-
return {
265-
id: res,
266-
moduleSideEffects: pkg.hasSideEffects(res),
267-
}
268-
}
269-
return res
264+
265+
return resPkg
266+
? {
267+
id: res,
268+
moduleSideEffects: resPkg.hasSideEffects(res),
269+
}
270+
: res
270271
}
271272
}
272273

@@ -1191,10 +1192,16 @@ function tryResolveBrowserMapping(
11911192
) {
11921193
isDebug &&
11931194
debug(`[browser mapped] ${colors.cyan(id)} -> ${colors.dim(res)}`)
1194-
const result = {
1195-
id: res,
1196-
moduleSideEffects: pkg.hasSideEffects(res),
1197-
}
1195+
const resPkg = findNearestPackageData(
1196+
path.dirname(res),
1197+
options.packageCache,
1198+
)
1199+
const result = resPkg
1200+
? {
1201+
id: res,
1202+
moduleSideEffects: resPkg.hasSideEffects(res),
1203+
}
1204+
: { id: res }
11981205
return externalize ? { ...result, external: true } : result
11991206
}
12001207
} else if (browserMappedPath === false) {

0 commit comments

Comments
 (0)
Please sign in to comment.