Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module caching memory leak #1967

Open
willsoto opened this issue Sep 18, 2020 · 90 comments
Open

Module caching memory leak #1967

willsoto opened this issue Sep 18, 2020 · 90 comments
Labels
Help Wanted Performance Severe performance issue

Comments

@willsoto
Copy link

willsoto commented Sep 18, 2020

🐛 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 [email protected]: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

> [email protected] 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

@willsoto willsoto added Bug Report Needs Repo Need a minimium repository to reproduce the problem Needs Triage labels Sep 18, 2020
@ahnpnl ahnpnl added Help Wanted Performance Severe performance issue and removed Bug Report Needs Repo Need a minimium repository to reproduce the problem Needs Triage labels Sep 19, 2020
@willsoto
Copy link
Author

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.

@willsoto
Copy link
Author

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

@ahnpnl
Copy link
Collaborator

ahnpnl commented Sep 22, 2020

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.

This has been mentioned in the doc https://kulshekhar.github.io/ts-jest/user/config/isolatedModules

The reason for that is: when specifying include: [], TypeScript LanguageService will do lazy fetch modules which will reduce overhead I/O at start up.

Feel free to pick up this one @willsoto :)

@willsoto
Copy link
Author

@ahnpnl can you point me to any possible places to start looking?

@ahnpnl
Copy link
Collaborator

ahnpnl commented Sep 22, 2020

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.

@EugeneHerasymchuk
Copy link

What would you suggest in such case for now, until investigation is happening?
Downgrade to lower version? but then there is no solution right now for projects that started upgrading to typescript v4 ?

@ahnpnl
Copy link
Collaborator

ahnpnl commented Sep 23, 2020

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.

@willsoto
Copy link
Author

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

@ahnpnl
Copy link
Collaborator

ahnpnl commented Sep 23, 2020

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 ?

@willsoto
Copy link
Author

@ahnpnl You can see in the last screenshot that we are running with --runInBand. All of our tests have been using the following flags for consistency: --no-cache --runInBand --logHeapUsage

@ahnpnl
Copy link
Collaborator

ahnpnl commented Sep 23, 2020

I bet my cents on jest 😅

@willsoto
Copy link
Author

Reported with Jest here. I think this issue should remain open though in case others come looking, if that is okay?

@ahnpnl
Copy link
Collaborator

ahnpnl commented Sep 23, 2020

Sure I think that is a good idea 👍

daniel-ac-martin added a commit to daniel-ac-martin/NotGovUK that referenced this issue Nov 19, 2020
This will prevent a huge memory leak at the expense of type checking in
our tests. Once there is a better fix we should consider reverting this.

See: kulshekhar/ts-jest#1967
See: https://kulshekhar.github.io/ts-jest/user/config/isolatedModules
karrui added a commit to opengovsg/FormSG that referenced this issue Dec 3, 2020
`isolatedModules` being set to true will fix a memory leak in ts-jest. However, type checking will not be performed whilst running tests (will still have type checking when writing tests).

Revert after the memory leak is fixed.
See kulshekhar/ts-jest#1967
See: https://kulshekhar.github.io/ts-jest/user/config/isolatedModules
karrui added a commit to opengovsg/FormSG that referenced this issue Dec 7, 2020
* feat: manually set new mongo db server per test setup

instead of relying on @shelf/mongodb

* fix(temp): use isolatedModules in ts-jest

`isolatedModules` being set to true will fix a memory leak in ts-jest. However, type checking will not be performed whilst running tests (will still have type checking when writing tests).

Revert after the memory leak is fixed.
See kulshekhar/ts-jest#1967
See: https://kulshekhar.github.io/ts-jest/user/config/isolatedModules

* ref: use mongodb-memory-server-core instead of mongodb-memory-server

* chore(tests): inline mongo memory server generation

* chore: remove unused jest-environment-node dependency
@rcbevans
Copy link

rcbevans commented Nov 16, 2022

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 jestjs/jest#11956 it seems like there could be multiple factors at play.

@rcbevans
Copy link

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

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

@rcbevans
Copy link

rcbevans commented Nov 16, 2022

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

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

image

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

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

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

@rcbevans
Copy link

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

@rcbevans
Copy link

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

@gempain
Copy link

gempain commented Nov 16, 2022

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

@rcbevans
Copy link

rcbevans commented Nov 17, 2022

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

In the emitted runTest.js I see

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

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

...

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

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

@rcbevans
Copy link

rcbevans commented Nov 17, 2022

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

image

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

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

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

@rcbevans
Copy link

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

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

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

image

@IPWright83
Copy link

IPWright83 commented Nov 23, 2022

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

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

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

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

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

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

@cscleison
Copy link

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

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

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

@ChristianVaughn
Copy link

ChristianVaughn commented Dec 5, 2022

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

@chrishurlburt
Copy link

chrishurlburt commented Dec 5, 2022

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

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

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

const BATCH_SIZE = 10

const args = process.argv.slice(2)

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

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

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

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

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

  const errors = []

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

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

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

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

      const batch = batches[index]

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

      try {
        await batch()

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

    await runBatches()
  }

  const endTime = Date.now()

  const totalTime = endTime - startTime

  const minutes = totalTime / 60000

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

  return errors
}

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

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

@ckcr4lyf
Copy link

ckcr4lyf commented Dec 6, 2022

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

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

@ChristianVaughn
Copy link

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

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

@a88zach
Copy link

a88zach commented Dec 6, 2022

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

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

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

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

@cscleison
Copy link

cscleison commented Dec 12, 2022

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:
swc-project/swc#5151 (comment)

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

@molaeiali
Copy link

molaeiali commented Jan 23, 2023

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

@derN3rd
Copy link

derN3rd commented Jan 24, 2023

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

How did you got it to run?

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

Validation Warning:

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

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

(jest 26.6.3)

@bvobart
Copy link

bvobart commented Feb 17, 2023

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

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

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

@ygrenzinger
Copy link

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

@marco-bertelli
Copy link

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

@affonso-rafael
Copy link

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

@ben-pr-p
Copy link

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

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

@akashgangrade
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help Wanted Performance Severe performance issue
Projects
None yet
Development

No branches or pull requests