const vm = require("vm");
const fs = require("fs");
const path = require("path");
const { setup } = require("./env.js");
function createEnv(extra) {
const sandbox = {};
setup(sandbox);
if (extra) Object.assign(sandbox, extra);
vm.createContext(sandbox);
return sandbox;
}
function loadScript(sandbox, file) {
const abs = path.resolve(__dirname, file);
const code = fs.readFileSync(abs, "utf8");
return vm.runInContext(code, sandbox, { filename: file });
}
function run(sandbox, code) {
return vm.runInContext(code, sandbox);
}
module.exports = { createEnv, loadScript, run };