import { readFileSync } from 'node:fs'; import vm from 'node:vm'; export function loadCommonJsModule(filePath, requireMap = {}) { const module = { exports: {} }; const sandbox = { clearTimeout, console, getCurrentPages(...args) { return globalThis.getCurrentPages(...args); }, module, exports: module.exports, require(requestPath) { if (Object.prototype.hasOwnProperty.call(requireMap, requestPath)) { return requireMap[requestPath]; } throw new Error(`Unexpected require: ${requestPath}`); }, setTimeout, URL, URLSearchParams, wx: globalThis.wx, }; vm.runInNewContext(readFileSync(filePath, 'utf8'), sandbox, { filename: filePath, }); return module.exports; }