File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -951,12 +951,17 @@ export const requireResolveFromRootWithFallback = (
951951 root : string ,
952952 id : string
953953) : string => {
954+ const paths = _require . resolve . paths ?.( id ) || [ ]
954955 // Search in the root directory first, and fallback to the default require paths.
955- const fallbackPaths = _require . resolve . paths ?.( id ) || [ ]
956- const path = _require . resolve ( id , {
957- paths : [ root , ...fallbackPaths ]
958- } )
959- return path
956+ paths . unshift ( root )
957+
958+ // Use `resolve` package to check existence first, so if the package is not found,
959+ // it won't be cached by nodejs, since there isn't a way to invalidate them:
960+ // https://github.com/nodejs/node/issues/44663
961+ resolve . sync ( id , { basedir : root , paths } )
962+
963+ // Use `require.resolve` again as the `resolve` package doesn't support the `exports` field
964+ return _require . resolve ( id , { paths } )
960965}
961966
962967// Based on node-graceful-fs
You can’t perform that action at this time.
0 commit comments