更新最新代码

This commit is contained in:
CodeBuddy
2026-10-26 17:32:47 +08:00
commit 0f5dc01674
315 changed files with 42640 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
const fs = require('node:fs');
const vm = require('node:vm');
const path = require('node:path');
module.exports = function createLoader(globals, mocks = {}) {
const modules = new Map();
function load(file) {
file = path.resolve(file);
if (modules.has(file)) return modules.get(file).exports;
const module = { exports: {} };
modules.set(file, module);
vm.runInNewContext(fs.readFileSync(file, 'utf8'), {
...globals, module, exports: module.exports,
require(name) {
if (mocks[name]) return mocks[name];
if (!name.startsWith('.')) return require(name);
const resolved = path.resolve(path.dirname(file), name);
return load(path.extname(resolved) ? resolved : resolved + '.js');
}
}, { filename: file });
return module.exports;
}
return load;
};