ts-jest: Module caching memory leak

šŸ› 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

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Reactions: 89
  • Comments: 89 (1 by maintainers)

Commits related to this issue

Most upvoted comments

Cross posting from https://github.com/facebook/jest/issues/11956#issuecomment-994914988

We’ve been recently hit by this bug (or combination of them) in several services of our stack. It’s been an inconvenience for use since once the heap size exceeded the 2GB available by GitHub Actions machines, our CI/CD process was failing 100% of the time.

I believe the ā€œmodules accumulating in the heapā€ bug has been present in Jest for some time, but that in combination with the changes in Node from v16.10 to v16.11 has made it much more severe. We’re certain that bug exists in Jest, as we’ve managed to replicate it with a ā€œdummy repoā€, as several other people have stated.

The fact that the ticket created in Node JS was closed as a WONTFIX is a bit worrying. I currently lack the knowledge to judge the discussions which happened there, but if that wasn’t a bug at the end probably the solution falls on the Jest side.

After trying to extract as much information from the different GitHub issues that have been created in Jest, TS-Jest and Node, and trying several approaches, the only path for us was to downgrade back to Node v16.10.

These are some of the statistics we gathered in the process:

Node @jest/core isolatedModules runInBand Comp. cache Initial H Final H H ratio Time
17.2.0 27.3.1 true true true 133 MB 2236 MB ~33 MB 144 s
16.13.0 27.3.1 true true true 131 MB 2220 MB ~30 MB 130 s
16.13.0 27.3.1 true true false 126 MB 1712 MB ~25 MB 113 s
16.13.0 27.3.1 false true true 287 MB 2393 MB ~30 MB 140 s
16.10.0 27.3.1 true true true 123 MB 790 MB ~10 MB 77 s
16.10.0 27.3.1 true true false 118 MB 1676 MB ~25 MB 110 s
16.10.0 27.3.1 false true true 280 MB 952 MB ~10 MB 90 s

Some explanations about the columns:

  • Node: version of NodeJS
  • @jest/core: version of the Jest core
  • isolatedModules: the setting defined via jest.config.json
  • runInBand: specified by the --runInBand Jest flag
  • Comp. cache: specified by the NodeJS --no-compilation-cache flag
  • Initial H: heap size after running the first test
  • Final H: heap size after running the last test
  • H ratio: heap size increase after each test
  • Time: time the whole suite needed to run

The most relevant tickets related to this matter:

We hope this issue is given the importance it deserves, as keeping the Node version pinned to v16.10 or relying on bigger CI machines to compensate this is a poor strategy for the future.

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

Thank you. To be honest I’m a little bit surprised that this issue haven’t been resolved/looked at over the last 2 years (That’s when Jest 24 was released). It makes ts-jest 24 or newer unusable for bigger projects. @ahnpnl Is there any plan to resolve it?

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

I ran into this one today. looking at the heap shows me lots of compiled modules being retained. image

@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",

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

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

I bet my cents on jest šŸ˜…

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.

@willsoto I don’t think this is an issue with jest the more I look into it. I think it is ts-jest that is the issue. The reason being is if I switch my transformers from ā€˜ts-jest’ to ā€˜babel-jest’ my tests pass everytime. The memory never goes past 300mb on the suite.

To me this sounds like ts-jest is either responsible for the memory leak or the something in the transformer is crawling and transforming modules in a destructive manner

For what it’s worth, same worsening here on Node v16, we had to abandon jest (temporarily?) to avoid OOM errors in our CI.

Actually @marcoreni , seems this is due to Node.JS V8 engine memory leak in 16.11+

See: https://github.com/facebook/jest/issues/11956 & https://github.com/nodejs/node/issues/40014

Sure I think that is a good idea šŸ‘

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.

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

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.

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.

@Simon-Hayden-iteratec it is not just a node16 issue, just that Node v16.11+ there is a memory leak in V8 engine which ā€œfurther contributesā€ and makes it seem ā€œworse thanā€ node14, which is not the fault of ts-jest/jest

However even in node14 and node v16.0<v16.10, the module caching problem remains

@arekzaluski my solution was to switch to Mocha/Chai.

The workaround is following the doc https://kulshekhar.github.io/ts-jest/user/config/isolatedModules

If using isolatedModules: true, you should combine with tsc for type checking.

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

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.

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

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

@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.

+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.

Adding my two cents, we are running on Node 14 and see pretty much the exact same issue @broekema41 describes. So its not only a Node 16 issue then?

We are only at the beginning of a larger project and are running only 25 tests right now and already experience around 700MB RAM being used.

image

At least some of the RAM is also being kept by @jest/transform

tmp

Edit: Not sure if it helps, but here are some errors our CI pipeline currently throws:

  ā— Test suite failed to run

    ENOMEM: not enough memory, read

      at Runtime.readFile (../../node_modules/jest-runtime/build/index.js:2404:21)
      at Object.<anonymous> (../../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts:1:1)
  ā— Test suite failed to run

    ENOMEM: not enough memory, write

      at NgJestTransformer.TsJestTransformer.getCacheKey (../../node_modules/ts-jest/dist/ts-jest-transformer.js:198:22)
      at ScriptTransformer._getCacheKey (../../node_modules/@jest/transform/build/ScriptTransformer.js:280:41)
      at ScriptTransformer._getFileCachePath (../../node_modules/@jest/transform/build/ScriptTransformer.js:351:27)
      at ScriptTransformer.transformSource (../../node_modules/@jest/transform/build/ScriptTransformer.js:588:32)
      at ScriptTransformer._transformAndBuildScript (../../node_modules/@jest/transform/build/ScriptTransformer.js:758:40)
      at ScriptTransformer.transform (../../node_modules/@jest/transform/build/ScriptTransformer.js:815:19)
  ā— Test suite failed to run

    jest: failed to cache transform results in: /tmp/jest_2ne/jest-transform-cache-dc78a43d3cfa428010ccba88e31c3c72-5bcdb64e20894c4318a9b7ff46ffc22d/60/testsetup_606c8b9ec8a8bfd206ea84678bbe5fc2.map
    Failure message: ENOMEM: not enough memory, write

      at writeFileSync (../../node_modules/write-file-atomic/index.js:215:10)
      at writeCacheFile (../../node_modules/@jest/transform/build/ScriptTransformer.js:998:33)
      at ScriptTransformer._buildTransformResult (../../node_modules/@jest/transform/build/ScriptTransformer.js:570:7)
      at ScriptTransformer.transformSource (../../node_modules/@jest/transform/build/ScriptTransformer.js:621:17)
      at ScriptTransformer._transformAndBuildScript (../../node_modules/@jest/transform/build/ScriptTransformer.js:758:40)
      at ScriptTransformer.transform (../../node_modules/@jest/transform/build/ScriptTransformer.js:815:19)

It seems this issue is worse in Node v16. Switched project today from Node v14 (Heap usage at end -> ~1600MB), Node v16 hits 2GB before the end…

@willsoto Have you been able to find a solution for this bug? It’s impossible to update jest an ts-jest above version 23 as from 24+ the memory heap goes crazy. For my project even to 12 GB+

If transpileModule still produces memory leak, I also think the problem is more in Jest or TypeScript side. I think the issue might be more on Jest side.

Out of curiosity, have you tried with jest CLI flag runInBand @willsoto ? If yes, does it produce the similar leak behavior ?

@ahnpnl That does not resolve the problem, it simply reduces growth but does not mitigate it entirely.


After looking into this all day yesterday, we managed to reduce the issue to jest + typescript. You can see a minimal reproduction here where we introduced a minimal transformer that just compiles the TS via transpileModule. The memory leak still exists.

image (1)

Our working assumption right now is that there is some negative interaction between Jest and TypeScript. Given Jest’s history of memory leaks, we assume the fault is on Jest’s side but are still working on a minimal reproduction.

Give this information, do you have any other thoughts on this @ahnpnl ?

An interesting observation as I was exploring this was whether or not I was using a custom tsConfig. I’m not sure if this has a meaningful impact on smaller apps, but for large apps the difference is substantial.

When I point ts-jest at a custom tsconfig with an include: [] (an idea I got from this repo), base memory usage goes down significantly but still climbs consistent with a memory leak. When I use whatever the default is, base memory usage increases significantly.

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

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

@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?

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.

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.

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.

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.

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.

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

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

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,
    ...
}

For what it’s worth, same worsening here on Node v16, we had to abandon jest (temporarily?) to avoid OOM errors in our CI.

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

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

this works for me!

Currently no unfortunately 😃 for isolatedModules: true nothing much to do for it. For isolatedModules: false, there might be a way.

Any progress on this issue?

Please check https://github.com/facebook/jest/issues/10550 because it relies on that. Besides, you can also look at the current codebase of ts-jest to see any suspicious points, here is the part using TypeScript Compiler API https://github.com/kulshekhar/ts-jest/blob/master/src/compiler/ts-compiler.ts#L72

You can look into this one https://github.com/kulshekhar/ts-jest/blob/master/src/compiler/language-service.ts#L175 . This is the place where I/O overhead appears.

@ahnpnl I am more than willing to work on this issue since this is a big problem once there are hundreds of source files. We’ve seen heap usage climb to 1.5gb in some cases. If you can point me to possible culprits that would be great.