Skip to content

Commit 47e5ecc

Browse files
committed
fix: remove getVmContext from node env on older versions of node
1 parent a679390 commit 47e5ecc

4 files changed

Lines changed: 16 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
### Fixes
66

7+
- `[jest-environment-node]` Remove `getVmContext` from Node env on older versions of Node ([#9706](https://github.com/facebook/jest/pull/9706))
8+
79
### Chore & Maintenance
810

911
### Performance

packages/jest-environment-node/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@
2121
"@jest/fake-timers": "^25.2.1",
2222
"@jest/types": "^25.2.1",
2323
"jest-mock": "^25.2.1",
24-
"jest-util": "^25.2.1"
24+
"jest-util": "^25.2.1",
25+
"semver": "^6.3.0"
26+
},
27+
"devDependencies": {
28+
"@types/semver": "^6.2.0"
2529
},
2630
"engines": {
2731
"node": ">= 8.3"

packages/jest-environment-node/src/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
LolexFakeTimers,
1515
} from '@jest/fake-timers';
1616
import type {JestEnvironment} from '@jest/environment';
17+
import {lt as semverLt} from 'semver';
1718

1819
type Timer = {
1920
id: number;
@@ -121,4 +122,11 @@ class NodeEnvironment implements JestEnvironment {
121122
}
122123
}
123124

125+
// node 10 had a bug in `vm.compileFunction` that was fixed in https://github.com/nodejs/node/pull/23206.
126+
// Let's just pretend the env doesn't support the function.
127+
// Make sure engine requirement is high enough when we drop node 8 so we can remove this condition
128+
if (semverLt(process.version, '10.14.2')) {
129+
delete NodeEnvironment.prototype.getVmContext;
130+
}
131+
124132
export = NodeEnvironment;

yarn.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2489,7 +2489,7 @@
24892489
dependencies:
24902490
"@types/node" "*"
24912491

2492-
"@types/semver@^6.0.1", "@types/semver@^6.2.1":
2492+
"@types/semver@^6.0.1", "@types/semver@^6.2.0", "@types/semver@^6.2.1":
24932493
version "6.2.1"
24942494
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.1.tgz#a236185670a7860f1597cf73bea2e16d001461ba"
24952495
integrity sha512-+beqKQOh9PYxuHvijhVl+tIHvT6tuwOrE9m14zd+MT2A38KoKZhh7pYJ0SNleLtwDsiIxHDsIk9bv01oOxvSvA==

0 commit comments

Comments
 (0)