diff --git a/packages/jest-leak-detector/build/index.d.ts b/packages/jest-leak-detector/build/index.d.ts deleted file mode 100644 index 4b47aa700ca7..000000000000 --- a/packages/jest-leak-detector/build/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -export default class { - _isReferenceBeingHeld: boolean; - constructor(value: any); - isLeaking(): boolean; - _runGarbageCollector(): void; - _isPrimitive(value: any): boolean; -} -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/jest-leak-detector/build/index.d.ts.map b/packages/jest-leak-detector/build/index.d.ts.map deleted file mode 100644 index 83e37cde6d10..000000000000 --- a/packages/jest-leak-detector/build/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,CAAC,OAAO;IACZ,qBAAqB,EAAE,OAAO,CAAC;gBAEnB,KAAK,EAAE,GAAG;IAiCtB,SAAS,IAAI,OAAO;IAMpB,oBAAoB;IAapB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;CAGlC"} \ No newline at end of file diff --git a/packages/jest-leak-detector/build/index.js b/packages/jest-leak-detector/build/index.js deleted file mode 100644 index 72c2184fb576..000000000000 --- a/packages/jest-leak-detector/build/index.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -'use strict'; - -Object.defineProperty(exports, '__esModule', { - value: true -}); -exports.default = void 0; - -function _prettyFormat() { - const data = _interopRequireDefault(require('pretty-format')); - - _prettyFormat = function _prettyFormat() { - return data; - }; - - return data; -} - -function _v() { - const data = _interopRequireDefault(require('v8')); - - _v = function _v() { - return data; - }; - - return data; -} - -function _vm() { - const data = _interopRequireDefault(require('vm')); - - _vm = function _vm() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : {default: obj}; -} - -class _default { - constructor(value) { - if (this._isPrimitive(value)) { - throw new TypeError( - [ - 'Primitives cannot leak memory.', - 'You passed a ' + - typeof value + - ': <' + - (0, _prettyFormat().default)(value) + - '>' - ].join(' ') - ); - } - - let weak; - - try { - // eslint-disable-next-line import/no-extraneous-dependencies - weak = require('weak'); - } catch (err) { - if (!err || err.code !== 'MODULE_NOT_FOUND') { - throw err; - } - - throw new Error( - 'The leaking detection mechanism requires the "weak" package to be installed and work. ' + - 'Please install it as a dependency on your main project' - ); - } - - weak(value, () => (this._isReferenceBeingHeld = false)); - this._isReferenceBeingHeld = true; // Ensure value is not leaked by the closure created by the "weak" callback. - - value = null; - } - - isLeaking() { - this._runGarbageCollector(); - - return this._isReferenceBeingHeld; - } - - _runGarbageCollector() { - const isGarbageCollectorHidden = !global.gc; // GC is usually hidden, so we have to expose it before running. - - _v().default.setFlagsFromString('--expose-gc'); - - _vm().default.runInNewContext('gc')(); // The GC was not initially exposed, so let's hide it again. - - if (isGarbageCollectorHidden) { - _v().default.setFlagsFromString('--no-expose-gc'); - } - } - - _isPrimitive(value) { - return value !== Object(value); - } -} - -exports.default = _default; diff --git a/packages/jest-leak-detector/src/__tests__/__snapshots__/index.test.ts.snap b/packages/jest-leak-detector/src/__tests__/__snapshots__/index.test.ts.snap new file mode 100644 index 000000000000..ac60d2bb2d8c --- /dev/null +++ b/packages/jest-leak-detector/src/__tests__/__snapshots__/index.test.ts.snap @@ -0,0 +1,17 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`complains if the value is a primitive 1`] = `"Primitives cannot leak memory. You passed a undefined: "`; + +exports[`complains if the value is a primitive 2`] = `"Primitives cannot leak memory. You passed a object: "`; + +exports[`complains if the value is a primitive 3`] = `"Primitives cannot leak memory. You passed a boolean: "`; + +exports[`complains if the value is a primitive 4`] = `"Primitives cannot leak memory. You passed a number: <42>"`; + +exports[`complains if the value is a primitive 5`] = `"Primitives cannot leak memory. You passed a string: <\\"foo\\">"`; + +exports[`complains if the value is a primitive 6`] = `"Primitives cannot leak memory. You passed a symbol: "`; + +exports[`complains if the value is a primitive 7`] = `"Primitives cannot leak memory. You passed a symbol: "`; + +exports[`complains if the value is a primitive 8`] = `"Primitives cannot leak memory. You passed a number: "`;