Test Failed
Push — master ( 4acb94...dc896f )
by Dmytro
01:39
created

init.js ➔ preventParentScopeModules   A

Complexity

Conditions 3

Size

Total Lines 14
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 14
c 0
b 0
f 0
rs 10
cc 3
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
function preventParentScopeModules() {
11
    const nodeModulePaths = Module._nodeModulePaths; // backup the original method
12
13
    Module._nodeModulePaths = function (from) {
14
        let paths = nodeModulePaths.call(this, from); // call the original method
15
16
        // add your logic here to exclude parent dirs, I did a simple match with current dir
17
        paths = paths.filter(function (path) {
18
            return path.match(__dirname);
19
        });
20
21
        return paths;
22
    };
23
}
24
25
clearRequireCache();
26
preventParentScopeModules();
27