UNPKG

siesta-lite

Version:

Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers

33 lines (32 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var vm = require('vm'); exports.requireInContext = function (fileName, ctx, requireFun) { var old = vm.runInThisContext; var context = ctx; if (!ctx) { context = Object.assign(ctx || {}, { Buffer: Buffer, process: process, console: console, setImmediate: setImmediate, clearImmediate: clearImmediate, setTimeout: setTimeout, clearTimeout: clearTimeout, setInterval: setInterval, clearInterval: clearInterval }); if (typeof URL != 'undefined') context.URL = URL; if (typeof URLSearchParams != 'undefined') context.URLSearchParams = URLSearchParams; context.global = context; vm.createContext(context); } vm.runInThisContext = function (code, options) { return vm.runInContext(code, context, options); }; (requireFun || require)(fileName); vm.runInThisContext = old; return context; };