| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | const semver = require('semver')function resolveFallback (request, options) {  const Module = require('module')  const isMain = false  const fakeParent = new Module('', null)  const paths = []  for (let i = 0; i < options.paths.length; i++) {    const path = options.paths[i]    fakeParent.paths = Module._nodeModulePaths(path)    const lookupPaths = Module._resolveLookupPaths(request, fakeParent, true)    if (!paths.includes(path)) paths.push(path)    for (let j = 0; j < lookupPaths.length; j++) {      if (!paths.includes(lookupPaths[j])) paths.push(lookupPaths[j])    }  }  const filename = Module._findPath(request, paths, isMain)  if (!filename) {    const err = new Error(`Cannot find module '${request}'`)    err.code = 'MODULE_NOT_FOUND'    throw err  }  return filename}const resolve = semver.satisfies(process.version, '>=10.0.0')  ? require.resolve  : resolveFallbackexports.resolveModule = function (request, context) {  let resolvedPath  try {    resolvedPath = resolve(request, {      paths: [context]    })  } catch (e) {}  return resolvedPath}exports.loadModule = function (request, context, force = false) {  const resolvedPath = exports.resolveModule(request, context)  if (resolvedPath) {    if (force) {      clearRequireCache(resolvedPath)    }    return require(resolvedPath)  }}exports.clearModule = function (request, context) {  const resolvedPath = exports.resolveModule(request, context)  if (resolvedPath) {    clearRequireCache(resolvedPath)  }}function clearRequireCache (id, map = new Map()) {  const module = require.cache[id]  if (module) {    map.set(id, true)    // Clear children modules    module.children.forEach(child => {      if (!map.get(child.id)) clearRequireCache(child.id, map)    })    delete require.cache[id]  }}
 |