@@ -35,54 +35,7 @@ if (Module.isBuiltin) { // Added in node v18.6.0, v16.17.0
3535 return builtinModules . has ( moduleName )
3636 }
3737} else {
38- const _resolve = require ( 'resolve' )
39- const [ major , minor ] = process . versions . node . split ( '.' ) . map ( Number )
40- if ( major === 8 && minor < 8 ) {
41- // For node versions `[8.0, 8.8)` the "http2" module was built-in but
42- // behind the `--expose-http2` flag. `resolve` only considers unflagged
43- // modules to be core: https://github.com/browserify/resolve/issues/139
44- // However, for `ExportsCache` to work for "http2" we need it to be
45- // considered core.
46- isCore = moduleName => {
47- if ( moduleName === 'http2' ) {
48- return true
49- }
50- // Prefer `resolve.core` lookup to `resolve.isCore(moduleName)` because
51- // the latter is doing version range matches for every call.
52- return ! ! _resolve . core [ moduleName ]
53- }
54- } else {
55- isCore = moduleName => {
56- // Prefer `resolve.core` lookup to `resolve.isCore(moduleName)` because
57- // the latter is doing version range matches for every call.
58- return ! ! _resolve . core [ moduleName ]
59- }
60- }
61- }
62-
63- let _resolve
64-
65- function resolve ( moduleName , basedir ) {
66- // Feature detection: This property was added in Node.js 8.9.0, the same time
67- // as the `paths` options argument was added to the `require.resolve` function,
68- // which is the one we want
69- if ( ! _resolve ) {
70- // require.resolve might be undefined when using Node SEA mode:
71- // https://nodejs.org/api/single-executable-applications.html
72- // Also see https://github.com/nodejs/require-in-the-middle/issues/105
73- if ( require . resolve && require . resolve . paths ) {
74- _resolve = function ( moduleName , basedir ) {
75- return require . resolve ( moduleName , { paths : [ basedir ] } )
76- }
77- } else {
78- const resolve = require ( 'resolve' )
79- _resolve = function ( moduleName , basedir ) {
80- return resolve . sync ( moduleName , { basedir } )
81- }
82- }
83- }
84-
85- return _resolve ( moduleName , basedir )
38+ throw new Error ( '\'require-in-the-middle\' requires Node.js >=v9.3.0 or >=v8.10.0' )
8639}
8740
8841// 'foo/bar.js' or 'foo/bar/index.js' => 'foo/bar'
@@ -320,7 +273,7 @@ function Hook (modules, options, onrequire) {
320273 // figure out if this is the main module file, or a file inside the module
321274 let res
322275 try {
323- res = resolve ( moduleName , basedir )
276+ res = require . resolve ( moduleName , { paths : [ basedir ] } )
324277 } catch ( e ) {
325278 debug ( 'could not resolve module: %s' , moduleName )
326279 self . _cache . set ( filename , exports , core )
0 commit comments