jest-esbuild

raw JSON →
0.4.0 verified Mon Apr 27 auth: no javascript maintenance

A Jest transformer that uses esbuild to compile TypeScript/JavaScript files during test execution. Current stable version is 0.4.0, released in 2021 with no recent updates (maintenance mode). It provides fast compilation by leveraging esbuild's speed, significantly faster than ts-jest. It requires Jest 27+ and supports ESM/CJS via esbuild's loader. Key differentiator: minimal configuration and speed compared to ts-jest or babel-jest. Not recommended for projects needing type checking, as esbuild strips types without validation.

error TypeError: (0 , _jestEsbuild.createTransformer) is not a function
cause Incorrect import of named export; using default import for createTransformer.
fix
Use require('jest-esbuild').createTransformer or import { createTransformer } from 'jest-esbuild'.
error Error: jest-esbuild: Expected a jest version >= 27
cause Jest version < 27 is used.
fix
Upgrade Jest to 27 or later.
error SyntaxError: Unexpected token <
cause JSX files not transformed; missing loader configuration.
fix
Add options: { loaders: { '.tsx': 'tsx' } } in transform array.
gotcha jest-esbuild does not type-check; it only transforms code. Type errors will be ignored, potentially masking bugs.
fix Run tsc separately or add type checking step in CI.
deprecated jest-esbuild is no longer actively maintained. Consider alternatives like @swc/jest or esbuild-jest.
fix Migrate to @swc/jest (recommended) or esbuild-jest.
gotcha Options for esbuild are not well documented; configuration errors can cause silent failures.
fix Refer to esbuild API docs; use known options like 'loader', 'jsxFactory', 'target'.
breaking Version 0.4.0 changed from default export to named export? (Unconfirmed breaking change anecdotal)
fix If using createTransformer, verify import path; recommended: use string transformer in config.
npm install jest-esbuild
yarn add jest-esbuild
pnpm add jest-esbuild

Basic setup to transform .ts/.tsx files with jest-esbuild; test file written in TypeScript.

// Install: npm install -D jest-esbuild
// jest.config.js
module.exports = {
  transform: {
    '^.+\\.tsx?$': 'jest-esbuild'
  }
};

// Example test (sum.test.ts)
const sum = (a: number, b: number) => a + b;
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});