Skip to content

Commit 9e9454c

Browse files
authored
Merge branch 'main' into fix-expect-add-types-test
2 parents e5ff48e + 46c9c13 commit 9e9454c

12 files changed

Lines changed: 37 additions & 48 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
- `[expect]` Tweak and improve types ([#11949](https://github.com/facebook/jest/pull/11949))
88
- `[jest-runtime]` Ensure absolute paths can be resolved within test modules ([#11943](https://github.com/facebook/jest/pull/11943))
9+
- `[jest-runtime]` Fix `instanceof` for `ModernFakeTimers` and `LegacyFakeTimers` methods ([#11946](https://github.com/facebook/jest/pull/11946))
910

1011
### Chore & Maintenance
1112

docs/Puppeteer.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ Here's an example of the GlobalSetup script
5555

5656
```js
5757
// setup.js
58-
const {writeFile} = require('fs').promises;
58+
const {mkdir, writeFile} = require('fs').promises;
5959
const os = require('os');
6060
const path = require('path');
61-
const mkdirp = require('mkdirp');
6261
const puppeteer = require('puppeteer');
6362

6463
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
@@ -70,7 +69,7 @@ module.exports = async function () {
7069
global.__BROWSER_GLOBAL__ = browser;
7170

7271
// use the file system to expose the wsEndpoint for TestEnvironments
73-
mkdirp.sync(DIR);
72+
await mkdir(DIR, {recursive: true});
7473
await writeFile(path.join(DIR, 'wsEndpoint'), browser.wsEndpoint());
7574
};
7675
```
@@ -122,17 +121,17 @@ Finally, we can close the puppeteer instance and clean-up the file
122121

123122
```js
124123
// teardown.js
124+
const fs = require('fs').promises;
125125
const os = require('os');
126126
const path = require('path');
127-
const rimraf = require('rimraf');
128127

129128
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
130129
module.exports = async function () {
131130
// close the browser instance
132131
await global.__BROWSER_GLOBAL__.close();
133132

134133
// clean-up the wsEndpoint file
135-
rimraf.sync(DIR);
134+
await fs.rm(DIR, {recursive: true, force: true});
136135
};
137136
```
138137

e2e/resolve-conditions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
"transform": {}
1414
},
1515
"dependencies": {
16-
"resolve.exports": "^1.0.2"
16+
"resolve.exports": "^1.1.0"
1717
}
1818
}

e2e/resolve-conditions/resolver.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,7 @@ function createPathFilter(conditions) {
2424
const path = relativePath === 'index' ? '.' : relativePath;
2525

2626
return (
27-
resolveExports(pkg, path, {
28-
// `resolve.exports adds `node` unless `browser` is `false`, so let's add this ugly thing
29-
browser: conditions.includes('browser'),
30-
conditions,
31-
// `resolve.exports adds `import` unless `require` is `false`, so let's add this ugly thing
32-
require: conditions.includes('require'),
33-
}) || relativePath
27+
resolveExports(pkg, path, {conditions, unsafe: true}) || relativePath
3428
);
3529
};
3630
}

e2e/resolve-conditions/yarn.lock

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ __metadata:
55
version: 4
66
cacheKey: 7
77

8-
"resolve.exports@npm:^1.0.2":
9-
version: 1.0.2
10-
resolution: "resolve.exports@npm:1.0.2"
11-
checksum: 012a46e3ae41c53762abf5b50ea1b4adf2de617bbea1dbc7bf6e609c1ceaedee7782acbc92d443951d5dd0c3a8fb1090ce73285a9ccc24b530e33b5e09ae196f
8+
"resolve.exports@npm:^1.1.0":
9+
version: 1.1.0
10+
resolution: "resolve.exports@npm:1.1.0"
11+
checksum: d04d2ce651fac14fe6ba13b377690f790cbbe91e6211b8fbec97ee08282e278875c74073a9b6243143a64e33d95eefb479e1dd4965664edc73b28b712100b36c
1212
languageName: node
1313
linkType: hard
1414

1515
"root-workspace-0b6124@workspace:.":
1616
version: 0.0.0-use.local
1717
resolution: "root-workspace-0b6124@workspace:."
1818
dependencies:
19-
resolve.exports: ^1.0.2
19+
resolve.exports: ^1.1.0
2020
languageName: unknown
2121
linkType: soft

packages/jest-runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"dependencies": {
1717
"@jest/console": "^27.2.5",
1818
"@jest/environment": "^27.2.5",
19-
"@jest/fake-timers": "^27.2.5",
2019
"@jest/globals": "^27.2.5",
2120
"@jest/source-map": "^27.0.6",
2221
"@jest/test-result": "^27.2.5",
@@ -43,6 +42,7 @@
4342
"yargs": "^16.2.0"
4443
},
4544
"devDependencies": {
45+
"@jest/fake-timers": "^27.2.5",
4646
"@jest/test-utils": "^27.2.5",
4747
"@types/exit": "^0.1.30",
4848
"@types/glob": "^7.1.1",

packages/jest-runtime/src/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import type {
3030
Module,
3131
ModuleWrapper,
3232
} from '@jest/environment';
33-
import {LegacyFakeTimers, ModernFakeTimers} from '@jest/fake-timers';
33+
import type {LegacyFakeTimers, ModernFakeTimers} from '@jest/fake-timers';
3434
import type * as JestGlobals from '@jest/globals';
3535
import type {SourceMapRegistry} from '@jest/source-map';
3636
import type {RuntimeTransformResult, V8CoverageResult} from '@jest/test-result';
@@ -1963,7 +1963,7 @@ export default class Runtime {
19631963
getRealSystemTime: () => {
19641964
const fakeTimers = _getFakeTimers();
19651965

1966-
if (fakeTimers instanceof ModernFakeTimers) {
1966+
if (fakeTimers === this._environment.fakeTimersModern) {
19671967
return fakeTimers.getRealSystemTime();
19681968
} else {
19691969
throw new TypeError(
@@ -1984,7 +1984,7 @@ export default class Runtime {
19841984
runAllImmediates: () => {
19851985
const fakeTimers = _getFakeTimers();
19861986

1987-
if (fakeTimers instanceof LegacyFakeTimers) {
1987+
if (fakeTimers === this._environment.fakeTimers) {
19881988
fakeTimers.runAllImmediates();
19891989
} else {
19901990
throw new TypeError(
@@ -2000,7 +2000,7 @@ export default class Runtime {
20002000
setSystemTime: (now?: number | Date) => {
20012001
const fakeTimers = _getFakeTimers();
20022002

2003-
if (fakeTimers instanceof ModernFakeTimers) {
2003+
if (fakeTimers === this._environment.fakeTimersModern) {
20042004
fakeTimers.setSystemTime(now);
20052005
} else {
20062006
throw new TypeError(

website/versioned_docs/version-25.x/Puppeteer.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ Here's an example of the GlobalSetup script
5555

5656
```js
5757
// setup.js
58-
const {writeFile} = require('fs').promises;
58+
const {mkdir, writeFile} = require('fs').promises;
5959
const os = require('os');
6060
const path = require('path');
61-
const mkdirp = require('mkdirp');
6261
const puppeteer = require('puppeteer');
6362

6463
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
@@ -70,7 +69,7 @@ module.exports = async function () {
7069
global.__BROWSER_GLOBAL__ = browser;
7170

7271
// use the file system to expose the wsEndpoint for TestEnvironments
73-
mkdirp.sync(DIR);
72+
await mkdir(DIR, {recursive: true});
7473
await writeFile(path.join(DIR, 'wsEndpoint'), browser.wsEndpoint());
7574
};
7675
```
@@ -122,17 +121,17 @@ Finally, we can close the puppeteer instance and clean-up the file
122121

123122
```js
124123
// teardown.js
124+
const fs = require('fs').promises;
125125
const os = require('os');
126126
const path = require('path');
127-
const rimraf = require('rimraf');
128127

129128
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
130129
module.exports = async function () {
131130
// close the browser instance
132131
await global.__BROWSER_GLOBAL__.close();
133132

134133
// clean-up the wsEndpoint file
135-
rimraf.sync(DIR);
134+
await fs.rm(DIR, {recursive: true, force: true});
136135
};
137136
```
138137

website/versioned_docs/version-26.x/Puppeteer.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ Here's an example of the GlobalSetup script
5555

5656
```js
5757
// setup.js
58-
const {writeFile} = require('fs').promises;
58+
const {mkdir, writeFile} = require('fs').promises;
5959
const os = require('os');
6060
const path = require('path');
61-
const mkdirp = require('mkdirp');
6261
const puppeteer = require('puppeteer');
6362

6463
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
@@ -70,7 +69,7 @@ module.exports = async function () {
7069
global.__BROWSER_GLOBAL__ = browser;
7170

7271
// use the file system to expose the wsEndpoint for TestEnvironments
73-
mkdirp.sync(DIR);
72+
await mkdir(DIR, {recursive: true});
7473
await writeFile(path.join(DIR, 'wsEndpoint'), browser.wsEndpoint());
7574
};
7675
```
@@ -122,17 +121,17 @@ Finally, we can close the puppeteer instance and clean-up the file
122121

123122
```js
124123
// teardown.js
124+
const fs = require('fs').promises;
125125
const os = require('os');
126126
const path = require('path');
127-
const rimraf = require('rimraf');
128127

129128
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
130129
module.exports = async function () {
131130
// close the browser instance
132131
await global.__BROWSER_GLOBAL__.close();
133132

134133
// clean-up the wsEndpoint file
135-
rimraf.sync(DIR);
134+
await fs.rm(DIR, {recursive: true, force: true});
136135
};
137136
```
138137

website/versioned_docs/version-27.0/Puppeteer.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ Here's an example of the GlobalSetup script
5555

5656
```js
5757
// setup.js
58-
const {writeFile} = require('fs').promises;
58+
const {mkdir, writeFile} = require('fs').promises;
5959
const os = require('os');
6060
const path = require('path');
61-
const mkdirp = require('mkdirp');
6261
const puppeteer = require('puppeteer');
6362

6463
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
@@ -70,7 +69,7 @@ module.exports = async function () {
7069
global.__BROWSER_GLOBAL__ = browser;
7170

7271
// use the file system to expose the wsEndpoint for TestEnvironments
73-
mkdirp.sync(DIR);
72+
await mkdir(DIR, {recursive: true});
7473
await writeFile(path.join(DIR, 'wsEndpoint'), browser.wsEndpoint());
7574
};
7675
```
@@ -122,17 +121,17 @@ Finally, we can close the puppeteer instance and clean-up the file
122121

123122
```js
124123
// teardown.js
124+
const fs = require('fs').promises;
125125
const os = require('os');
126126
const path = require('path');
127-
const rimraf = require('rimraf');
128127

129128
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
130129
module.exports = async function () {
131130
// close the browser instance
132131
await global.__BROWSER_GLOBAL__.close();
133132

134133
// clean-up the wsEndpoint file
135-
rimraf.sync(DIR);
134+
await fs.rm(DIR, {recursive: true, force: true});
136135
};
137136
```
138137

0 commit comments

Comments
 (0)