From b2c8a69e67fa84cce99f96fec1c9ebadb81ed90c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pierzcha=C5=82a?= Date: Mon, 9 Dec 2019 18:00:18 +0100 Subject: [PATCH] chore: remove Node 8 references and some dead code (#9284) * chore: remove Node 8 references and some dead code * import async hooks normally * bump node to 8.3 because V8 6.0 with Turbofan and better perf * update comments in pretty-format --- docs/CLI.md | 2 +- jest.config.ci.js | 6 +- package.json | 2 +- packages/babel-jest/package.json | 2 +- packages/babel-plugin-jest-hoist/package.json | 2 +- packages/babel-preset-jest/package.json | 2 +- packages/diff-sequences/package.json | 2 +- packages/eslint-config-fb-strict/package.json | 2 +- packages/expect/package.json | 2 +- packages/jest-changed-files/package.json | 2 +- packages/jest-circus/package.json | 2 +- packages/jest-cli/package.json | 2 +- packages/jest-config/package.json | 2 +- packages/jest-console/package.json | 2 +- packages/jest-core/package.json | 2 +- packages/jest-core/src/collectHandles.ts | 84 ++++++++----------- packages/jest-diff/package.json | 2 +- packages/jest-docblock/package.json | 2 +- packages/jest-each/package.json | 2 +- packages/jest-environment-jsdom/package.json | 2 +- packages/jest-environment-node/package.json | 2 +- packages/jest-environment/package.json | 2 +- packages/jest-fake-timers/package.json | 2 +- packages/jest-get-type/package.json | 2 +- packages/jest-haste-map/package.json | 2 +- packages/jest-jasmine2/package.json | 2 +- packages/jest-leak-detector/package.json | 2 +- packages/jest-matcher-utils/package.json | 2 +- packages/jest-message-util/package.json | 2 +- packages/jest-mock/package.json | 2 +- packages/jest-phabricator/package.json | 2 +- packages/jest-regex-util/package.json | 2 +- packages/jest-repl/package.json | 2 +- packages/jest-reporters/package.json | 2 +- .../jest-resolve-dependencies/package.json | 2 +- packages/jest-resolve/package.json | 2 +- packages/jest-runner/package.json | 2 +- packages/jest-runtime/package.json | 2 +- packages/jest-serializer/package.json | 2 +- packages/jest-snapshot/package.json | 2 +- packages/jest-source-map/package.json | 2 +- packages/jest-test-result/package.json | 2 +- packages/jest-test-sequencer/package.json | 2 +- packages/jest-transform/package.json | 2 +- packages/jest-transform/src/types.ts | 6 +- packages/jest-types/package.json | 2 +- packages/jest-util/package.json | 2 +- packages/jest-validate/package.json | 2 +- packages/jest-watcher/package.json | 2 +- packages/jest-worker/package.json | 2 +- packages/jest/package.json | 2 +- packages/pretty-format/package.json | 2 +- .../src/__tests__/prettyFormat.test.ts | 4 +- 53 files changed, 89 insertions(+), 109 deletions(-) diff --git a/docs/CLI.md b/docs/CLI.md index de9bee433d67..e542f5664c98 100644 --- a/docs/CLI.md +++ b/docs/CLI.md @@ -158,7 +158,7 @@ Print debugging info about your Jest config. ### `--detectOpenHandles` -Attempt to collect and print open handles preventing Jest from exiting cleanly. Use this in cases where you need to use `--forceExit` in order for Jest to exit to potentially track down the reason. This implies `--runInBand`, making tests run serially. Implemented using [`async_hooks`](https://nodejs.org/api/async_hooks.html), so it only works in Node 8 and newer. This option has a significant performance penalty and should only be used for debugging. +Attempt to collect and print open handles preventing Jest from exiting cleanly. Use this in cases where you need to use `--forceExit` in order for Jest to exit to potentially track down the reason. This implies `--runInBand`, making tests run serially. Implemented using [`async_hooks`](https://nodejs.org/api/async_hooks.html). This option has a significant performance penalty and should only be used for debugging. ### `--env=` diff --git a/jest.config.ci.js b/jest.config.ci.js index fc77f4355f80..0fa9e60fdd7d 100644 --- a/jest.config.ci.js +++ b/jest.config.ci.js @@ -7,8 +7,8 @@ 'use strict'; -// Object spread is just node 8 -module.exports = Object.assign({}, require('./jest.config'), { +module.exports = { + ...require('./jest.config'), coverageReporters: ['json'], reporters: [ [ @@ -17,4 +17,4 @@ module.exports = Object.assign({}, require('./jest.config'), { ], ['jest-silent-reporter', {useDots: true}], ], -}); +}; diff --git a/package.json b/package.json index b3fae3325970..28fac45e5809 100644 --- a/package.json +++ b/package.json @@ -144,6 +144,6 @@ "logo": "https://opencollective.com/jest/logo.txt" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" } } diff --git a/packages/babel-jest/package.json b/packages/babel-jest/package.json index cd5236191df2..5d49f7d1134c 100644 --- a/packages/babel-jest/package.json +++ b/packages/babel-jest/package.json @@ -26,7 +26,7 @@ "@babel/core": "^7.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/babel-plugin-jest-hoist/package.json b/packages/babel-plugin-jest-hoist/package.json index a8f2fd0766ef..17b8f7fcf163 100644 --- a/packages/babel-plugin-jest-hoist/package.json +++ b/packages/babel-plugin-jest-hoist/package.json @@ -7,7 +7,7 @@ "directory": "packages/babel-plugin-jest-hoist" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/babel-preset-jest/package.json b/packages/babel-preset-jest/package.json index 797cc217f86b..c9ac6e778215 100644 --- a/packages/babel-preset-jest/package.json +++ b/packages/babel-preset-jest/package.json @@ -17,7 +17,7 @@ "@babel/core": "^7.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/diff-sequences/package.json b/packages/diff-sequences/package.json index 1cd21022728e..3a4b97bcbece 100644 --- a/packages/diff-sequences/package.json +++ b/packages/diff-sequences/package.json @@ -16,7 +16,7 @@ "diff" ], "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "main": "build/index.js", "types": "build/index.d.ts", diff --git a/packages/eslint-config-fb-strict/package.json b/packages/eslint-config-fb-strict/package.json index 6cbc7f29672c..7acc68ab5d2c 100644 --- a/packages/eslint-config-fb-strict/package.json +++ b/packages/eslint-config-fb-strict/package.json @@ -20,7 +20,7 @@ "eslint-plugin-react": "^7.1.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/expect/package.json b/packages/expect/package.json index 541b127d7366..525eb8920995 100644 --- a/packages/expect/package.json +++ b/packages/expect/package.json @@ -22,7 +22,7 @@ "immutable": "^4.0.0-rc.12" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-changed-files/package.json b/packages/jest-changed-files/package.json index 8d60deb2274d..3b88bea1b0d0 100644 --- a/packages/jest-changed-files/package.json +++ b/packages/jest-changed-files/package.json @@ -15,7 +15,7 @@ "throat": "^5.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-circus/package.json b/packages/jest-circus/package.json index 88039ea6a6b4..e0b1ba2bebfc 100644 --- a/packages/jest-circus/package.json +++ b/packages/jest-circus/package.json @@ -36,7 +36,7 @@ "jest-runtime": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-cli/package.json b/packages/jest-cli/package.json index b3cbce7a0137..5cb65cf2b64b 100644 --- a/packages/jest-cli/package.json +++ b/packages/jest-cli/package.json @@ -29,7 +29,7 @@ "jest": "./bin/jest.js" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "repository": { "type": "git", diff --git a/packages/jest-config/package.json b/packages/jest-config/package.json index aaff4de29cf2..cc43d91ad315 100644 --- a/packages/jest-config/package.json +++ b/packages/jest-config/package.json @@ -34,7 +34,7 @@ "@types/micromatch": "^3.1.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json index 53b673c148ff..dbda4434698b 100644 --- a/packages/jest-console/package.json +++ b/packages/jest-console/package.json @@ -16,7 +16,7 @@ "slash": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-core/package.json b/packages/jest-core/package.json index fe5bf77695b5..b6587b0794ca 100644 --- a/packages/jest-core/package.json +++ b/packages/jest-core/package.json @@ -42,7 +42,7 @@ "@types/rimraf": "^2.0.2" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "repository": { "type": "git", diff --git a/packages/jest-core/src/collectHandles.ts b/packages/jest-core/src/collectHandles.ts index 1d05dc07c6f3..1e4eba2e16cb 100644 --- a/packages/jest-core/src/collectHandles.ts +++ b/packages/jest-core/src/collectHandles.ts @@ -5,13 +5,12 @@ * LICENSE file in the root directory of this source tree. */ +import * as asyncHooks from 'async_hooks'; import {Config} from '@jest/types'; import {formatExecError} from 'jest-message-util'; import {ErrorWithStack} from 'jest-util'; import stripAnsi = require('strip-ansi'); -type AsyncHook = import('async_hooks').AsyncHook; - function stackIsFromUser(stack: string) { // Either the test file, or something required by it if (stack.includes('Runtime.requireModule')) { @@ -43,58 +42,43 @@ export default function collectHandles(): () => Array { number, {error: Error; isActive: () => boolean} > = new Map(); - - let hook: AsyncHook; - - try { - const asyncHooks: typeof import('async_hooks') = require('async_hooks'); - hook = asyncHooks.createHook({ - destroy(asyncId) { - activeHandles.delete(asyncId); - }, - init: function initHook( - asyncId, - type, - _triggerAsyncId, - resource: {} | NodeJS.Timeout, - ) { - if (type === 'PROMISE' || type === 'TIMERWRAP') { - return; - } - const error = new ErrorWithStack(type, initHook); - - if (stackIsFromUser(error.stack || '')) { - let isActive: () => boolean; - - if (type === 'Timeout' || type === 'Immediate') { - if ('hasRef' in resource) { - // Timer that supports hasRef (Node v11+) - isActive = resource.hasRef.bind(resource); - } else { - // Timer that doesn't support hasRef - isActive = alwaysActive; - } + const hook = asyncHooks.createHook({ + destroy(asyncId) { + activeHandles.delete(asyncId); + }, + init: function initHook( + asyncId, + type, + _triggerAsyncId, + resource: {} | NodeJS.Timeout, + ) { + if (type === 'PROMISE' || type === 'TIMERWRAP') { + return; + } + const error = new ErrorWithStack(type, initHook); + + if (stackIsFromUser(error.stack || '')) { + let isActive: () => boolean; + + if (type === 'Timeout' || type === 'Immediate') { + if ('hasRef' in resource) { + // Timer that supports hasRef (Node v11+) + isActive = resource.hasRef.bind(resource); } else { - // Any other async resource + // Timer that doesn't support hasRef isActive = alwaysActive; } - - activeHandles.set(asyncId, {error, isActive}); + } else { + // Any other async resource + isActive = alwaysActive; } - }, - }); - - hook.enable(); - } catch (e) { - const nodeMajor = Number(process.versions.node.split('.')[0]); - if (e.code === 'MODULE_NOT_FOUND' && nodeMajor < 8) { - throw new Error( - 'You can only use --detectOpenHandles on Node 8 and newer.', - ); - } else { - throw e; - } - } + + activeHandles.set(asyncId, {error, isActive}); + } + }, + }); + + hook.enable(); return () => { hook.disable(); diff --git a/packages/jest-diff/package.json b/packages/jest-diff/package.json index 6e5163e348d8..453c13070fe4 100644 --- a/packages/jest-diff/package.json +++ b/packages/jest-diff/package.json @@ -19,7 +19,7 @@ "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-docblock/package.json b/packages/jest-docblock/package.json index 47e6091b3450..297d3e7903bc 100644 --- a/packages/jest-docblock/package.json +++ b/packages/jest-docblock/package.json @@ -12,7 +12,7 @@ "detect-newline": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-each/package.json b/packages/jest-each/package.json index f6c675cdd7e7..aa881dff73a8 100644 --- a/packages/jest-each/package.json +++ b/packages/jest-each/package.json @@ -25,7 +25,7 @@ "pretty-format": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-environment-jsdom/package.json b/packages/jest-environment-jsdom/package.json index 632499df02c3..63adc05ce735 100644 --- a/packages/jest-environment-jsdom/package.json +++ b/packages/jest-environment-jsdom/package.json @@ -21,7 +21,7 @@ "@types/jsdom": "^12.2.4" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-environment-node/package.json b/packages/jest-environment-node/package.json index e5a1799c97a3..a25f687a566e 100644 --- a/packages/jest-environment-node/package.json +++ b/packages/jest-environment-node/package.json @@ -17,7 +17,7 @@ "jest-util": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-environment/package.json b/packages/jest-environment/package.json index 290eacd140fe..8ec71969c536 100644 --- a/packages/jest-environment/package.json +++ b/packages/jest-environment/package.json @@ -15,7 +15,7 @@ "jest-mock": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-fake-timers/package.json b/packages/jest-fake-timers/package.json index 77d873f59a11..e6aea91a5b1b 100644 --- a/packages/jest-fake-timers/package.json +++ b/packages/jest-fake-timers/package.json @@ -20,7 +20,7 @@ "@types/lolex": "^5.1.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-get-type/package.json b/packages/jest-get-type/package.json index ca35327b3584..0014395af2bc 100644 --- a/packages/jest-get-type/package.json +++ b/packages/jest-get-type/package.json @@ -8,7 +8,7 @@ "directory": "packages/jest-get-type" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-haste-map/package.json b/packages/jest-haste-map/package.json index cd5bbb8ecd15..5e8efe1a66f1 100644 --- a/packages/jest-haste-map/package.json +++ b/packages/jest-haste-map/package.json @@ -32,7 +32,7 @@ "fsevents": "^2.1.2" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-jasmine2/package.json b/packages/jest-jasmine2/package.json index 2dfd200ccd97..dd482de616cf 100644 --- a/packages/jest-jasmine2/package.json +++ b/packages/jest-jasmine2/package.json @@ -32,7 +32,7 @@ "@types/babel__traverse": "^7.0.4" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-leak-detector/package.json b/packages/jest-leak-detector/package.json index 70770c44c90d..d161abf4a40a 100644 --- a/packages/jest-leak-detector/package.json +++ b/packages/jest-leak-detector/package.json @@ -18,7 +18,7 @@ "weak-napi": "^1.0.3" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-matcher-utils/package.json b/packages/jest-matcher-utils/package.json index 1c3746f07f12..a147f758b49f 100644 --- a/packages/jest-matcher-utils/package.json +++ b/packages/jest-matcher-utils/package.json @@ -8,7 +8,7 @@ "directory": "packages/jest-matcher-utils" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-message-util/package.json b/packages/jest-message-util/package.json index dccdc3cf3e8e..0fe29155f784 100644 --- a/packages/jest-message-util/package.json +++ b/packages/jest-message-util/package.json @@ -7,7 +7,7 @@ "directory": "packages/jest-message-util" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-mock/package.json b/packages/jest-mock/package.json index a37f7f5cd1ed..c5178bb70ff2 100644 --- a/packages/jest-mock/package.json +++ b/packages/jest-mock/package.json @@ -7,7 +7,7 @@ "directory": "packages/jest-mock" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "dependencies": { "@jest/types": "^24.9.0" diff --git a/packages/jest-phabricator/package.json b/packages/jest-phabricator/package.json index c0bfc8edc0b1..b1aa2dbadc2b 100644 --- a/packages/jest-phabricator/package.json +++ b/packages/jest-phabricator/package.json @@ -11,7 +11,7 @@ "@jest/test-result": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-regex-util/package.json b/packages/jest-regex-util/package.json index e60229a5715f..17c47e22afff 100644 --- a/packages/jest-regex-util/package.json +++ b/packages/jest-regex-util/package.json @@ -7,7 +7,7 @@ "directory": "packages/jest-regex-util" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-repl/package.json b/packages/jest-repl/package.json index 3809347b72f3..dacd07498479 100644 --- a/packages/jest-repl/package.json +++ b/packages/jest-repl/package.json @@ -25,7 +25,7 @@ "jest-repl": "./bin/jest-repl.js" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-reporters/package.json b/packages/jest-reporters/package.json index 4e24c60050af..23f33de5cd63 100644 --- a/packages/jest-reporters/package.json +++ b/packages/jest-reporters/package.json @@ -43,7 +43,7 @@ "node-notifier": "^6.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "repository": { "type": "git", diff --git a/packages/jest-resolve-dependencies/package.json b/packages/jest-resolve-dependencies/package.json index 0fbc13f87c6c..945c35d72df1 100644 --- a/packages/jest-resolve-dependencies/package.json +++ b/packages/jest-resolve-dependencies/package.json @@ -20,7 +20,7 @@ "jest-runtime": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-resolve/package.json b/packages/jest-resolve/package.json index 7a856435d124..a80cecf573dd 100644 --- a/packages/jest-resolve/package.json +++ b/packages/jest-resolve/package.json @@ -21,7 +21,7 @@ "jest-haste-map": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-runner/package.json b/packages/jest-runner/package.json index 289133731ba4..71087290b8fa 100644 --- a/packages/jest-runner/package.json +++ b/packages/jest-runner/package.json @@ -36,7 +36,7 @@ "@types/source-map-support": "^0.5.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-runtime/package.json b/packages/jest-runtime/package.json index 1915713a8dbf..59d7a17d5f8b 100644 --- a/packages/jest-runtime/package.json +++ b/packages/jest-runtime/package.json @@ -44,7 +44,7 @@ "jest-runtime": "./bin/jest-runtime.js" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-serializer/package.json b/packages/jest-serializer/package.json index bd1018400295..aedce44d89ba 100644 --- a/packages/jest-serializer/package.json +++ b/packages/jest-serializer/package.json @@ -7,7 +7,7 @@ "directory": "packages/jest-serializer" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-snapshot/package.json b/packages/jest-snapshot/package.json index 860aea2e7b0f..6a5a8f65d1ce 100644 --- a/packages/jest-snapshot/package.json +++ b/packages/jest-snapshot/package.json @@ -34,7 +34,7 @@ "prettier": "^1.13.4" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-source-map/package.json b/packages/jest-source-map/package.json index 6ea53e5d50f6..31dddc81dc84 100644 --- a/packages/jest-source-map/package.json +++ b/packages/jest-source-map/package.json @@ -18,7 +18,7 @@ "@types/graceful-fs": "^4.1.2" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-test-result/package.json b/packages/jest-test-result/package.json index cf0b720e565c..edfa87dccd65 100644 --- a/packages/jest-test-result/package.json +++ b/packages/jest-test-result/package.json @@ -15,7 +15,7 @@ "@types/istanbul-lib-coverage": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-test-sequencer/package.json b/packages/jest-test-sequencer/package.json index 3e7c445a722e..de7505142a99 100644 --- a/packages/jest-test-sequencer/package.json +++ b/packages/jest-test-sequencer/package.json @@ -16,7 +16,7 @@ "jest-runtime": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-transform/package.json b/packages/jest-transform/package.json index 15bf58cd045f..6a65fce1cb62 100644 --- a/packages/jest-transform/package.json +++ b/packages/jest-transform/package.json @@ -36,7 +36,7 @@ "dedent": "^0.7.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-transform/src/types.ts b/packages/jest-transform/src/types.ts index 064ebf380cb9..7274d71d2162 100644 --- a/packages/jest-transform/src/types.ts +++ b/packages/jest-transform/src/types.ts @@ -19,11 +19,7 @@ export type Options = ShouldInstrumentOptions & isInternalModule: boolean; }>; -// https://stackoverflow.com/a/48216010/1850276 -type Omit = Pick>; - -// This is fixed in a newer version, but that depends on Node 8 which is a -// breaking change (engine warning when installing) +// This is fixed in source-map@0.7.x, but we can't upgrade yet since it's async interface FixedRawSourceMap extends Omit { version: number; } diff --git a/packages/jest-types/package.json b/packages/jest-types/package.json index fae461172159..64fbde0a2d5c 100644 --- a/packages/jest-types/package.json +++ b/packages/jest-types/package.json @@ -7,7 +7,7 @@ "directory": "packages/jest-types" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "license": "MIT", "main": "build/index.js", diff --git a/packages/jest-util/package.json b/packages/jest-util/package.json index 4dff39900f15..464850541fdc 100644 --- a/packages/jest-util/package.json +++ b/packages/jest-util/package.json @@ -21,7 +21,7 @@ "@types/mkdirp": "^0.5.2" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-validate/package.json b/packages/jest-validate/package.json index 4d2fcae115fb..29d692bd9183 100644 --- a/packages/jest-validate/package.json +++ b/packages/jest-validate/package.json @@ -18,7 +18,7 @@ "pretty-format": "^24.9.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest-watcher/package.json b/packages/jest-watcher/package.json index d77aa31967f9..a97f78489cac 100644 --- a/packages/jest-watcher/package.json +++ b/packages/jest-watcher/package.json @@ -20,7 +20,7 @@ "url": "https://github.com/facebook/jest/issues" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "homepage": "https://jestjs.io/", "license": "MIT", diff --git a/packages/jest-worker/package.json b/packages/jest-worker/package.json index 5ae65b7994c8..3b9bd0cd3dfa 100644 --- a/packages/jest-worker/package.json +++ b/packages/jest-worker/package.json @@ -20,7 +20,7 @@ "worker-farm": "^1.6.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/jest/package.json b/packages/jest/package.json index f094070eaccf..5f4b115751c3 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -13,7 +13,7 @@ "jest": "./bin/jest.js" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "repository": { "type": "git", diff --git a/packages/pretty-format/package.json b/packages/pretty-format/package.json index cff962fffda4..2e6be17cfa5f 100644 --- a/packages/pretty-format/package.json +++ b/packages/pretty-format/package.json @@ -28,7 +28,7 @@ "react-test-renderer": "*" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" }, "publishConfig": { "access": "public" diff --git a/packages/pretty-format/src/__tests__/prettyFormat.test.ts b/packages/pretty-format/src/__tests__/prettyFormat.test.ts index fe58c9d838a1..ddd99fc0ec7b 100644 --- a/packages/pretty-format/src/__tests__/prettyFormat.test.ts +++ b/packages/pretty-format/src/__tests__/prettyFormat.test.ts @@ -85,7 +85,7 @@ describe('prettyFormat()', () => { /* eslint-disable no-new-func */ const val = new Function(); /* eslint-enable no-new-func */ - // In Node 8.1.4: val.name === 'anonymous' + // In Node >=8.1.4: val.name === 'anonymous' expect(prettyFormat(val)).toEqual('[Function anonymous]'); }); @@ -95,7 +95,7 @@ describe('prettyFormat()', () => { val = cb; } f(() => {}); - // In Node 8.1.4: val.name === '' + // In Node >=8.1.4: val.name === '' expect(prettyFormat(val)).toEqual('[Function anonymous]'); });