From 6ab0b8faa8818e223054d6279ee467bd259146cb Mon Sep 17 00:00:00 2001 From: Duncan Harvey Date: Tue, 21 May 2024 16:28:55 -0400 Subject: [PATCH] remove duplicate instances of origRequire --- packages/dd-trace/src/ritm.js | 14 +++++++------- packages/dd-trace/test/ritm.spec.js | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/dd-trace/src/ritm.js b/packages/dd-trace/src/ritm.js index 23670cf50e0..2a59d7a385d 100644 --- a/packages/dd-trace/src/ritm.js +++ b/packages/dd-trace/src/ritm.js @@ -5,8 +5,6 @@ const Module = require('module') const parse = require('module-details-from-path') const dc = require('dc-polyfill') -const origRequire = Module.prototype.require - // derived from require-in-the-middle@3 with tweaks module.exports = Hook @@ -35,7 +33,9 @@ function Hook (modules, options, onrequire) { this.modules = modules this.options = options this.onrequire = onrequire - const _origRequire = Module.prototype.require + this.origRequire = Module.prototype.require + + const self = this if (Array.isArray(modules)) { for (const mod of modules) { @@ -61,7 +61,7 @@ function Hook (modules, options, onrequire) { try { filename = Module._resolveFilename(request, this) } catch (resolveErr) { - return _origRequire.apply(this, arguments) + return self.origRequire.apply(this, arguments) } const core = filename.indexOf(path.sep) === -1 @@ -81,7 +81,7 @@ function Hook (modules, options, onrequire) { const patched = patching[filename] if (patched) { // If it's already patched, just return it as-is. - return origRequire.apply(this, arguments) + return self.origRequire.apply(this, arguments) } else { patching[filename] = true } @@ -94,7 +94,7 @@ function Hook (modules, options, onrequire) { if (moduleLoadStartChannel.hasSubscribers) { moduleLoadStartChannel.publish(payload) } - const exports = origRequire.apply(this, arguments) + const exports = self.origRequire.apply(this, arguments) payload.module = exports if (moduleLoadEndChannel.hasSubscribers) { moduleLoadEndChannel.publish(payload) @@ -159,7 +159,7 @@ function Hook (modules, options, onrequire) { } Hook.reset = function () { - Module.prototype.require = origRequire + Module.prototype.require = this.origRequire patchedRequire = null patching = Object.create(null) cache = Object.create(null) diff --git a/packages/dd-trace/test/ritm.spec.js b/packages/dd-trace/test/ritm.spec.js index df2a4e8b1a4..52606260ddf 100644 --- a/packages/dd-trace/test/ritm.spec.js +++ b/packages/dd-trace/test/ritm.spec.js @@ -10,6 +10,7 @@ const Hook = require('../src/ritm') describe('Ritm', () => { let moduleLoadStartChannel, moduleLoadEndChannel, startListener, endListener let utilHook, aHook, bHook, httpHook + const origRequire = Module.prototype.require before(() => { moduleLoadStartChannel = dc.channel('dd-trace:moduleLoadStart') @@ -50,6 +51,7 @@ describe('Ritm', () => { aHook.unhook() bHook.unhook() httpHook.unhook() + Module.prototype.require = origRequire }) it('should shim util', () => {