diff --git a/scripts/testExternalConverter.js b/scripts/testExternalConverter.js index 7b7c02fa5..db63e253f 100644 --- a/scripts/testExternalConverter.js +++ b/scripts/testExternalConverter.js @@ -1,5 +1,22 @@ const assert = require('assert'); +const vm = require('vm'); +const fs = require('fs'); +const path = require('path'); const filename = process.argv[2]; -const converter = require('./' + filename); +const moduleCode = fs.readFileSync(filename); +const moduleFakePath = path.join(__dirname, 'externally-loaded.js'); +const sandbox = { + require: require, + module: {}, + console, + setTimeout, + clearTimeout, + setInterval, + clearInterval, + setImmediate, + clearImmediate, +}; +vm.runInNewContext(moduleCode, sandbox, moduleFakePath); +const converter = sandbox.module.exports; assert(!converter.toZigbee.includes(undefined)); assert(!converter.fromZigbee.includes(undefined));