| import isError from '../../lib/is-error'; | |
| import { realpathSync } from '../../lib/realpath'; | |
| import { clearManifestCache } from '../load-manifest.external'; | |
| function deleteFromRequireCache(filePath) { | |
| try { | |
| filePath = realpathSync(filePath); | |
| } catch (e) { | |
| if (isError(e) && e.code !== 'ENOENT') throw e; | |
| } | |
| const mod = require.cache[filePath]; | |
| if (mod) { | |
| // remove the child reference from all parent modules | |
| for (const parent of Object.values(require.cache)){ | |
| if (parent == null ? void 0 : parent.children) { | |
| const idx = parent.children.indexOf(mod); | |
| if (idx >= 0) parent.children.splice(idx, 1); | |
| } | |
| } | |
| // remove parent references from external modules | |
| for (const child of mod.children){ | |
| child.parent = null; | |
| } | |
| delete require.cache[filePath]; | |
| return true; | |
| } | |
| return false; | |
| } | |
| export function deleteCache(filePath) { | |
| // try to clear it from the fs cache | |
| clearManifestCache(filePath); | |
| deleteFromRequireCache(filePath); | |
| } | |
| //# sourceMappingURL=require-cache.js.map |