ts-jest transform cache causes memory leak when using multiple processes in CI
cangarugula opened this issue · comments
This issue is discussed here: kulshekhar/ts-jest#1967
When running tests with multiple processes (maxWorkers > 1), ts-jest caches transformed results multiple times, resulting in a memory leak issue. The failure occurs in a CI pipeline with these errors:
The tests that fail due to memory issues do not stay consistent when running with workers.
While these errors don't show locally, when logging heap usage, you can see that each test has an increased heap size. Here is a sample of heap size logs:
Hey @cangarugula, Would be curious to know, if have you tried with jest CLI flag runInBand ??
Can we have something where we can transpile from TSX to js before running the test, then this would too speed up the test cases execution.
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)
globals: {
'ts-jest': {
isolatedModules: true,
},
},