Перетворення коду
Jest виконує код у вашому проєкті як JavaScript. Проте, якщо ви використовуєте синтаксис, який не підтримується Node "з коробки" (наприклад, JSX, TypeScript, шаблони Vue), то слід перетворити цей код у звичайний JavaScript, подібний до того, що використовується для браузерів.
Jest supports this via the transform configuration option.
Перетворювач — це модуль, що надає метод для перетворення вихідних файлів. Наприклад, якби вам було потрібно використати нові можливості мови в ваших модулях або тестах, які ще не підтримуються Node, ви б могли під'єднати препроцесор коду, який перекладе його з майбутньої версії JavaScript на поточну.
Jest закешує результат перетворення та перевірятиме його дійсність на основі декількох факторів, таких, як джерело файлу, що трансформується, та зміна конфігурації.
Вбудовані опції
Jest ships with one transformer out of the box – babel-jest. It will load your project's Babel configuration and transform any file matching the /\.[jt]sx?$/ RegExp (in other words, any .js, .jsx, .ts or .tsx file). In addition, babel-jest will inject the Babel plugin necessary for mock hoisting talked about in ES Module mocking.
Remember to include the default babel-jest transformer explicitly, if you wish to use it alongside with additional code preprocessors:
"transform": {
"\\.[jt]sx?$": "babel-jest",
"\\.css$": "some-css-transformer",
}