◐ Shell
clean mode source ↗

module: use kNodeModulesRE to detect node_modules · nodejs/node@cf8701c

Original file line numberDiff line numberDiff line change

@@ -5,7 +5,9 @@ const {

55

RegExpPrototypeExec,

66

decodeURIComponent,

77

} = primordials;

8-

const { kEmptyObject } = require('internal/util');

8+

const {

9+

kEmptyObject,

10+

} = require('internal/util');

911
1012

const { defaultGetFormat } = require('internal/modules/esm/get_format');

1113

const { validateAttributes, emitImportAssertionWarning } = require('internal/modules/esm/assert');

Original file line numberDiff line numberDiff line change

@@ -477,6 +477,10 @@ function spliceOne(list, index) {

477477
478478

const kNodeModulesRE = /^(?:.*)[\\/]node_modules[\\/]/;

479479
480+

function isUnderNodeModules(filename) {

481+

return filename && (RegExpPrototypeExec(kNodeModulesRE, filename) !== null);

482+

}

483+
480484

let getStructuredStackImpl;

481485
482486

function lazyGetStructuredStack() {

@@ -524,7 +528,7 @@ function isInsideNodeModules() {

524528

) {

525529

continue;

526530

}

527-

return RegExpPrototypeExec(kNodeModulesRE, filename) !== null;

531+

return isUnderNodeModules(filename);

528532

}

529533

}

530534

return false;

@@ -913,6 +917,7 @@ module.exports = {

913917

isArrayBufferDetached,

914918

isError,

915919

isInsideNodeModules,

920+

isUnderNodeModules,

916921

join,

917922

lazyDOMException,

918923

lazyDOMExceptionClass,