diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index d28a295c3af9ec5..d6897f84d26a5e8 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -1344,15 +1344,6 @@ Module.prototype.require = function(id) { }; let emittedRequireModuleWarning = false; -/** - * Resolved path to `process.argv[1]` will be lazily placed here - * (needed for setting breakpoint when called with `--inspect-brk`). - * @type {string | undefined} - */ -let resolvedArgv; -let hasPausedEntry = false; -/** @type {import('vm').Script} */ - /** * Resolve and evaluate it synchronously as ESM if it's ESM. * @param {Module} mod CJS module instance @@ -1557,32 +1548,6 @@ Module.prototype._compile = function(content, filename, format) { return; } - // TODO(joyeecheung): the detection below is unnecessarily complex. Using the - // kIsMainSymbol, or a kBreakOnStartSymbol that gets passed from - // higher level instead of doing hacky detection here. - let inspectorWrapper = null; - if (getOptionValue('--inspect-brk') && process._eval == null) { - if (!resolvedArgv) { - // We enter the repl if we're not given a filename argument. - if (process.argv[1]) { - try { - resolvedArgv = Module._resolveFilename(process.argv[1], null, false); - } catch { - // We only expect this codepath to be reached in the case of a - // preloaded module (it will fail earlier with the main entry) - assert(ArrayIsArray(getOptionValue('--require'))); - } - } else { - resolvedArgv = 'repl'; - } - } - - // Set breakpoint on module start - if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) { - hasPausedEntry = true; - inspectorWrapper = internalBinding('inspector').callAndPauseOnStart; - } - } const dirname = path.dirname(filename); const require = makeRequireFunction(this, redirects); let result; @@ -1592,9 +1557,10 @@ Module.prototype._compile = function(content, filename, format) { if (requireDepth === 0) { statCache = new SafeMap(); } setHasStartedUserCJSExecution(); this[kIsExecuting] = true; - if (inspectorWrapper) { - result = inspectorWrapper(compiledWrapper, thisValue, exports, - require, module, filename, dirname); + if (this[kIsMainSymbol] && getOptionValue('--inspect-brk')) { + const { callAndPauseOnStart } = internalBinding('inspector'); + result = callAndPauseOnStart(compiledWrapper, thisValue, exports, + require, module, filename, dirname); } else { result = ReflectApply(compiledWrapper, thisValue, [exports, require, module, filename, dirname]);