kulshekhar / ts-jest

A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript.
https://kulshekhar.github.io/ts-jest
MIT License
6.91k stars 452 forks source link

Module caching memory leak #1967

Open willsoto opened 3 years ago

willsoto commented 3 years ago

🐛 Bug Report

ts-jest seems to cache compiled modules over and over again, creating a memory leak. There is a basline suite of tests using just jest on main

To Reproduce

Steps to reproduce the behavior:

  1. git clone git@github.com:willsoto/jest-repro.git (note the branch is ts-jest-memory-leak)
  2. npm ci
  3. Run any of the test scripts to see memory usage increasing in a way that is indicative of a memory leak. You can run npm run test:force-gc to see memory usage when a garbage collection is forced.

Expected behavior

Modules should be cached once for the duration of the test run or allowed to be garbage collected after the test suite has completed.

Link to repo (highly encouraged)

https://github.com/willsoto/jest-repro/tree/ts-jest-memory-leak

Debug log:

This is the log from the full run, no forced garbage collection: npm test.

❯ TS_JEST_LOG=ts-jest.log npm run test

> jest-repro@0.1.0 test jest-repro
> jest --no-cache --runInBand --logHeapUsage ./test

 PASS  test/with-nest/test10.spec.ts (79 MB heap size)
 PASS  test/with-nest/test11.spec.ts (97 MB heap size)
 PASS  test/with-nest/test12.spec.ts (125 MB heap size)
 PASS  test/with-nest/test1.spec.ts (150 MB heap size)
 PASS  test/with-nest/test2.spec.ts (176 MB heap size)
 PASS  test/with-nest/test3.spec.ts (94 MB heap size)
 PASS  test/with-nest/test4.spec.ts (120 MB heap size)
 PASS  test/with-nest/test7.spec.ts (145 MB heap size)
 PASS  test/with-nest/test5.spec.ts (170 MB heap size)
 PASS  test/with-nest/test6.spec.ts (195 MB heap size)
 PASS  test/with-nest/test8.spec.ts (220 MB heap size)
 PASS  test/with-nest/test9.spec.ts (245 MB heap size)
 PASS  test/force-gc/test12.spec.ts (256 MB heap size)
 PASS  test/force-gc/test10.spec.ts (277 MB heap size)
 PASS  test/force-gc/test11.spec.ts (288 MB heap size)
 PASS  test/force-gc/test7.spec.ts (297 MB heap size)
 PASS  test/force-gc/test4.spec.ts (306 MB heap size)
 PASS  test/force-gc/test6.spec.ts (328 MB heap size)
 PASS  test/force-gc/test1.spec.ts (338 MB heap size)
 PASS  test/force-gc/test5.spec.ts (347 MB heap size)
 PASS  test/force-gc/test9.spec.ts (356 MB heap size)
 PASS  test/force-gc/test8.spec.ts (178 MB heap size)
 PASS  test/force-gc/test3.spec.ts (188 MB heap size)
 PASS  test/force-gc/test2.spec.ts (210 MB heap size)
 PASS  test/without-nest/test10.spec.ts (219 MB heap size)
 PASS  test/without-nest/test11.spec.ts (228 MB heap size)
 PASS  test/without-nest/test12.spec.ts (250 MB heap size)
 PASS  test/without-nest/test1.spec.ts (259 MB heap size)
 PASS  test/without-nest/test2.spec.ts (268 MB heap size)
 PASS  test/without-nest/test3.spec.ts (277 MB heap size)
 PASS  test/without-nest/test4.spec.ts (299 MB heap size)
 PASS  test/without-nest/test7.spec.ts (308 MB heap size)
 PASS  test/without-nest/test5.spec.ts (317 MB heap size)
 PASS  test/without-nest/test6.spec.ts (338 MB heap size)
 PASS  test/without-nest/test8.spec.ts (348 MB heap size)
 PASS  test/without-nest/test9.spec.ts (357 MB heap size)

Test Suites: 36 passed, 36 total
Tests:       3600 passed, 3600 total
Snapshots:   0 total
Time:        10.716 s
Ran all test suites matching /.\/test/i.
ts-jest.log ``` {"context":{"allowJs":false,"logLevel":20,"namespace":"jest-preset","package":"ts-jest","version":"26.3.0"},"message":"creating jest presets not handling JavaScript files","sequence":1,"time":"2020-09-18T17:00:10.883Z"} {"context":{"logLevel":20,"namespace":"Importer","package":"ts-jest","version":"26.3.0"},"message":"creating Importer singleton","sequence":2,"time":"2020-09-18T17:00:12.088Z"} {"context":{"allowJs":false,"logLevel":20,"namespace":"jest-preset","package":"ts-jest","version":"26.3.0"},"message":"creating jest presets not handling JavaScript files","sequence":3,"time":"2020-09-18T17:00:12.092Z"} {"context":{"actualVersion":"26.4.2","expectedVersion":">=26 <27","logLevel":20,"namespace":"versions","package":"ts-jest","version":"26.3.0"},"message":"checking version of jest: OK","sequence":4,"time":"2020-09-18T17:00:12.095Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"created new transformer","sequence":5,"time":"2020-09-18T17:00:12.095Z"} {"context":{"fileName":"jest-repro/test/with-nest/test10.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":1,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test10.spec.ts","sequence":6,"time":"2020-09-18T17:00:12.096Z"} {"context":{"logLevel":30,"namespace":"jest-transformer","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"no matching config-set found, creating a new one","sequence":7,"time":"2020-09-18T17:00:12.096Z"} {"context":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"logLevel":20,"namespace":"backports","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"backporting config","sequence":8,"time":"2020-09-18T17:00:12.097Z"} {"context":{"jestConfig":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"logLevel":20,"namespace":"config","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"normalized jest config","sequence":9,"time":"2020-09-18T17:00:12.097Z"} {"context":{"fromPath":"tsconfig.spec.json","logLevel":20,"namespace":"config","package":"ts-jest","toPath":"jest-repro/tsconfig.spec.json","transformerId":1,"version":"26.3.0"},"message":"resolved path from tsconfig.spec.json to jest-repro/tsconfig.spec.json","sequence":10,"time":"2020-09-18T17:00:12.097Z"} {"context":{"logLevel":20,"namespace":"config","package":"ts-jest","transformerId":1,"tsJestConfig":{"compiler":"typescript","diagnostics":{"ignoreCodes":[6059,18002,18003],"pathRegex":"a^","pretty":true,"throws":false},"isolatedModules":true,"packageJson":{"kind":"file"},"transformers":{},"tsConfig":{"kind":"file","value":"jest-repro/tsconfig.spec.json"}},"version":"26.3.0"},"message":"normalized ts-jest config","sequence":11,"time":"2020-09-18T17:00:12.098Z"} {"context":{"logLevel":20,"namespace":"config","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"babel is disabled","sequence":12,"time":"2020-09-18T17:00:12.098Z"} {"context":{"logLevel":20,"namespace":"Importer","package":"ts-jest","requireResult":{"exists":true,"given":"typescript","path":"jest-repro/node_modules/typescript/lib/typescript.js"},"version":"26.3.0"},"message":"loaded module typescript","sequence":13,"time":"2020-09-18T17:00:12.099Z"} {"context":{"logLevel":20,"namespace":"Importer","package":"ts-jest","version":"26.3.0"},"message":"patching typescript","sequence":14,"time":"2020-09-18T17:00:12.099Z"} {"context":{"actualVersion":"4.0.2","expectedVersion":">=3.8 <5","logLevel":20,"namespace":"versions","package":"ts-jest","version":"26.3.0"},"message":"checking version of typescript: OK","sequence":15,"time":"2020-09-18T17:00:12.099Z"} {"context":{"logLevel":20,"namespace":"config","package":"ts-jest","transformerId":1,"tsConfigFileName":"jest-repro/tsconfig.spec.json","version":"26.3.0"},"message":"readTsConfig(): reading jest-repro/tsconfig.spec.json","sequence":16,"time":"2020-09-18T17:00:12.099Z"} {"context":{"logLevel":20,"namespace":"config","package":"ts-jest","transformerId":1,"tsconfig":{"compileOnSave":false,"configFileSpecs":{"excludeSpecs":["./dist"],"includeSpecs":[],"validatedExcludeSpecs":["./dist"],"validatedIncludeSpecs":[],"wildcardDirectories":{}},"errors":[{"category":1,"code":18003,"messageText":"No inputs were found in config file 'jest-repro/tsconfig.spec.json'. Specified 'include' paths were '[]' and 'exclude' paths were '[\"./dist\"]'."}],"fileNames":[],"options":{"baseUrl":"jest-repro","configFilePath":"jest-repro/tsconfig.spec.json","declaration":false,"diagnostics":false,"downlevelIteration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSourceMap":false,"inlineSources":true,"isolatedModules":true,"lib":["lib.es2019.d.ts"],"module":1,"moduleResolution":2,"noEmit":false,"noEmitOnError":true,"outDir":"jest-repro/dist","removeComments":false,"resolveJsonModule":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":6,"types":["jest","node"]},"raw":{"compileOnSave":false,"compilerOptions":{"baseUrl":"./","declaration":false,"diagnostics":false,"downlevelIteration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSourceMap":false,"isolatedModules":true,"lib":["ES2019"],"module":"commonjs","moduleResolution":"node","noEmit":true,"noEmitOnError":true,"outDir":"./dist","resolveJsonModule":true,"skipLibCheck":true,"sourceMap":false,"strict":true,"target":"ES2019","types":["jest","node"]},"include":[]},"typeAcquisition":{"enable":false,"exclude":[],"include":[]},"wildcardDirectories":{}},"version":"26.3.0"},"message":"normalized typescript config","sequence":17,"time":"2020-09-18T17:00:12.108Z"} {"context":{"fileName":"jest-repro/test/with-nest/test10.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":1,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test10.spec.ts","sequence":18,"time":"2020-09-18T17:00:12.109Z"} {"context":{"logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"initializeTranspilerInstance(): create typescript compiler","sequence":19,"time":"2020-09-18T17:00:12.109Z"} {"context":{"fileName":"jest-repro/test/with-nest/test10.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":20,"time":"2020-09-18T17:00:12.112Z"} {"context":{"fileName":"jest-repro/test/with-nest/test10.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":21,"time":"2020-09-18T17:00:12.112Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":22,"time":"2020-09-18T17:00:12.151Z"} {"context":{"fileName":"jest-repro/src/app.module.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":1,"version":"26.3.0"},"message":"computing cache key for jest-repro/src/app.module.ts","sequence":23,"time":"2020-09-18T17:00:12.900Z"} {"context":{"fileName":"jest-repro/src/app.module.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":1,"version":"26.3.0"},"message":"processing jest-repro/src/app.module.ts","sequence":24,"time":"2020-09-18T17:00:12.900Z"} {"context":{"fileName":"jest-repro/src/app.module.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":25,"time":"2020-09-18T17:00:12.900Z"} {"context":{"fileName":"jest-repro/src/app.module.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":26,"time":"2020-09-18T17:00:12.900Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":27,"time":"2020-09-18T17:00:12.907Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":2,"version":"26.3.0"},"message":"created new transformer","sequence":28,"time":"2020-09-18T17:00:13.365Z"} {"context":{"fileName":"jest-repro/test/with-nest/test11.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":2,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test11.spec.ts","sequence":29,"time":"2020-09-18T17:00:13.365Z"} {"context":{"fileName":"jest-repro/test/with-nest/test11.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":2,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test11.spec.ts","sequence":30,"time":"2020-09-18T17:00:13.365Z"} {"context":{"fileName":"jest-repro/test/with-nest/test11.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":31,"time":"2020-09-18T17:00:13.365Z"} {"context":{"fileName":"jest-repro/test/with-nest/test11.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":32,"time":"2020-09-18T17:00:13.365Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":33,"time":"2020-09-18T17:00:13.372Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":3,"version":"26.3.0"},"message":"created new transformer","sequence":34,"time":"2020-09-18T17:00:13.794Z"} {"context":{"fileName":"jest-repro/test/with-nest/test12.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":3,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test12.spec.ts","sequence":35,"time":"2020-09-18T17:00:13.794Z"} {"context":{"fileName":"jest-repro/test/with-nest/test12.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":3,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test12.spec.ts","sequence":36,"time":"2020-09-18T17:00:13.794Z"} {"context":{"fileName":"jest-repro/test/with-nest/test12.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":37,"time":"2020-09-18T17:00:13.794Z"} {"context":{"fileName":"jest-repro/test/with-nest/test12.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":38,"time":"2020-09-18T17:00:13.794Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":39,"time":"2020-09-18T17:00:13.801Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":4,"version":"26.3.0"},"message":"created new transformer","sequence":40,"time":"2020-09-18T17:00:14.218Z"} {"context":{"fileName":"jest-repro/test/with-nest/test1.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":4,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test1.spec.ts","sequence":41,"time":"2020-09-18T17:00:14.218Z"} {"context":{"fileName":"jest-repro/test/with-nest/test1.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":4,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test1.spec.ts","sequence":42,"time":"2020-09-18T17:00:14.219Z"} {"context":{"fileName":"jest-repro/test/with-nest/test1.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":43,"time":"2020-09-18T17:00:14.219Z"} {"context":{"fileName":"jest-repro/test/with-nest/test1.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":44,"time":"2020-09-18T17:00:14.219Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":45,"time":"2020-09-18T17:00:14.229Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":5,"version":"26.3.0"},"message":"created new transformer","sequence":46,"time":"2020-09-18T17:00:14.636Z"} {"context":{"fileName":"jest-repro/test/with-nest/test2.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":5,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test2.spec.ts","sequence":47,"time":"2020-09-18T17:00:14.636Z"} {"context":{"fileName":"jest-repro/test/with-nest/test2.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":5,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test2.spec.ts","sequence":48,"time":"2020-09-18T17:00:14.637Z"} {"context":{"fileName":"jest-repro/test/with-nest/test2.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":49,"time":"2020-09-18T17:00:14.637Z"} {"context":{"fileName":"jest-repro/test/with-nest/test2.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":50,"time":"2020-09-18T17:00:14.637Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":51,"time":"2020-09-18T17:00:14.644Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":6,"version":"26.3.0"},"message":"created new transformer","sequence":52,"time":"2020-09-18T17:00:15.059Z"} {"context":{"fileName":"jest-repro/test/with-nest/test3.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":6,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test3.spec.ts","sequence":53,"time":"2020-09-18T17:00:15.059Z"} {"context":{"fileName":"jest-repro/test/with-nest/test3.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":6,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test3.spec.ts","sequence":54,"time":"2020-09-18T17:00:15.059Z"} {"context":{"fileName":"jest-repro/test/with-nest/test3.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":55,"time":"2020-09-18T17:00:15.059Z"} {"context":{"fileName":"jest-repro/test/with-nest/test3.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":56,"time":"2020-09-18T17:00:15.059Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":57,"time":"2020-09-18T17:00:15.066Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":7,"version":"26.3.0"},"message":"created new transformer","sequence":58,"time":"2020-09-18T17:00:15.482Z"} {"context":{"fileName":"jest-repro/test/with-nest/test4.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":7,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test4.spec.ts","sequence":59,"time":"2020-09-18T17:00:15.483Z"} {"context":{"fileName":"jest-repro/test/with-nest/test4.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":7,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test4.spec.ts","sequence":60,"time":"2020-09-18T17:00:15.483Z"} {"context":{"fileName":"jest-repro/test/with-nest/test4.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":61,"time":"2020-09-18T17:00:15.483Z"} {"context":{"fileName":"jest-repro/test/with-nest/test4.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":62,"time":"2020-09-18T17:00:15.483Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":63,"time":"2020-09-18T17:00:15.489Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":8,"version":"26.3.0"},"message":"created new transformer","sequence":64,"time":"2020-09-18T17:00:15.887Z"} {"context":{"fileName":"jest-repro/test/with-nest/test7.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":8,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test7.spec.ts","sequence":65,"time":"2020-09-18T17:00:15.887Z"} {"context":{"fileName":"jest-repro/test/with-nest/test7.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":8,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test7.spec.ts","sequence":66,"time":"2020-09-18T17:00:15.888Z"} {"context":{"fileName":"jest-repro/test/with-nest/test7.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":67,"time":"2020-09-18T17:00:15.888Z"} {"context":{"fileName":"jest-repro/test/with-nest/test7.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":68,"time":"2020-09-18T17:00:15.888Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":69,"time":"2020-09-18T17:00:15.893Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":9,"version":"26.3.0"},"message":"created new transformer","sequence":70,"time":"2020-09-18T17:00:16.279Z"} {"context":{"fileName":"jest-repro/test/with-nest/test5.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":9,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test5.spec.ts","sequence":71,"time":"2020-09-18T17:00:16.280Z"} {"context":{"fileName":"jest-repro/test/with-nest/test5.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":9,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test5.spec.ts","sequence":72,"time":"2020-09-18T17:00:16.280Z"} {"context":{"fileName":"jest-repro/test/with-nest/test5.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":73,"time":"2020-09-18T17:00:16.280Z"} {"context":{"fileName":"jest-repro/test/with-nest/test5.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":74,"time":"2020-09-18T17:00:16.280Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":75,"time":"2020-09-18T17:00:16.287Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":10,"version":"26.3.0"},"message":"created new transformer","sequence":76,"time":"2020-09-18T17:00:16.666Z"} {"context":{"fileName":"jest-repro/test/with-nest/test6.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":10,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test6.spec.ts","sequence":77,"time":"2020-09-18T17:00:16.666Z"} {"context":{"fileName":"jest-repro/test/with-nest/test6.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":10,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test6.spec.ts","sequence":78,"time":"2020-09-18T17:00:16.667Z"} {"context":{"fileName":"jest-repro/test/with-nest/test6.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":79,"time":"2020-09-18T17:00:16.667Z"} {"context":{"fileName":"jest-repro/test/with-nest/test6.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":80,"time":"2020-09-18T17:00:16.667Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":81,"time":"2020-09-18T17:00:16.672Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":11,"version":"26.3.0"},"message":"created new transformer","sequence":82,"time":"2020-09-18T17:00:17.066Z"} {"context":{"fileName":"jest-repro/test/with-nest/test8.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":11,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test8.spec.ts","sequence":83,"time":"2020-09-18T17:00:17.067Z"} {"context":{"fileName":"jest-repro/test/with-nest/test8.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":11,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test8.spec.ts","sequence":84,"time":"2020-09-18T17:00:17.067Z"} {"context":{"fileName":"jest-repro/test/with-nest/test8.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":85,"time":"2020-09-18T17:00:17.067Z"} {"context":{"fileName":"jest-repro/test/with-nest/test8.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":86,"time":"2020-09-18T17:00:17.067Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":87,"time":"2020-09-18T17:00:17.076Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":12,"version":"26.3.0"},"message":"created new transformer","sequence":88,"time":"2020-09-18T17:00:17.464Z"} {"context":{"fileName":"jest-repro/test/with-nest/test9.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":12,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/with-nest/test9.spec.ts","sequence":89,"time":"2020-09-18T17:00:17.464Z"} {"context":{"fileName":"jest-repro/test/with-nest/test9.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":12,"version":"26.3.0"},"message":"processing jest-repro/test/with-nest/test9.spec.ts","sequence":90,"time":"2020-09-18T17:00:17.464Z"} {"context":{"fileName":"jest-repro/test/with-nest/test9.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":91,"time":"2020-09-18T17:00:17.464Z"} {"context":{"fileName":"jest-repro/test/with-nest/test9.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":92,"time":"2020-09-18T17:00:17.464Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":93,"time":"2020-09-18T17:00:17.469Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":13,"version":"26.3.0"},"message":"created new transformer","sequence":94,"time":"2020-09-18T17:00:17.898Z"} {"context":{"fileName":"jest-repro/test/force-gc/test12.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":13,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test12.spec.ts","sequence":95,"time":"2020-09-18T17:00:17.898Z"} {"context":{"fileName":"jest-repro/test/force-gc/test12.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":13,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test12.spec.ts","sequence":96,"time":"2020-09-18T17:00:17.898Z"} {"context":{"fileName":"jest-repro/test/force-gc/test12.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":97,"time":"2020-09-18T17:00:17.898Z"} {"context":{"fileName":"jest-repro/test/force-gc/test12.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":98,"time":"2020-09-18T17:00:17.898Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":99,"time":"2020-09-18T17:00:17.902Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":14,"version":"26.3.0"},"message":"created new transformer","sequence":100,"time":"2020-09-18T17:00:18.100Z"} {"context":{"fileName":"jest-repro/test/force-gc/test10.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":14,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test10.spec.ts","sequence":101,"time":"2020-09-18T17:00:18.100Z"} {"context":{"fileName":"jest-repro/test/force-gc/test10.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":14,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test10.spec.ts","sequence":102,"time":"2020-09-18T17:00:18.100Z"} {"context":{"fileName":"jest-repro/test/force-gc/test10.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":103,"time":"2020-09-18T17:00:18.101Z"} {"context":{"fileName":"jest-repro/test/force-gc/test10.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":104,"time":"2020-09-18T17:00:18.101Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":105,"time":"2020-09-18T17:00:18.103Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":15,"version":"26.3.0"},"message":"created new transformer","sequence":106,"time":"2020-09-18T17:00:18.283Z"} {"context":{"fileName":"jest-repro/test/force-gc/test11.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":15,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test11.spec.ts","sequence":107,"time":"2020-09-18T17:00:18.283Z"} {"context":{"fileName":"jest-repro/test/force-gc/test11.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":15,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test11.spec.ts","sequence":108,"time":"2020-09-18T17:00:18.283Z"} {"context":{"fileName":"jest-repro/test/force-gc/test11.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":109,"time":"2020-09-18T17:00:18.283Z"} {"context":{"fileName":"jest-repro/test/force-gc/test11.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":110,"time":"2020-09-18T17:00:18.283Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":111,"time":"2020-09-18T17:00:18.287Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":16,"version":"26.3.0"},"message":"created new transformer","sequence":112,"time":"2020-09-18T17:00:18.490Z"} {"context":{"fileName":"jest-repro/test/force-gc/test7.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":16,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test7.spec.ts","sequence":113,"time":"2020-09-18T17:00:18.490Z"} {"context":{"fileName":"jest-repro/test/force-gc/test7.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":16,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test7.spec.ts","sequence":114,"time":"2020-09-18T17:00:18.490Z"} {"context":{"fileName":"jest-repro/test/force-gc/test7.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":115,"time":"2020-09-18T17:00:18.490Z"} {"context":{"fileName":"jest-repro/test/force-gc/test7.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":116,"time":"2020-09-18T17:00:18.490Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":117,"time":"2020-09-18T17:00:18.492Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":17,"version":"26.3.0"},"message":"created new transformer","sequence":118,"time":"2020-09-18T17:00:18.672Z"} {"context":{"fileName":"jest-repro/test/force-gc/test4.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":17,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test4.spec.ts","sequence":119,"time":"2020-09-18T17:00:18.672Z"} {"context":{"fileName":"jest-repro/test/force-gc/test4.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":17,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test4.spec.ts","sequence":120,"time":"2020-09-18T17:00:18.672Z"} {"context":{"fileName":"jest-repro/test/force-gc/test4.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":121,"time":"2020-09-18T17:00:18.672Z"} {"context":{"fileName":"jest-repro/test/force-gc/test4.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":122,"time":"2020-09-18T17:00:18.672Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":123,"time":"2020-09-18T17:00:18.674Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":18,"version":"26.3.0"},"message":"created new transformer","sequence":124,"time":"2020-09-18T17:00:18.844Z"} {"context":{"fileName":"jest-repro/test/force-gc/test6.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":18,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test6.spec.ts","sequence":125,"time":"2020-09-18T17:00:18.844Z"} {"context":{"fileName":"jest-repro/test/force-gc/test6.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":18,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test6.spec.ts","sequence":126,"time":"2020-09-18T17:00:18.844Z"} {"context":{"fileName":"jest-repro/test/force-gc/test6.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":127,"time":"2020-09-18T17:00:18.844Z"} {"context":{"fileName":"jest-repro/test/force-gc/test6.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":128,"time":"2020-09-18T17:00:18.844Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":129,"time":"2020-09-18T17:00:18.847Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":19,"version":"26.3.0"},"message":"created new transformer","sequence":130,"time":"2020-09-18T17:00:19.037Z"} {"context":{"fileName":"jest-repro/test/force-gc/test1.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":19,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test1.spec.ts","sequence":131,"time":"2020-09-18T17:00:19.037Z"} {"context":{"fileName":"jest-repro/test/force-gc/test1.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":19,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test1.spec.ts","sequence":132,"time":"2020-09-18T17:00:19.037Z"} {"context":{"fileName":"jest-repro/test/force-gc/test1.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":133,"time":"2020-09-18T17:00:19.038Z"} {"context":{"fileName":"jest-repro/test/force-gc/test1.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":134,"time":"2020-09-18T17:00:19.038Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":135,"time":"2020-09-18T17:00:19.040Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":20,"version":"26.3.0"},"message":"created new transformer","sequence":136,"time":"2020-09-18T17:00:19.217Z"} {"context":{"fileName":"jest-repro/test/force-gc/test5.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":20,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test5.spec.ts","sequence":137,"time":"2020-09-18T17:00:19.218Z"} {"context":{"fileName":"jest-repro/test/force-gc/test5.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":20,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test5.spec.ts","sequence":138,"time":"2020-09-18T17:00:19.218Z"} {"context":{"fileName":"jest-repro/test/force-gc/test5.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":139,"time":"2020-09-18T17:00:19.218Z"} {"context":{"fileName":"jest-repro/test/force-gc/test5.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":140,"time":"2020-09-18T17:00:19.218Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":141,"time":"2020-09-18T17:00:19.220Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":21,"version":"26.3.0"},"message":"created new transformer","sequence":142,"time":"2020-09-18T17:00:19.395Z"} {"context":{"fileName":"jest-repro/test/force-gc/test9.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":21,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test9.spec.ts","sequence":143,"time":"2020-09-18T17:00:19.395Z"} {"context":{"fileName":"jest-repro/test/force-gc/test9.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":21,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test9.spec.ts","sequence":144,"time":"2020-09-18T17:00:19.395Z"} {"context":{"fileName":"jest-repro/test/force-gc/test9.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":145,"time":"2020-09-18T17:00:19.395Z"} {"context":{"fileName":"jest-repro/test/force-gc/test9.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":146,"time":"2020-09-18T17:00:19.395Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":147,"time":"2020-09-18T17:00:19.399Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":22,"version":"26.3.0"},"message":"created new transformer","sequence":148,"time":"2020-09-18T17:00:19.598Z"} {"context":{"fileName":"jest-repro/test/force-gc/test8.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":22,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test8.spec.ts","sequence":149,"time":"2020-09-18T17:00:19.598Z"} {"context":{"fileName":"jest-repro/test/force-gc/test8.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":22,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test8.spec.ts","sequence":150,"time":"2020-09-18T17:00:19.598Z"} {"context":{"fileName":"jest-repro/test/force-gc/test8.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":151,"time":"2020-09-18T17:00:19.598Z"} {"context":{"fileName":"jest-repro/test/force-gc/test8.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":152,"time":"2020-09-18T17:00:19.618Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":153,"time":"2020-09-18T17:00:19.622Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":23,"version":"26.3.0"},"message":"created new transformer","sequence":154,"time":"2020-09-18T17:00:19.810Z"} {"context":{"fileName":"jest-repro/test/force-gc/test3.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":23,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test3.spec.ts","sequence":155,"time":"2020-09-18T17:00:19.810Z"} {"context":{"fileName":"jest-repro/test/force-gc/test3.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":23,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test3.spec.ts","sequence":156,"time":"2020-09-18T17:00:19.810Z"} {"context":{"fileName":"jest-repro/test/force-gc/test3.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":157,"time":"2020-09-18T17:00:19.810Z"} {"context":{"fileName":"jest-repro/test/force-gc/test3.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":158,"time":"2020-09-18T17:00:19.810Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":159,"time":"2020-09-18T17:00:19.813Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":24,"version":"26.3.0"},"message":"created new transformer","sequence":160,"time":"2020-09-18T17:00:19.999Z"} {"context":{"fileName":"jest-repro/test/force-gc/test2.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":24,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/force-gc/test2.spec.ts","sequence":161,"time":"2020-09-18T17:00:19.999Z"} {"context":{"fileName":"jest-repro/test/force-gc/test2.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":24,"version":"26.3.0"},"message":"processing jest-repro/test/force-gc/test2.spec.ts","sequence":162,"time":"2020-09-18T17:00:19.999Z"} {"context":{"fileName":"jest-repro/test/force-gc/test2.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":163,"time":"2020-09-18T17:00:19.999Z"} {"context":{"fileName":"jest-repro/test/force-gc/test2.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":164,"time":"2020-09-18T17:00:19.999Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":165,"time":"2020-09-18T17:00:20.001Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":25,"version":"26.3.0"},"message":"created new transformer","sequence":166,"time":"2020-09-18T17:00:20.183Z"} {"context":{"fileName":"jest-repro/test/without-nest/test10.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":25,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test10.spec.ts","sequence":167,"time":"2020-09-18T17:00:20.183Z"} {"context":{"fileName":"jest-repro/test/without-nest/test10.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":25,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test10.spec.ts","sequence":168,"time":"2020-09-18T17:00:20.184Z"} {"context":{"fileName":"jest-repro/test/without-nest/test10.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":169,"time":"2020-09-18T17:00:20.184Z"} {"context":{"fileName":"jest-repro/test/without-nest/test10.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":170,"time":"2020-09-18T17:00:20.184Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":171,"time":"2020-09-18T17:00:20.186Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":26,"version":"26.3.0"},"message":"created new transformer","sequence":172,"time":"2020-09-18T17:00:20.365Z"} {"context":{"fileName":"jest-repro/test/without-nest/test11.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":26,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test11.spec.ts","sequence":173,"time":"2020-09-18T17:00:20.365Z"} {"context":{"fileName":"jest-repro/test/without-nest/test11.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":26,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test11.spec.ts","sequence":174,"time":"2020-09-18T17:00:20.366Z"} {"context":{"fileName":"jest-repro/test/without-nest/test11.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":175,"time":"2020-09-18T17:00:20.366Z"} {"context":{"fileName":"jest-repro/test/without-nest/test11.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":176,"time":"2020-09-18T17:00:20.366Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":177,"time":"2020-09-18T17:00:20.368Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":27,"version":"26.3.0"},"message":"created new transformer","sequence":178,"time":"2020-09-18T17:00:20.544Z"} {"context":{"fileName":"jest-repro/test/without-nest/test12.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":27,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test12.spec.ts","sequence":179,"time":"2020-09-18T17:00:20.544Z"} {"context":{"fileName":"jest-repro/test/without-nest/test12.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":27,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test12.spec.ts","sequence":180,"time":"2020-09-18T17:00:20.544Z"} {"context":{"fileName":"jest-repro/test/without-nest/test12.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":181,"time":"2020-09-18T17:00:20.544Z"} {"context":{"fileName":"jest-repro/test/without-nest/test12.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":182,"time":"2020-09-18T17:00:20.544Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":183,"time":"2020-09-18T17:00:20.546Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":28,"version":"26.3.0"},"message":"created new transformer","sequence":184,"time":"2020-09-18T17:00:20.721Z"} {"context":{"fileName":"jest-repro/test/without-nest/test1.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":28,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test1.spec.ts","sequence":185,"time":"2020-09-18T17:00:20.721Z"} {"context":{"fileName":"jest-repro/test/without-nest/test1.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":28,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test1.spec.ts","sequence":186,"time":"2020-09-18T17:00:20.721Z"} {"context":{"fileName":"jest-repro/test/without-nest/test1.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":187,"time":"2020-09-18T17:00:20.721Z"} {"context":{"fileName":"jest-repro/test/without-nest/test1.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":188,"time":"2020-09-18T17:00:20.721Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":189,"time":"2020-09-18T17:00:20.724Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":29,"version":"26.3.0"},"message":"created new transformer","sequence":190,"time":"2020-09-18T17:00:20.901Z"} {"context":{"fileName":"jest-repro/test/without-nest/test2.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":29,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test2.spec.ts","sequence":191,"time":"2020-09-18T17:00:20.901Z"} {"context":{"fileName":"jest-repro/test/without-nest/test2.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":29,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test2.spec.ts","sequence":192,"time":"2020-09-18T17:00:20.901Z"} {"context":{"fileName":"jest-repro/test/without-nest/test2.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":193,"time":"2020-09-18T17:00:20.901Z"} {"context":{"fileName":"jest-repro/test/without-nest/test2.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":194,"time":"2020-09-18T17:00:20.901Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":195,"time":"2020-09-18T17:00:20.903Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":30,"version":"26.3.0"},"message":"created new transformer","sequence":196,"time":"2020-09-18T17:00:21.088Z"} {"context":{"fileName":"jest-repro/test/without-nest/test3.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":30,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test3.spec.ts","sequence":197,"time":"2020-09-18T17:00:21.088Z"} {"context":{"fileName":"jest-repro/test/without-nest/test3.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":30,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test3.spec.ts","sequence":198,"time":"2020-09-18T17:00:21.088Z"} {"context":{"fileName":"jest-repro/test/without-nest/test3.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":199,"time":"2020-09-18T17:00:21.088Z"} {"context":{"fileName":"jest-repro/test/without-nest/test3.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":200,"time":"2020-09-18T17:00:21.088Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":201,"time":"2020-09-18T17:00:21.090Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":31,"version":"26.3.0"},"message":"created new transformer","sequence":202,"time":"2020-09-18T17:00:21.264Z"} {"context":{"fileName":"jest-repro/test/without-nest/test4.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":31,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test4.spec.ts","sequence":203,"time":"2020-09-18T17:00:21.265Z"} {"context":{"fileName":"jest-repro/test/without-nest/test4.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":31,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test4.spec.ts","sequence":204,"time":"2020-09-18T17:00:21.265Z"} {"context":{"fileName":"jest-repro/test/without-nest/test4.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":205,"time":"2020-09-18T17:00:21.265Z"} {"context":{"fileName":"jest-repro/test/without-nest/test4.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":206,"time":"2020-09-18T17:00:21.265Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":207,"time":"2020-09-18T17:00:21.267Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":32,"version":"26.3.0"},"message":"created new transformer","sequence":208,"time":"2020-09-18T17:00:21.444Z"} {"context":{"fileName":"jest-repro/test/without-nest/test7.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":32,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test7.spec.ts","sequence":209,"time":"2020-09-18T17:00:21.444Z"} {"context":{"fileName":"jest-repro/test/without-nest/test7.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":32,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test7.spec.ts","sequence":210,"time":"2020-09-18T17:00:21.444Z"} {"context":{"fileName":"jest-repro/test/without-nest/test7.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":211,"time":"2020-09-18T17:00:21.444Z"} {"context":{"fileName":"jest-repro/test/without-nest/test7.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":212,"time":"2020-09-18T17:00:21.444Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":213,"time":"2020-09-18T17:00:21.446Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":33,"version":"26.3.0"},"message":"created new transformer","sequence":214,"time":"2020-09-18T17:00:21.626Z"} {"context":{"fileName":"jest-repro/test/without-nest/test5.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":33,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test5.spec.ts","sequence":215,"time":"2020-09-18T17:00:21.626Z"} {"context":{"fileName":"jest-repro/test/without-nest/test5.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":33,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test5.spec.ts","sequence":216,"time":"2020-09-18T17:00:21.626Z"} {"context":{"fileName":"jest-repro/test/without-nest/test5.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":217,"time":"2020-09-18T17:00:21.626Z"} {"context":{"fileName":"jest-repro/test/without-nest/test5.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":218,"time":"2020-09-18T17:00:21.626Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":219,"time":"2020-09-18T17:00:21.628Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":34,"version":"26.3.0"},"message":"created new transformer","sequence":220,"time":"2020-09-18T17:00:21.798Z"} {"context":{"fileName":"jest-repro/test/without-nest/test6.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":34,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test6.spec.ts","sequence":221,"time":"2020-09-18T17:00:21.798Z"} {"context":{"fileName":"jest-repro/test/without-nest/test6.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":34,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test6.spec.ts","sequence":222,"time":"2020-09-18T17:00:21.798Z"} {"context":{"fileName":"jest-repro/test/without-nest/test6.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":223,"time":"2020-09-18T17:00:21.798Z"} {"context":{"fileName":"jest-repro/test/without-nest/test6.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":224,"time":"2020-09-18T17:00:21.798Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":225,"time":"2020-09-18T17:00:21.800Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":35,"version":"26.3.0"},"message":"created new transformer","sequence":226,"time":"2020-09-18T17:00:21.980Z"} {"context":{"fileName":"jest-repro/test/without-nest/test8.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":35,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test8.spec.ts","sequence":227,"time":"2020-09-18T17:00:21.980Z"} {"context":{"fileName":"jest-repro/test/without-nest/test8.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":35,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test8.spec.ts","sequence":228,"time":"2020-09-18T17:00:21.980Z"} {"context":{"fileName":"jest-repro/test/without-nest/test8.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":229,"time":"2020-09-18T17:00:21.980Z"} {"context":{"fileName":"jest-repro/test/without-nest/test8.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":230,"time":"2020-09-18T17:00:21.980Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":231,"time":"2020-09-18T17:00:21.983Z"} {"context":{"baseOptions":{},"logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformerId":36,"version":"26.3.0"},"message":"created new transformer","sequence":232,"time":"2020-09-18T17:00:22.169Z"} {"context":{"fileName":"jest-repro/test/without-nest/test9.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"config":{"automock":false,"cache":false,"cacheDirectory":"/private/var/folders/09/drmvxcq13z5cb1nf2cywrf5c0000gn/T/jest_dx","clearMocks":false,"coveragePathIgnorePatterns":["/node_modules/"],"cwd":"jest-repro","detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"extraGlobals":[],"forceCoverageMatch":[],"globals":{"ts-jest":{"diagnostics":false,"isolatedModules":true,"tsConfig":"tsconfig.spec.json"}},"haste":{"computeSha1":false,"throwOnModuleCollision":false},"moduleDirectories":["node_modules"],"moduleFileExtensions":["js","json","jsx","ts","tsx","node"],"moduleNameMapper":[],"modulePathIgnorePatterns":[],"name":"5b86305d7ba1483147071521ffe3a76b","prettierPath":"prettier","resetMocks":false,"resetModules":false,"restoreMocks":false,"rootDir":"jest-repro","roots":["jest-repro"],"runner":"jest-runner","setupFiles":[],"setupFilesAfterEnv":[],"skipFilter":false,"slowTestThreshold":5,"snapshotSerializers":[],"testEnvironment":"jest-repro/node_modules/jest-environment-node/build/index.js","testEnvironmentOptions":{},"testLocationInResults":false,"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[tj]s?(x)"],"testPathIgnorePatterns":["/node_modules/"],"testRegex":[],"testRunner":"jest-repro/node_modules/jest-jasmine2/build/index.js","testURL":"http://localhost","timers":"real","transform":[["^.+\\.tsx?$","jest-repro/node_modules/ts-jest/dist/index.js",{}]],"transformIgnorePatterns":["/node_modules/","\\.pnp\\.[^\\/]+$"],"watchPathIgnorePatterns":[]},"instrument":false,"rootDir":"jest-repro","supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":36,"version":"26.3.0"},"message":"computing cache key for jest-repro/test/without-nest/test9.spec.ts","sequence":233,"time":"2020-09-18T17:00:22.169Z"} {"context":{"fileName":"jest-repro/test/without-nest/test9.spec.ts","logLevel":20,"namespace":"jest-transformer","package":"ts-jest","transformOptions":{"instrument":false,"supportsDynamicImport":false,"supportsStaticESM":false},"transformerId":36,"version":"26.3.0"},"message":"processing jest-repro/test/without-nest/test9.spec.ts","sequence":234,"time":"2020-09-18T17:00:22.169Z"} {"context":{"fileName":"jest-repro/test/without-nest/test9.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileAndUpdateOutput(): get compile output","sequence":235,"time":"2020-09-18T17:00:22.169Z"} {"context":{"fileName":"jest-repro/test/without-nest/test9.spec.ts","logLevel":20,"namespace":"ts-compiler","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"compileFn(): compiling as isolated module","sequence":236,"time":"2020-09-18T17:00:22.169Z"} {"context":{"call":null,"logLevel":20,"namespace":"ts-hoisting","package":"ts-jest","transformerId":1,"version":"26.3.0"},"message":"visitSourceFileNode(): hoisting","sequence":237,"time":"2020-09-18T17:00:22.171Z"} ```

envinfo

  System:
    OS: macOS 10.15.6
    CPU: (8) x64 Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
  Binaries:
    Node: 12.18.3 - ~/.volta/tools/image/node/12.18.3/bin/node
    Yarn: 1.22.4 - ~/.volta/tools/image/yarn/1.22.4/bin/yarn
    npm: 6.14.5 - ~/.volta/tools/image/npm/6.14.5/bin/npm
  npmPackages:
    jest: ^26.4.2 => 26.4.2
    ts-jest: ^26.3.0 => 26.3.0
    typescript: ^4.0.2 => 4.0.2

Additional screenshots of the heap

Screen Shot 2020-09-18 at 11 05 50 AM Screen Shot 2020-09-18 at 11 07 46 AM
kirillgroshkov commented 2 years ago

+1 from our side. Spent 2 days already trying to make Jest fit into our memory again.

Running ~300 tests used to take 20 seconds on my machine, now it takes >600 seconds. While running it now swaps as 500Gb/second due to 16Gb of RAM being not enough.

Ethan-G commented 2 years ago

Yet another instance of struggling with this. I can see several compiled JS files leaking and taking up 70% of the heap space, but can't figure out where they're coming from.

Setting isolatedModules seems to improve things a little but it still grows.

safareli commented 2 years ago

I had similar issue, I switched to @swc/jest:

-  preset: "ts-jest",
+  transform: {
+    "^.+\\.(t|j)sx?$": "@swc/jest",
+  },

See results:

ts-jest:

./node_modules/.bin/jest --runInBand --logHeapUsage
 -c ./jest.config.js
 PASS packages/regexes/test/index.spec.ts (5.824 s, 727 MB heap size)
 PASS packages/lib/test/index.spec.ts (1395 MB heap size)
 PASS packages/sensitive/test/index.spec.ts (11.137 s, 2021 MB heap size)
 RUNS packages/decoder/test/draw.spec.ts

<--- Last few GCs --->

[13648:0x150008000]    28711 ms: Mark-sweep (reduce) 2045.3 (2085.2) -> 2044.2 (2085.7) MB, 1246.6 / 0.0 ms  (+ 450.4 ms in 89 steps since start of marking, biggest step 11.4 ms, walltime since start of marking -2193503732 ms) (average mu = 0.282, current[13648:0x150008000]    30599 ms: Mark-sweep (reduce) 2045.4 (2085.7) -> 2043.2 (2085.5) MB, 1886.3 / 0.0 ms  (average mu = 0.154, current mu = 0.001) allocation failure scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

@swc/jest:

$ ./node_modules/.bin/jest --runInBand --logHeapUsage
-c ./jest.config.js
PASS packages/regexes/test/index.spec.ts (55 MB heap size)
PASS packages/lib/test/index.spec.ts (85 MB heap size)
PASS packages/sensitive/test/index.spec.ts (51 MB heap size)
PASS packages/decoder/test/draw.spec.ts (56 MB heap size)
PASS packages/codegen/test/imports.spec.ts (61 MB heap size)

Test Suites: 5 passed, 5 total
Tests:       24 passed, 24 total
Snapshots:   0 total
Time:        2.36 s, estimated 3 s
Ran all test suites in 5 projects.

This means ts-jest was leaking memory like crazy (or typescript). Also tests are faster now

ben-pr-p commented 2 years ago

@safareli I tried to switch to swc/jest, but I'm getting some unexpected errors in my test now, as if it's compiling my code differently, and maybe in particular handling imports differently.

Would you be able to share your jest.config.js and maybe your .swcrc to help everyone else who is having this issue?

samhh commented 2 years ago

FWIW esbuild-jest is another option.

DmitriyNikolenko commented 2 years ago

Attempts to use @swc/jest, swc-node/jest and esbuild-jest for my NestJS project were ussuccessful. It's always appearing unexpected errors. If anybody can share an appropriate configuration we will be grateful.

ckcr4lyf commented 2 years ago

Same, unable to use @swc/jest or @swc-node/jest and see any improvement.

My project is a typescript one, and the tests are written in typescript as well.

What should the final test command be?

safareli commented 2 years ago

Here is the config, nothing crazy:

module.exports = {
  testTimeout: 30000,
  projects: [
    {
      transform: {
        "^.+\\.(t|j)sx?$": "@swc/jest",
      },
      testEnvironment: "node",
      setupFilesAfterEnv: [],
      testPathIgnorePatterns: ["<rootDir>/node_modules/"],
      moduleFileExtensions: ["ts", "js", "node"],
      displayName: "@big-corp/lib UNIT",
      testMatch: ["**/*.spec.ts"],
      roots: ["<rootDir>/packages/lib/test/"],
    },
    // ...
  ],
}

it just worked for me.

samhh commented 2 years ago

I just migrated a large project to esbuild-jest. Follow the README, updating your Jest config. The only other change I had to make was removing some accidental self-imports (via path mappings) which threw esbuild with an obscure error.

wil92 commented 2 years ago

Adding this to jest.config.js worked for me.

  globals: {
    'ts-jest': {
      isolatedModules: true
    }
  }

this works for me!

In my case this is the solution. The only clarification is that I was using an Angular project with several modules and projects, and because of that, I needed to go thrown all the jes.config.js files and add the isolatedModules: true.

...
   'ts-jest': {
      tsconfig: '<rootDir>/tsconfig.spec.json',
      stringifyContentPathRegex: '\\.(html|svg)$',
      isolatedModules: true
    }
....

The problem was, that because I was defining some attributes in the 'ts-jest' section, this was removing the isolatedModules that came from the main jest.config.js

And just in case, I also add to the tsconfig.json file, this configuration:

"compilerOptions": {
    ...
    "isolatedModules": true,
    ...
}
gempain commented 2 years ago

I created a repository that would reproduce the issue here. If you clone it, then run jest src/ --logHeapUsage --runInBand and you'll see things happen.

a88zach commented 2 years ago

https://github.com/facebook/jest/issues/11956#issuecomment-1148857787

This is a custom runtime that can be used by most while this issue is still open

nover commented 2 years ago

In case other's find this issue via Google, like I did, there seems to be a resolution on the horizon in jest:

I raised my memory leak problems on the jest issue : https://github.com/facebook/jest/issues/11956#issuecomment-1225474868

And now it seems like there's a PR which solves our leak problems, as we are forced to use run in band due to the test suite: https://github.com/facebook/jest/pull/13168

hanshu123321 commented 1 year ago

@amiedes thank you for sharing. I tested your solution on our project and realized that it's enough to remove the --runInBand Jest flag and change jest.config.js

  globals: {
    'ts-jest': {
      isolatedModules: true,
    },
  },

and this already greatly reduces the memory problem by 3-4 times + speed, no matter which version of node (I've tested on 16.10 and 16.13, on 16.10 it's better, but not so critical, at least for us)

P.S. try to add --expose-gc

"test": "node --expose-gc --no-compilation-cache ./node_modules/.bin/jest --logHeapUsage",

This works for me but I'm getting my successfull test cases failed due to isolatedModules: true,

Can anyone please help, it will make my day.

Draghonite commented 1 year ago

Ultimately breaking up the tests into smaller files and creating a custom testSequencer -- https://jestjs.io/docs/configuration#testsequencer-string -- did the trick for our large tests that were producing memory issues.

We used the custom sequencer to ensure the files didn't run in series as I felt that the benefit of smaller files would be lost if the tests would end up running in the same order; for this, I renamed the largest test files from "xxx.spec.ts" to "xxx.1.spec.ts" and "xxx.2.spec.ts" and in the custom sequencer, made it so that the order of the tests would be (1) files matching ".1.spec.ts", followed by (2) files that did NOT match ".[0-9].spec.ts", followed by (3) files that matched ".2.spec.ts". Not sure if this extra step -- of custom sequencing -- was necessary but the CI builds are up and running again.

rcbevans commented 1 year ago

I'm using node 16.18.0 and seeing memory climb from ~300MB for the first suite to run by ~100MB each test suite.

Running a set of 12 typescript test suites with node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage --detectOpenHandles I get output like:

 PASS  src/routes/InvitesRoutes.test.ts (28.953 s, 305 MB heap size)
 PASS  src/routes/ApiRoutes.test.ts (16.683 s, 453 MB heap size)
 PASS  src/routes/OrganizationRoutes.test.ts (565 MB heap size)
 PASS  src/routes/Organization/DomainRules.test.ts (674 MB heap size)
 PASS  src/routes/InviteRoutes.test.ts (755 MB heap size)
 PASS  src/middleware/CallerMiddleware.test.ts (843 MB heap size)
 PASS  src/routes/Organization/InvitesRoutes.test.ts (939 MB heap size)
 PASS  src/routes/OrganizationsRoutes.test.ts (1052 MB heap size)
 PASS  src/routes/UserRouters.test.ts (1165 MB heap size)
 PASS  src/middleware/EarlyAccessMiddleware.test.ts (1276 MB heap size)
 PASS  src/helpers/ObjectHelpers.test.ts (1204 MB heap size)
 PASS  src/helpers/CognitiveServiceHelpers.test.ts (1208 MB heap size)

Test Suites: 2 skipped, 12 passed, 12 of 14 total
Tests:       2 skipped, 383 passed, 385 total
Snapshots:   1 passed, 1 total
Time:        70.863 s, estimated 75 s

my jest.config is

/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
module.exports = {
  transform: {
    '^.+\\.(t|j)sx?$': ['ts-jest', { isolatedModules: true }],
  },
  testEnvironment: 'node',
  coveragePathIgnorePatterns: ['node_modules/'],
  globalSetup: '<rootDir>/src/test/globalSetup.jest.ts',
  setupFilesAfterEnv: ['<rootDir>/src/test/setup.jest.ts'],
  testPathIgnorePatterns: ['dist/', 'node_modules/'],
  transformIgnorePatterns: ['node_modules/'],
  maxWorkers: 1,
};

Without specifying isolatedModules: true the tests were consuming ~2x the heap.

Capturing a heap snapshot during the test I see that a little over half of the heap is string allocations. Many are duplicate strings of the same node_modules. From the count, it looks like each test suite might be allocating a new string of the node_module dependencies?

image

Has anyone had any success resolving this, or at least reducing the impact? I didn't try going back to 16.10 yet, I could try that.

Based on https://github.com/facebook/jest/issues/11956 it seems like there could be multiple factors at play.

rcbevans commented 1 year ago

I tried bumping the runtime to 18.12.1 instead of 16 now that's the latest LTS but I see the leak there is worse, ~120MB instead of ~<100MB per suite.

Same tests run in 70s, but there's a total heap of 1460MB by the end vs 1208MB.

rcbevans commented 1 year ago

I've spent some time capturing heap profiles and the results seem pretty revealing.

In the timeline I can see ~100+MB allocation spikes that coincide with when I see jest finish one test suite and move to the next.

image

Looking at what's in these spikes, the majority of the allocations are (as expected) strings that look like source maps.

Looking at the retainers, I see that these strings stem from prepareStackTrace, in Error(), within V8, which seems to be retaining a closure over retrieveMapHanders in source-map-support which is retrieving the source maps from the module registry.

Looking at the implementation of source-map-support I see that there is a reset function exposed, so I tried importing and calling that in afterAll hoping it might flush out those references but alas, it didn't seem to help any.

rcbevans commented 1 year ago

I wonder if jest-runner is actually monkey-patching Error.prepareStackTrace with an implementation using source-map-support and causing the issue... The only dependency I see in yarn.lock with a dependency on source-map-support is jest-runner.

rcbevans commented 1 year ago

Looks like jest-runner installs source-map-support in runTests.ts, and install does indeed patch the implementation of Error.prepareStackTrace So I think this could well be an issue with jest-runner not cleaning up properly after each test

gempain commented 1 year ago

This is very interesting. A bit late here but I'll have a look tomorrow morning because this issue has been impacting us quite a lot. I need to dive into the code you mentioned and see if patching it locally can change something.

rcbevans commented 1 year ago

Not sure if I'm onto something, but in runTest.ts:runTestInternal I see that there is a finally block which calls resetRetrieveHandlers, but during setup, install is called twice,

In the emitted runTest.js I see

runTestInternal(...) {
  // For tests
  runtime
    .requireInternalModule(require.resolve('source-map-support'))
    .install(sourcemapOptions);

  // For runtime errors
  _sourceMapSupport().default.install(sourcemapOptions);

...

try {
...
  } finally {
    await tearDownEnv();
    _sourceMapSupport().default.resetRetrieveHandlers();
  }
}

That first install invocation is never having the corresponding module resetRetrieveHandlers.

rcbevans commented 1 year ago

I hacked my local runTest.js to comment the usage of source-map-support and whilst it didn't prevent the leak, the inspector was showing strings as retained by applicationinsights diagnostic channel instead. Removing all usage of applicationinsights, they then show as being retained by timer callbacks within node-cache which is another dependency I have.

image

tearDownEnv calls runtime.teardown() which internally calls _internalModuleRegistry.clear() so perhaps clearing this map is intended to release the handles and prevent leaks.

At this points I'm not sure if I'm on the right track and there are a series of modules which aren't being cleaned up appropriately causing the leak, or perhaps I'm barking up the wrong tree and misunderstanding what the inspector is telling me.

At the core, it feels like the _cacheFS within jest-runtime isn't being gc'd properly after each test and I'm not sure if this is something that's squarely user error, or if it's something v8/jest runtime should be able to do ensure the that the memory can be appropriately reclaimed even if I don't.

rcbevans commented 1 year ago

I removed node-cache, and sure enough, nothing much seemed to change in terms of memory use, with the various module strings now being retained by the exit hooks in prisma engine-core.

I'm not sure if I'm chasing my tail here looking at shallow size. If I instead look at retained size, I see the top culprit is "closures" which include some pretty suspicious looking recursive retaining objects between app in ServerResponse and response in app(), coming from http_server and express respectively.

The closures have a total shallow size of 13,470,048 bytes, but a retained size of 235,546,160 bytes.

image
IPWright83 commented 1 year ago

@rcbevans it looks like we're currently walking down similar paths! I've currently investigating a similar leak. We've just switched a couple of packages to @swc/jest and it's equally affected so that does indeed suggest this is Jest. I'm seeing exactly the same in the heap snapshots with strings (imports) and compiled code (dependencies) growing.

What I did notice though was if I compare a before run

 PASS  Tooltip.test.tsx (33.605 s, 424 MB heap size)
 PASS  utils.test.ts (413 MB heap size)
 PASS  HeatmapTooltip.test.tsx (472 MB heap size)
 PASS  buildingHasNoSpaces.test.ts (451 MB heap size)
 PASS  test.ts (216.615 s, 531 MB heap size)
 PASS  test.ts (539 MB heap size)
 PASS  MeetingRoomPersonCountTable.test.tsx (627 MB heap size)
 PASS  utils.test.ts (6.908 s, 631 MB heap size)
 PASS  UsageOverTimeTable.test.tsx (679 MB heap size)
 FAIL  Data.test.tsx (136.964 s, 646 MB heap size)
 PASS  utils.test.ts (636 MB heap size)
 PASS  hooks.test.tsx (681 MB heap size)
 PASS  Chart.test.tsx (753 MB heap size)
 PASS  Legend.test.tsx (801 MB heap size)
 PASS  Table.test.tsx (836 MB heap size)
 PASS  OverviewSection.test.tsx (879 MB heap size)
 PASS  utils.test.ts (883 MB heap size)
 PASS  transformData.test.ts (918 MB heap size)
 PASS  Analysis.test.tsx (5.603 s, 1017 MB heap size)
 PASS  MostOccupiedTable.test.tsx (1052 MB heap size)
 PASS  Tooltip.test.tsx (1065 MB heap size)
 PASS  TooltipRow.test.tsx (1102 MB heap size)
 PASS  MostOccupiedChart.test.tsx (1156 MB heap size)
 PASS  OccupancyHeatmap.test.tsx (1203 MB heap size)
 PASS  transformSelectionToBuildings.test.ts (1226 MB heap size)
 PASS  LiveData.test.tsx (1309 MB heap size)
 PASS  utils.test.ts (1299 MB heap size)

and then look at the same run, but this time taking 4 heap snapshots:

 PASS  Data.test.tsx (36.719 s, 206 MB heap size)
 PASS  OccupancyHeatmap.test.tsx (5.713 s, 285 MB heap size)
 PASS  Analysis.test.tsx (6.123 s, 315 MB heap size)
 PASS  Table.test.tsx (5.727 s, 369 MB heap size)
 PASS  MostOccupiedChart.test.tsx (60.097 s, 377 MB heap size)
 PASS  Chart.test.tsx (5.704 s, 396 MB heap size)
 PASS  MostOccupiedTable.test.tsx (5.075 s, 434 MB heap size)
 PASS  LiveData.test.tsx (406 MB heap size)
 PASS  OverviewSection.test.tsx (5.159 s, 366 MB heap size)
 PASS  UsageOverTimeTable.test.tsx (364 MB heap size)
 PASS  MeetingRoomPersonCountTable.test.tsx (362 MB heap size)
 PASS  Tooltip.test.tsx (360 MB heap size)
 PASS  Legend.test.tsx (378 MB heap size)
 PASS  TooltipRow.test.tsx (379 MB heap size)
 PASS  test.ts (360 MB heap size)
 PASS  utils.test.ts (361 MB heap size)
 PASS  transformData.test.ts (348 MB heap size)
 PASS  utils.test.ts (340 MB heap size)
 PASS  utils.test.ts (340 MB heap size)
 PASS  test.ts (351 MB heap size)
 PASS  hooks.test.tsx (358 MB heap size)
 PASS  transformSelectionToBuildings.test.ts (63.389 s, 350 MB heap size)
 PASS  utils.test.ts (349 MB heap size)
 PASS  Tooltip.test.tsx (312 MB heap size)
 PASS  HeatmapTooltip.test.tsx (314 MB heap size)
 PASS  utils.test.ts (306 MB heap size)
 PASS  buildingHasNoSpaces.test.ts (305 MB heap size)

You can see that the memory stops growing when I take a snapshot, and doesn't seem to suffer with the same problem anymore (or at least not to the same magnitude). I've tried 2 runs and got similar results with fewer heap snapshots. Make me wonder if for some reason there's no garbage collection running normally?

cscleison commented 1 year ago

This runner only works on linux but it somehow fixed the leaks for me. Without it, a full test run would top up my laptops ram and crash the OS, and with this runner it never goes over 300mb

https://github.com/goloveychuk/fastest-jest-runner

It doesn't support windows though and I couldn't get it running on github actions either.

ChristianVaughn commented 1 year ago

Has anyone found a solution to this? I know it isnt a ts-jest issue, but it seems like the jest repo has just closed any issue about this. Even with setting "isolatedModules": true, memory usage gets high and over 1000 MB in my project. I am using --runInBand because my test suites are not able to run in parallel and on Node v14.21.1.

chrishurlburt commented 1 year ago

Can confirm this is an issue for me as well in a mid-size codebase (Node v19, Jest v29.3.1). Recently swapped ts-jest for SWC, but it did not resolve the memory leak. I have taken multiple heap snapshots and am seeing the same things documented here - vast majority of the memory being allocated to (string) as what appear to be cached modules. This appears to be a legitimate issue with Jest and perhaps not ts-jest.

As a workaround, I adapted some code I found in another related issue to batch jest execution like this:

import path from 'path'
import glob from 'glob'
import _ from 'lodash'
import spawn from 'cross-spawn'

const BATCH_SIZE = 10

const args = process.argv.slice(2)

const exec = (...args) =>
  new Promise<void>((resolve, reject) => {
    const cmd = spawn(...args, { stdio: 'inherit' })

    cmd.on('close', code => {
      if (code !== 0) reject(code)
      resolve()
    })

    cmd.on('exit', code => {
      if (code !== 0) reject(code)
      resolve()
    })
  })

const runJest = files => {
  return exec('jest', ['--runInBand', '--logHeapUsage', ...files])
}

const run = async () => {
  const startTime = Date.now()

  const errors = []

  if (args.length) {
    try {
      await runJest(args)
    } catch (e) {
      errors.push(e)
    }
  } else {
    const files = await glob.sync(`${path.join(__dirname, '../../../src')}/**/*.spec.ts`)

    const batches = _.chunk(_.shuffle(files), BATCH_SIZE).map(batch => {
      return async () => {
        try {
          await runJest(batch)
        } catch (e) {
          errors.push(e)
        }
      }
    })

    console.log(`== Running test suite in batches (${batches.length} total) ==`)

    const runBatches = async (index = 0) => {
      if (index > batches.length - 1) return

      const batch = batches[index]

      console.log(`== Running batch ${index + 1} ==`)

      try {
        await batch()

        return await runBatches(index + 1)
      } catch (e) {
        console.log('Runner failed: ', e)
      }
    }

    await runBatches()
  }

  const endTime = Date.now()

  const totalTime = endTime - startTime

  const minutes = totalTime / 60000

  console.log(`== Test suite completed in ${minutes} minutes ==`)

  return errors
}

run()
  .then(errors => {
    if (errors.length) process.exit(1)
    else process.exit(0)
  })
  .catch(err => {
    console.error(err)
    process.exit(1)
  })

Obviously, this is far from ideal (and hopefully a temporary workaround) but at least allows our team to execute the entirety of the suite without running out of memory. Maybe it can be helpful to someone else facing the same issue.

ckcr4lyf commented 1 year ago

Has anyone found a solution to this? I know it isnt a ts-jest issue, but it seems like the jest repo has just closed any issue about this. Even with setting "isolatedModules": true, memory usage gets high and over 1000 MB in my project. I am using --runInBand because my test suites are not able to run in parallel and on Node v14.21.1.

With Jest v29 you can use an option to kill the workers when memory usage reaches x MB. See here: https://jestjs.io/docs/configuration#workeridlememorylimit-numberstring

ChristianVaughn commented 1 year ago

With Jest v29 you can use an option to kill the workers when memory usage reaches x MB. See here: https://jestjs.io/docs/configuration#workeridlememorylimit-numberstring

I don't think this works when running in band. My tests are not able to be run in parallel, so there is only one worker at a time. appears that doing batch execution can temporarily solve the problem in my case at least

a88zach commented 1 year ago

This is by no way a fix, but a partial solution is to split your test into unit and integration tests so that you can run the unit test in parallel and take advantage of the new workerIdleMemoryLimit setting. Here is our jest.config.js

/** @type {import('@jest/types').Config.InitialProjectOptions} */
const defaultProjectSettings = {
  transform: {
    '^.+\\.ts$': '@swc/jest',
  },
  setupFilesAfterEnv: ['./jest.setup.js'],
  testEnvironment: 'node',
  testPathIgnorePatterns: [
    'mocks',
    '<rootDir>/node_modules/',
  ],
  runtime: '@side/jest-runtime',
};

/** @type {import('@jest/types').Config.InitialOptions} */
module.exports = {
  ...(process.env.CI === 'true' && {
    logHeapUsage: true,
    bail: true,
    forceExit: true,
    maxWorkers: 2,
  }),
  coverageReporters: ['lcov', 'json-summary'],
  collectCoverageFrom: [
    '<rootDir>/src/**',
    '!<rootDir>/src/__tests__/**',
    '!<rootDir>/src/**/__tests__/**',
  ],
  projects: [
    {
      displayName: 'Unit Tests',
      ...defaultProjectSettings,
      workerIdleMemoryLimit: '500MB',
      testMatch: [
        '**/*.spec.ts',
        '**/__tests__/**/*.spec.ts',
        '!**/__tests__/**/integration/**/*.spec.ts',
      ],
    },
    {
      displayName: 'Integration Tests',
      ...defaultProjectSettings,
      runner: 'jest-serial-runner',
      testMatch: ['**/__tests__/**/integration/**/*.spec.ts'],
    },
  ],
};

Although we are using @swc/jest as our transform, this will also work with ts-jest. With the above config, you just need to make sure all integration test go into a matching integration folder and set the runner to jest-serial-runner for that project

cscleison commented 1 year ago

I managed to fix the leaks using this combo: https://github.com/reside-eng/jest-runtime (why is needed and why the leak happens is linked in the readme)

https://github.com/magic-akari/jest_workaround why is needed here: https://github.com/swc-project/swc/discussions/5151#discussioncomment-3149154

i had to use the workaround because all my jest.spyOn started failing and using swc removed the need of using ts-jest

molaeiali commented 1 year ago

Used https://github.com/reside-eng/jest-runtime in my NestJS application without swc and it helped a lot, hope this fixes upstream someday

derN3rd commented 1 year ago

Used reside-eng/jest-runtime in my NestJS application without swc and it helped a lot, hope this fixes upstream someday

How did you got it to run?

In the readme it states to configure it in the jest.config.js with runtime, but that fails for me with

Validation Warning:

  Unknown option "runtime" with value "@side/jest-runtime" was found.
  This is probably a typing mistake. Fixing it will remove this message.

  Configuration Documentation:
  https://jestjs.io/docs/configuration.html

(jest 26.6.3)

bvobart commented 1 year ago

Can confirm that https://github.com/reside-eng/jest-runtime significantly alleviates the memory leaking problems!

I have a medium-sized TypeScript project transformed with @swc/jest containing around 500 test cases that used to take up a massive 5.2 GB of RAM to run from start to finish, but now takes "only" 2.6 GB, effectively halving the RAM usage of Jest.

@derN3rd I think you need to be using at least Jest v29 for it to work.

ygrenzinger commented 1 year ago

Same problem here. With UglifyJS module (I think it's every modules) being loaded in memory multiple times ..

marco-bertelli commented 1 year ago

up for @molaeiali same here i am using NestJs with jest and this runetime and this split the heap usage thanks for the hint

affonso-rafael commented 6 months ago

Apart from using jest-runime, did anyone have any other alternative solutions?

ben-pr-p commented 6 months ago

Apart from using jest-runime, did anyone have any other alternative solutions?

I have successfully used vitest, @swc/jest, esbuild jest, or bun's built in testing in other projects now

akashgangrade commented 3 weeks ago

adding workerIdleMemoryLimit: '1024MB', to the jest.config.js file resolved the issue for me.