diff options
Diffstat (limited to 'node_modules/node-retrieve-globals/util/vmModules.js')
| -rw-r--r-- | node_modules/node-retrieve-globals/util/vmModules.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/node-retrieve-globals/util/vmModules.js b/node_modules/node-retrieve-globals/util/vmModules.js new file mode 100644 index 0000000..7643eff --- /dev/null +++ b/node_modules/node-retrieve-globals/util/vmModules.js @@ -0,0 +1,23 @@ +import vm from "vm"; + +function isSupported() { + // node --experimental-vm-modules … + if(process.execArgv.find(entry => entry == "--experimental-vm-modules")) { + return true; + } + // NODE_OPTIONS='--experimental-vm-modules' node … + if((process.env?.NODE_OPTIONS || "").split(" ").find(entry => entry == "--experimental-vm-modules")) { + return true; + } + + // Feature test for a future when --experimental-vm-modules is not needed + // and vm.Module is stable: + try { + new vm.SourceTextModule(`/* hi */`); + return true; + } catch(e) {} + + return false; +} + +export { isSupported };
\ No newline at end of file |
