UNPKG

require-control

Version:

Get the full control over the nodejs module system.

29 lines (22 loc) 659 B
const Module = require('module'); function mirrorModuleCache(condition) { const internalCache = {}; let enabled = true; const mLoad = Module._load; Module._load = function (request, parent, isMain) { const filename = Module._resolveFilename(request, parent, isMain); const check = enabled && condition(request, filename); if (check) { Module._cache[filename] = internalCache[filename]; } const result = mLoad(request, parent, isMain); if (check) { internalCache[filename] = Module._cache[filename]; } return result; }; return () => { enabled = false; } } module.exports = mirrorModuleCache;