reside-eng / jest-runtime

Custom runtime for Jest which addresses memory issue

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@side/jest-runtime

Custom runtime for Jest which addresses memory leak when using Typescript

Build Status Coverage semantic-release Code Style

NOTE This package was intentionally left as JS instead of being converted to TS because it is only a slight modification of existing Jest code based on this PR

  1. Install SWC if you haven't already @swc/core @swc/jest

  2. Make sure to configure SWC if you haven't already:

    {
       "jsc": {
          "parser": {
             "syntax": "typescript",
             "decorators": true
          },
          "transform": {
             "legacyDecorator": true,
             "decoratorMetadata": true
          }
       }
    }
    
  3. Install custom runtime: yarn add @side/jest-runtime

  4. Use within jest.config.js:

    module.exports = {
      transform: {
        '^.+\\.ts$': '@swc/jest',
      },
      runtime: '@side/jest-runtime',
    };

Why?

We were seeing memory leaks using ts-jest with node >16.10. When investigating solutions this PR fixing the issue was noticed. Since it hasn't been merged, and we still wanted to share this logic, we created this lib.

About

Custom runtime for Jest which addresses memory issue

License:MIT License


Languages

Language:JavaScript 97.5%Language:Shell 2.5%