@@ -5,8 +5,6 @@ const Module = require('module')
5
5
const parse = require ( 'module-details-from-path' )
6
6
const dc = require ( 'dc-polyfill' )
7
7
8
- const origRequire = Module . prototype . require
9
-
10
8
// derived from require-in-the-middle@3 with tweaks
11
9
12
10
module . exports = Hook
@@ -35,7 +33,9 @@ function Hook (modules, options, onrequire) {
35
33
this . modules = modules
36
34
this . options = options
37
35
this . onrequire = onrequire
38
- const _origRequire = Module . prototype . require
36
+ this . origRequire = Module . prototype . require
37
+
38
+ const self = this
39
39
40
40
if ( Array . isArray ( modules ) ) {
41
41
for ( const mod of modules ) {
@@ -61,7 +61,7 @@ function Hook (modules, options, onrequire) {
61
61
try {
62
62
filename = Module . _resolveFilename ( request , this )
63
63
} catch ( resolveErr ) {
64
- return _origRequire . apply ( this , arguments )
64
+ return self . origRequire . apply ( this , arguments )
65
65
}
66
66
67
67
const core = filename . indexOf ( path . sep ) === - 1
@@ -81,7 +81,7 @@ function Hook (modules, options, onrequire) {
81
81
const patched = patching [ filename ]
82
82
if ( patched ) {
83
83
// If it's already patched, just return it as-is.
84
- return origRequire . apply ( this , arguments )
84
+ return self . origRequire . apply ( this , arguments )
85
85
} else {
86
86
patching [ filename ] = true
87
87
}
@@ -94,7 +94,7 @@ function Hook (modules, options, onrequire) {
94
94
if ( moduleLoadStartChannel . hasSubscribers ) {
95
95
moduleLoadStartChannel . publish ( payload )
96
96
}
97
- const exports = origRequire . apply ( this , arguments )
97
+ const exports = self . origRequire . apply ( this , arguments )
98
98
payload . module = exports
99
99
if ( moduleLoadEndChannel . hasSubscribers ) {
100
100
moduleLoadEndChannel . publish ( payload )
@@ -159,7 +159,7 @@ function Hook (modules, options, onrequire) {
159
159
}
160
160
161
161
Hook . reset = function ( ) {
162
- Module . prototype . require = origRequire
162
+ Module . prototype . require = this . origRequire
163
163
patchedRequire = null
164
164
patching = Object . create ( null )
165
165
cache = Object . create ( null )
0 commit comments