blob: 7643eff68ae63798e4ed23a8444efa37b53db819 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 };
|