{"id":21230,"library":"esbuild-jest2","title":"esbuild-jest2","description":"A Jest transformer that uses esbuild for fast compilation of TypeScript, JavaScript, JSX, and TSX files. Version 0.6.7 is the latest stable release, maintained as a fork of the abandoned esbuild-jest with active updates for Jest v29+. It integrates esbuild's blazing-fast bundler into the Jest transform pipeline, supporting custom loaders, sourcemaps, JSX factory/fragment configuration, and target/format options. Unlike ts-jest, which relies on tsc, esbuild-jest2 offers significantly faster transformation but does not enforce type checking. It requires esbuild >=0.20.1 as a peer dependency and ships TypeScript declarations.","status":"active","version":"0.6.7","language":"javascript","source_language":"en","source_url":"https://github.com/etroynov/esbuild-jest","tags":["javascript","esbuild","jest","test","typescript"],"install":[{"cmd":"npm install esbuild-jest2","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-jest2","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-jest2","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency that must be installed separately; esbuild-jest2 calls esbuild's transform API","package":"esbuild","optional":false}],"imports":[{"note":"The package exposes a named export `createTransformer`, not a default export. CommonJS users should use `const { createTransformer } = require('esbuild-jest2')`.","wrong":"import esbuildJest from 'esbuild-jest2'","symbol":"esbuild-jest2","correct":"import { createTransformer } from 'esbuild-jest2'"},{"note":"Options is a TypeScript interface and should be imported with `import type` to avoid runtime inclusion.","wrong":"import { Options } from 'esbuild-jest2'","symbol":"Options","correct":"import type { Options } from 'esbuild-jest2'"},{"note":"The package name is `esbuild-jest2`, not `esbuild-jest`. In Jest transform config, use the string `\"esbuild-jest2\"` or a tuple with options.","wrong":"\"esbuild-jest\"","symbol":"Jest config usage","correct":"\"esbuild-jest2\""}],"quickstart":{"code":"// jest.config.js\nmodule.exports = {\n  transform: {\n    '^.+\\\\.tsx?$': [\n      'esbuild-jest2',\n      {\n        sourcemap: true,\n        target: 'es2020',\n        jsxFactory: 'h',\n        jsxFragment: 'Fragment',\n        loaders: {\n          '.spec.ts': 'tsx'\n        }\n      }\n    ]\n  }\n};\n\n// example.spec.ts\ntest('esbuild transform', () => {\n  const x: number = 1;\n  expect(x + 1).toBe(2);\n});","lang":"javascript","description":"Configures Jest to transform .ts/.tsx files using esbuild-jest2 with sourcemaps, target es2020, and custom JSX settings."},"warnings":[{"fix":"Run a separate type-check step (e.g., `tsc --noEmit`) before or in parallel with tests.","message":"esbuild-jest2 does not perform type checking; test may pass despite TypeScript errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use correct string 'esbuild-jest2' in Jest transform configuration.","message":"The package name is 'esbuild-jest2', not 'esbuild-jest' - using wrong name will cause Jest to fail to find transformer.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Update esbuild to >=0.20.1: `npm install esbuild@latest`","message":"Peer dependency esbuild >=0.20.1 required; older esbuild versions may cause runtime errors or missing APIs.","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Migrate from esbuild-jest to esbuild-jest2 by changing package name and requiring esbuild >=0.20.1.","message":"The original esbuild-jest package is abandoned; esbuild-jest2 is the actively maintained fork.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Use `import type { Options } from 'esbuild-jest2'`","message":"TypeScript type imports (Options) must use `import type` to avoid runtime errors.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev esbuild-jest2` and ensure Jest config uses 'esbuild-jest2' (not 'esbuild-jest').","cause":"Package not installed or incorrectly spelled in Jest config.","error":"Cannot find module 'esbuild-jest2' from 'transform.js'"},{"fix":"Change import to `import { createTransformer } from 'esbuild-jest2'` or `const { createTransformer } = require('esbuild-jest2')`.","cause":"Using default import instead of named import for createTransformer.","error":"TypeError: (0 , esbuild_jest2.createTransformer) is not a function"},{"fix":"Set transform regex to include .tsx and .jsx (e.g., `'^.+\\\\.(ts|tsx|jsx)$'`) or ensure loader config includes 'tsx' for appropriate files.","cause":"JSX syntax encountered but esbuild loader not set correctly for .tsx or .jsx files.","error":"Error: esbuild: Expected \";\" but found \"<\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}