Total Complexity | 5 |
Complexity/F | 1 |
Lines of Code | 25 |
Function Count | 5 |
Duplicated Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | // eslint-disable-next-line import/no-commonjs |
||
2 | const { Module } = require('module'); |
||
3 | |||
4 | function clearRequireCache() { |
||
5 | Object.keys(require.cache).forEach((key) => { |
||
6 | delete require.cache[key]; |
||
7 | }); |
||
8 | } |
||
9 | |||
10 | const ROOT_FOLDER = process.cwd(); |
||
11 | |||
12 | function preventParentScopeModules() { |
||
13 | const nodeModulePaths = Module._nodeModulePaths; |
||
14 | |||
15 | Module._nodeModulePaths = function (from) { |
||
16 | const originalPath = nodeModulePaths.call(this, from); |
||
17 | const insideRootPaths = originalPath.filter(function (path) { |
||
18 | return path.match(ROOT_FOLDER); |
||
19 | }); |
||
20 | |||
21 | return insideRootPaths; |
||
22 | }; |
||
23 | } |
||
24 | |||
25 | clearRequireCache(); |
||
26 | preventParentScopeModules(); |
||
27 |